mg
2022-09-30 68b004959442457bc99544c1cbd06cb7550442b2
添加用户批量启用/禁用,删除。
7个文件已修改
105 ■■■■■ 已修改文件
ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/entity/user/UmsAdmin.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/service/user/UmsAdminCacheService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/service/user/UmsAdminService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminCacheServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/vo/user/UserVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }
}