From 68b004959442457bc99544c1cbd06cb7550442b2 Mon Sep 17 00:00:00 2001
From: mg <maokecheng@163.com>
Date: 星期五, 30 九月 2022 16:34:28 +0800
Subject: [PATCH] 添加用户批量启用/禁用,删除。

---
 ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java      |   29 +++++++++++++-
 ycl-common/src/main/java/com/ycl/service/user/UmsAdminService.java               |   13 ++++++
 ycl-common/src/main/java/com/ycl/service/user/UmsAdminCacheService.java          |    6 +++
 ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminCacheServiceImpl.java |   10 +++++
 ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java         |   31 +++++++++++++++
 ycl-common/src/main/java/com/ycl/entity/user/UmsAdmin.java                       |   12 +++--
 ycl-common/src/main/java/com/ycl/vo/user/UserVO.java                             |    4 ++
 7 files changed, 97 insertions(+), 8 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java b/ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java
index 700ec04..3137839 100644
--- a/ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java
+++ b/ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java
@@ -15,6 +15,8 @@
 import com.ycl.utils.redis.RedisKey;
 import com.ycl.vo.user.UserVO;
 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.beans.factory.annotation.Value;
@@ -206,4 +208,33 @@
         List<UmsRole> roleList = adminService.getRoleList(adminId);
         return CommonResult.success(roleList);
     }
+
+    @ApiOperation("鎵归噺鍒犻櫎鐢ㄦ埛")
+    @RequestMapping(value = "/deleteBatch", method = RequestMethod.POST)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "ids", value = "鐢ㄦ埛Ids",required = true, dataType = "Array")
+    })
+    @ResponseBody
+    public CommonResult deleteBatch(@RequestParam("ids") List<Long> ids) {
+        boolean success = adminService.deleteBatch(ids);
+        if (success) {
+            return CommonResult.success(null);
+        }
+        return CommonResult.failed();
+    }
+
+    @ApiOperation("鎵归噺淇敼鐘舵��")
+    @RequestMapping(value = "/updateStatusBatch", method = RequestMethod.POST)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "ids", value = "鐢ㄦ埛Ids",required = true, dataType = "Array"),
+            @ApiImplicitParam(name = "status", value = "鐘舵��0->绂佺敤锛�1->鍚敤",required = true, dataType = "Integer")
+    })
+    @ResponseBody
+    public CommonResult updateStatusBatch(@RequestParam("ids") List<Long> ids, @RequestParam(value = "status") Integer status) {
+        boolean success = adminService.updateStatusBatch(ids, status);
+        if (success) {
+            return CommonResult.success(null);
+        }
+        return CommonResult.failed();
+    }
 }
diff --git a/ycl-common/src/main/java/com/ycl/entity/user/UmsAdmin.java b/ycl-common/src/main/java/com/ycl/entity/user/UmsAdmin.java
index 6847959..3283364 100644
--- a/ycl-common/src/main/java/com/ycl/entity/user/UmsAdmin.java
+++ b/ycl-common/src/main/java/com/ycl/entity/user/UmsAdmin.java
@@ -6,8 +6,7 @@
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
+import lombok.*;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -24,6 +23,9 @@
 @EqualsAndHashCode(callSuper = false)
 @TableName("ums_admin")
 @ApiModel(value = "UmsAdmin瀵硅薄", description = "鍚庡彴鐢ㄦ埛琛�")
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
 public class UmsAdmin implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -64,10 +66,10 @@
     private String ipAddress;
 
     @ApiModelProperty(value = "鏄惁鍏氬憳")
-    private byte isDy;
+    private Byte isDy;
 
     @ApiModelProperty(value = "鎬у埆")
-    private byte sex;
+    private Byte sex;
 
     @ApiModelProperty(value = "鑱屽姟")
     private String jobTitle;
@@ -80,7 +82,7 @@
     private String departName;
 
     @ApiModelProperty(value = "鐢ㄦ埛绫诲瀷")
-    private byte userType;
+    private Byte userType;
 
     @ApiModelProperty(value = "搴ф満/鍒嗘満")
     private String zj;
diff --git a/ycl-common/src/main/java/com/ycl/service/user/UmsAdminCacheService.java b/ycl-common/src/main/java/com/ycl/service/user/UmsAdminCacheService.java
index 37a26a1..fbcf0b5 100644
--- a/ycl-common/src/main/java/com/ycl/service/user/UmsAdminCacheService.java
+++ b/ycl-common/src/main/java/com/ycl/service/user/UmsAdminCacheService.java
@@ -56,4 +56,10 @@
      * 璁剧疆鍚庡彴鍚庡彴鐢ㄦ埛璧勬簮鍒楄〃
      */
     void setResourceList(Long adminId, List<UmsResource> resourceList);
+
+    /**
+     * 鎵归噺鍒犻櫎缂撳瓨鐢ㄦ埛
+     * @param userIds
+     */
+    void delBatchAdmin(List<Long> userIds);
 }
