From 0261d270c9f9b5282d923e585c307aee44b0612c Mon Sep 17 00:00:00 2001
From: baizonghao <1719256278@qq.com>
Date: 星期四, 23 三月 2023 14:23:39 +0800
Subject: [PATCH] 删除警员,对应案件

---
 src/main/java/com/example/jz/controller/UserController.java |   93 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 78 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/example/jz/controller/UserController.java b/src/main/java/com/example/jz/controller/UserController.java
index d5a65b6..e88dbff 100644
--- a/src/main/java/com/example/jz/controller/UserController.java
+++ b/src/main/java/com/example/jz/controller/UserController.java
@@ -1,5 +1,6 @@
 package com.example.jz.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -7,8 +8,8 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.example.jz.modle.R;
 import com.example.jz.modle.dto.ManagerDto;
-import com.example.jz.modle.entity.User;
-import com.example.jz.service.UserService;
+import com.example.jz.modle.entity.*;
+import com.example.jz.service.*;
 import com.example.jz.utils.Md5Utils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -16,7 +17,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import java.io.Serializable;
-import java.util.Date;
+import java.util.*;
 import java.util.function.Consumer;
 
 /**
@@ -30,6 +31,15 @@
 @Api(tags = "鐢ㄦ埛绠$悊")
 public class UserController extends ApiController {
     private UserService userService;
+
+    @Autowired
+    ReportService reportService;
+    @Autowired
+    GroupUserService groupUserService;
+    @Autowired
+    MessageService messageService;
+    @Autowired
+    CauseService causeService;
 
     @Autowired
     public void setUserService(UserService userService) {
@@ -48,15 +58,15 @@
     public R selectAll(Page<User> page, User user) {
         return R.ok(this.userService.page(page, new QueryWrapper<User>()
                 .eq("role", 0)
-                        .and(StringUtils.isNotBlank(user.getNickName()) && StringUtils.isNotBlank(user.getRealName()), new Consumer<QueryWrapper<User>>() {
-                            @Override
-                            public void accept(QueryWrapper<User> userQueryWrapper) {
-                                userQueryWrapper.like("real_name", user.getRealName()).or().like("nick_name", user.getNickName());
-                            }
-                        })
-                .like(StringUtils.isNotBlank(user.getNickName())&&StringUtils.isBlank(user.getRealName()), "nick_name", user.getNickName())
+                .and(StringUtils.isNotBlank(user.getNickName()) && StringUtils.isNotBlank(user.getRealName()), new Consumer<QueryWrapper<User>>() {
+                    @Override
+                    public void accept(QueryWrapper<User> userQueryWrapper) {
+                        userQueryWrapper.like("real_name", user.getRealName()).or().like("nick_name", user.getNickName());
+                    }
+                })
+                .like(StringUtils.isNotBlank(user.getNickName()) && StringUtils.isBlank(user.getRealName()), "nick_name", user.getNickName())
                 .or()
-                .like(StringUtils.isNotBlank(user.getRealName())&&StringUtils.isBlank(user.getNickName()), "real_name", user.getRealName())
+                .like(StringUtils.isNotBlank(user.getRealName()) && StringUtils.isBlank(user.getNickName()), "real_name", user.getRealName())
                 .orderByDesc("ctime")));
     }
 
@@ -93,9 +103,32 @@
     @DeleteMapping
     @ApiOperation("鍒犻櫎鐢ㄦ埛鏁版嵁")
     public R delete(@RequestParam("id") Integer id) {
+        reportService
+                .list(new LambdaQueryWrapper<Report>().eq(Report::getUserId, id))
+                .stream()
+                .forEach(item -> {
+                    groupUserService.remove(new LambdaQueryWrapper<GroupUser>().eq(GroupUser::getUserId, item.getId()));
+                    messageService.remove(new LambdaQueryWrapper<Message>().eq(Message::getUserId, item.getId()));
+                });
+        reportService.remove(new LambdaQueryWrapper<Report>().eq(Report::getUserId, id));
         return R.ok(this.userService.removeById(id));
     }
 
+
+    @GetMapping("/status")
+    @ApiOperation("绂佺敤/鍚敤鐢ㄦ埛")
+    public R updateStatus(Integer id, Integer status) {
+        int newStatus = 0;
+        if (status != null) {
+            if (status == 1) {
+                newStatus = 0;
+            } else {
+                newStatus = 1;
+            }
+        }
+        userService.update(new UpdateWrapper<User>().set("status", newStatus).eq("id", id));
+        return R.ok();
+    }
 
     @PostMapping("/manager")
     @ApiOperation("娣诲姞绠$悊")
@@ -112,23 +145,39 @@
     @DeleteMapping("/manager")
     @ApiOperation("鍒犻櫎绠$悊")
     public R removeManager(@RequestParam Integer id) {
+        List<Cause> list = causeService.list(new LambdaQueryWrapper<Cause>().eq(Cause::getUserId, id));
+        if (!Objects.isNull(list) && list.size() != 0){
+            ArrayList<Map> maps = new ArrayList<>();
+            for (Cause cause : list) {
+                HashMap<String, String> map = new HashMap<>();
+                map.put("caseName", cause.getName());
+                map.put("caseNumber", cause.getNumber());
+                maps.add(map);
+            }
+            return R.failed(maps, "璇ヨ鍛樿繕鏈夋浠跺叧鑱�,鑻ヨ鍒犻櫎璇峰厛淇敼瀵瑰簲妗堜欢鍏宠仈鐨勮鍛�");
+        }
+//        causeService.list(new LambdaQueryWrapper<Cause>().eq(Cause::getUserId, id)).forEach(item -> {
+//            causeService.deleteCause(item.getId());
+//        });
+//        userService.remove(new LambdaQueryWrapper<User>().eq(User::getId, id));
+        messageService.remove(new LambdaQueryWrapper<Message>().eq(Message::getCopId, id));
         return R.ok(userService.removeById(id));
     }
 
     @GetMapping("/manager")
     @ApiOperation("鍒嗛〉鏌ヨ鎵�鏈夋暟鎹�")
     public R selectManager(Page<User> page, User user) {
-        return R.ok( userService.page(page, new QueryWrapper<User>()
+        return R.ok(userService.page(page, new QueryWrapper<User>()
                 .eq("role", 1)
-                .and( StringUtils.isNotBlank(user.getUserMobile()) && StringUtils.isNotBlank(user.getRealName()) ,new Consumer<QueryWrapper<User>>() {
+                .and(StringUtils.isNotBlank(user.getUserMobile()) && StringUtils.isNotBlank(user.getRealName()), new Consumer<QueryWrapper<User>>() {
                     @Override
                     public void accept(QueryWrapper<User> userQueryWrapper) {
                         userQueryWrapper.like("real_name", user.getRealName()).or().like("user_mobile", user.getUserMobile());
                     }
                 })
-                .like(StringUtils.isNotBlank(user.getUserMobile())&&StringUtils.isBlank(user.getRealName()), "user_mobile", user.getUserMobile())
+                .like(StringUtils.isNotBlank(user.getUserMobile()) && StringUtils.isBlank(user.getRealName()), "user_mobile", user.getUserMobile())
                 .or()
-                .like(StringUtils.isNotBlank(user.getRealName())&&StringUtils.isBlank(user.getUserMobile()), "real_name", user.getRealName())
+                .like(StringUtils.isNotBlank(user.getRealName()) && StringUtils.isBlank(user.getUserMobile()), "real_name", user.getRealName())
                 .orderByDesc("ctime")));
     }
 
@@ -161,4 +210,18 @@
         user.setLoginPassword(Md5Utils.md5(user.getUserIdcard().substring(user.getUserIdcard().length() - 6)));
         return R.ok(userService.updateById(user));
     }
+
+    /**
+     * 杞负绠$悊鍛�
+     *
+     * @param id 鐢ㄦ埛id
+     * @return
+     */
+    @GetMapping("/toManager/{id}")
+    @ApiOperation("杞负绠$悊鍛�")
+    public R toManager(@PathVariable Serializable id) {
+        User user = userService.getById(id);
+        user.setRole(1);
+        return R.ok(userService.updateById(user));
+    }
 }

--
Gitblit v1.8.0