From f9a89f158a9624d27fec314315a8b7f7dcb28af1 Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期二, 27 十二月 2022 15:34:30 +0800
Subject: [PATCH] fix: 查询取消脱敏

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

diff --git a/src/main/java/com/example/jz/controller/UserController.java b/src/main/java/com/example/jz/controller/UserController.java
index eb3c7ec..73e162d 100644
--- a/src/main/java/com/example/jz/controller/UserController.java
+++ b/src/main/java/com/example/jz/controller/UserController.java
@@ -1,23 +1,24 @@
 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;
 import com.baomidou.mybatisplus.extension.api.ApiController;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.example.jz.modle.R;
-import com.example.jz.modle.entity.User;
-import com.example.jz.service.UserService;
+import com.example.jz.modle.dto.ManagerDto;
+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.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.io.Serializable;
 import java.util.Date;
-import java.util.List;
+import java.util.function.Consumer;
 
 /**
  * 鐢ㄦ埛琛�(User)琛ㄦ帶鍒跺眰
@@ -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) {
@@ -47,9 +57,16 @@
     @ApiOperation("鍒嗛〉鏌ヨ鎵�鏈夋暟鎹�")
     public R selectAll(Page<User> page, User user) {
         return R.ok(this.userService.page(page, new QueryWrapper<User>()
-                        .like(StringUtils.isNotBlank(user.getNickName()),"nick_name",user.getNickName())
+                .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())
                 .or()
-                .like(StringUtils.isNotBlank(user.getRealName()),"real_name",user.getRealName())
+                .like(StringUtils.isNotBlank(user.getRealName()) && StringUtils.isBlank(user.getNickName()), "real_name", user.getRealName())
                 .orderByDesc("ctime")));
     }
 
@@ -80,32 +97,68 @@
     /**
      * 鍒犻櫎鏁版嵁
      *
-     * @param idList 涓婚敭缁撳悎
+     * @param id 涓婚敭缁撳悎
      * @return 鍒犻櫎缁撴灉
      */
     @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));
     }
 
-    /**
-     * 娣诲姞绠$悊鍛�
-     *
-     * @param id       鐢ㄦ埛id
-     * @param username 绠$悊鍛樼敤鎴峰悕
-     * @param password 绠$悊鍛樺瘑鐮�
-     * @return
-     */
-    @PostMapping("/addAdmin/{id}")
-    @ApiOperation("娣诲姞绠$悊鍛�")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "password", value = "瀵嗙爜", required = true, dataType = "String"),
-            @ApiImplicitParam(name = "username", value = "鐢ㄦ埛鍚�", required = true, dataType = "String")
-    })
-    public R addAdmin(@PathVariable Serializable id, String username, String password) {
-        User user = userService.getById(id).setLoginUsername(username).setLoginPassword(Md5Utils.md5(password)).setRole(1);
-        return R.ok(userService.updateById(user));
+
+    @PostMapping("/manager")
+    @ApiOperation("娣诲姞绠$悊")
+    public R addManager(@RequestBody ManagerDto managerDto) {
+        User user = new User().setRealName(managerDto.getRealName())
+                .setLoginUsername(managerDto.getRealName())
+                .setUserMobile(managerDto.getPhoneNumber())
+                .setLoginPassword(Md5Utils.md5(managerDto.getPassword()))
+                .setRole(1)
+                .setCtime(new Date());
+        return R.ok(userService.save(user));
+    }
+
+    @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>()
+                .eq("role", 1)
+                .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())
+                .or()
+                .like(StringUtils.isNotBlank(user.getRealName()) && StringUtils.isBlank(user.getUserMobile()), "real_name", user.getRealName())
+                .orderByDesc("ctime")));
+    }
+
+    @PutMapping("/manager")
+    @ApiOperation("淇敼绠$悊鍛樺瘑鐮�")
+    public R modify(@RequestBody ManagerDto managerDto) {
+        User user = new User().setLoginPassword(Md5Utils.md5(managerDto.getPassword()));
+        return R.ok(userService.update(user, new UpdateWrapper<User>().eq("user_mobile", managerDto.getPhoneNumber()).eq("real_name", managerDto.getRealName())));
     }
 
     @PostMapping("/add")

--
Gitblit v1.8.0