diff --git a/ycl-common/src/main/java/com/ycl/service/user/UmsAdminService.java b/ycl-common/src/main/java/com/ycl/service/user/UmsAdminService.java
index 765ab4e..19d8da5 100644
--- a/ycl-common/src/main/java/com/ycl/service/user/UmsAdminService.java
+++ b/ycl-common/src/main/java/com/ycl/service/user/UmsAdminService.java
@@ -95,4 +95,17 @@
      * @return
      */
     IPage<UmsAdmin> pageUser(UserVO.PageUserVO pageUserVO);
+
+    /**
+     * 鎵归噺鍒犻櫎鐢ㄦ埛
+     */
+    boolean deleteBatch(List<Long> ids);
+
+    /**
+     * 鎵归噺淇敼鐘舵��
+     *
+     * @param ids
+     * @param status
+     */
+    boolean updateStatusBatch(List<Long> ids, Integer status);
 }
diff --git a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminCacheServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminCacheServiceImpl.java
index 63fc7fe..39a9145 100644
--- a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminCacheServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminCacheServiceImpl.java
@@ -119,4 +119,14 @@
         String key = REDIS_DATABASE + ":" + REDIS_KEY_RESOURCE_LIST + ":" + adminId;
         redisService.set(key, JSON.toJSONString(resourceList), REDIS_EXPIRE);
     }
+
+    @Override
+    public void delBatchAdmin(List<Long> userIds) {
+        List<UmsAdmin> users = umsAdminService.listByIds(userIds);
+        if (CollUtil.isNotEmpty(users)) {
+            String keyPrefix = REDIS_DATABASE + ":" + REDIS_KEY_ADMIN + ":";
+            List<String> keys = users.stream().map(umsAdmin->keyPrefix+umsAdmin.getUsername()).collect(Collectors.toList());
+            redisService.del(keys);
+        }
+    }
 }
diff --git a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
index e30bfab..0774bac 100644
--- a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
@@ -306,14 +306,17 @@
         int current = pageUserVO.getCurrent();
         Page<UmsAdmin> page = new Page<>(current, pageSize);
         LambdaQueryWrapper<UmsAdmin> queryWrapper = new LambdaQueryWrapper<>();
+
+        if (StringUtils.isNotBlank(pageUserVO.getKeyword())) {
+            queryWrapper.like(UmsAdmin::getUsername, pageUserVO.getKeyword())
+                    .or().like(UmsAdmin::getNickName, pageUserVO.getKeyword())
+                    .or().like(UmsAdmin::getMobile, pageUserVO.getKeyword());
+        }
         if (StringUtils.isNotBlank(pageUserVO.getJobTitle())) {
             queryWrapper.eq(UmsAdmin::getJobTitle, pageUserVO.getJobTitle());
         }
         if (PojoUtils.Vo.isUsefulSearchParam(pageUserVO.getUserType())) {
             queryWrapper.eq(UmsAdmin::getUserType, pageUserVO.getUserType());
-        }
-        if (StringUtils.isNotBlank(pageUserVO.getMobile())) {
-            queryWrapper.like(UmsAdmin::getMobile, pageUserVO.getMobile());
         }
         if (PojoUtils.Vo.isUsefulSearchParam(pageUserVO.getDepartmentId())) {
             queryWrapper.eq(UmsAdmin::getDepartmentId, pageUserVO.getDepartmentId());
@@ -330,4 +333,24 @@
         }
         return page1;
     }
+
+    @Override
+    public boolean deleteBatch(List<Long> ids) {
+        boolean success = removeByIds(ids);
+        getCacheService().delBatchAdmin(ids);
+        return success;
+    }
+
+    @Override
+    public boolean updateStatusBatch(List<Long> ids, Integer status) {
+        List<UmsAdmin> users = new ArrayList<>();
+        for (Long id : ids) {
+            UmsAdmin umsAdmin =  UmsAdmin.builder().
+                    id(id).status(status).build();
+            users.add(umsAdmin);
+        }
+        updateBatchById(users,users.size());
+        getCacheService().delBatchAdmin(ids);
+        return true;
+    }
 }
diff --git a/ycl-common/src/main/java/com/ycl/vo/user/UserVO.java b/ycl-common/src/main/java/com/ycl/vo/user/UserVO.java
index 47ebda7..e75ae4c 100644
--- a/ycl-common/src/main/java/com/ycl/vo/user/UserVO.java
+++ b/ycl-common/src/main/java/com/ycl/vo/user/UserVO.java
@@ -27,6 +27,10 @@
 
         @ApiModelProperty(value = "鐢佃瘽")
         private String mobile;
+
+        @ApiModelProperty(value = "鍏抽敭瀛�")
+        private String keyword;
+
     }
 
 }

--
Gitblit v1.8.0