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