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(); } } 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; 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); } 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); } 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); } } } 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; } } 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; } }