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