From 25945cec9a4d25ad09d7ccb73b1c42c11aa3e8a4 Mon Sep 17 00:00:00 2001
From: baizonghao <1719256278@qq.com>
Date: 星期三, 22 三月 2023 16:57:21 +0800
Subject: [PATCH] 2222

---
 src/main/java/com/example/jz/controller/UserController.java |   79 ++++++++++++++++++++++++++++++++-------
 1 files changed, 65 insertions(+), 14 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..7093075 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;
@@ -32,6 +33,15 @@
     private UserService userService;
 
     @Autowired
+    ReportService reportService;
+    @Autowired
+    GroupUserService groupUserService;
+    @Autowired
+    MessageService messageService;
+    @Autowired
+    CauseService causeService;
+
+    @Autowired
     public void setUserService(UserService userService) {
         this.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,27 @@
     @DeleteMapping("/manager")
     @ApiOperation("鍒犻櫎绠$悊")
     public R removeManager(@RequestParam Integer id) {
+        causeService.list(new LambdaQueryWrapper<Cause>().eq(Cause::getUserId, id)).forEach(item -> {
+            causeService.deleteCause(item.getId());
+        });
+        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 +198,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