add /sys/user/pageDecrypt 取消脱敏的用户分页查询
This commit is contained in:
+63
@@ -181,7 +181,70 @@ public class SysUserController {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取用户列表数据
|
||||||
|
* @param user
|
||||||
|
* @param pageNo
|
||||||
|
* @param pageSize
|
||||||
|
* @param req
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiOperationSupport(order = 1)
|
||||||
|
@ApiOperation(value="用户列表查询", notes="用户列表查询")
|
||||||
|
@PermissionData(pageComponent = "system/UserList")
|
||||||
|
@GetMapping("/pageDecrypt")
|
||||||
|
public Result<IPage<SysUser>> queryPageListDecrypt(SysUser user,
|
||||||
|
@RequestParam(name="departId", required = false) String departId,
|
||||||
|
@RequestParam(name="roleId", required = false) String roleId,
|
||||||
|
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||||
|
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) {
|
||||||
|
Result<IPage<SysUser>> result = new Result<>();
|
||||||
|
|
||||||
|
// 处理手机号和邮箱,进行对应加密
|
||||||
|
Map<String, String[]> parameterMap = req.getParameterMap();
|
||||||
|
String groupId = req.getParameter("groupId");
|
||||||
|
this.sysUserService.encryptReqMapData(parameterMap);
|
||||||
|
user.setEmail(this.sysUserService.proceedEmailEncrypt(user.getEmail()));
|
||||||
|
user.setPhone(this.sysUserService.proceedPhoneEncrypt(user.getPhone()));
|
||||||
|
|
||||||
|
QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(user, parameterMap);
|
||||||
|
|
||||||
|
Page<SysUser> page = new Page<>(pageNo, pageSize);
|
||||||
|
List<String> subDepIds = null;
|
||||||
|
if (StrUtil.isNotEmpty(departId)){
|
||||||
|
subDepIds = sysDepartService.getSubDepIdsByDepId(departId);
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(user.getRealnameOrUsername())){
|
||||||
|
queryWrapper.and(aw -> aw.like("realname", user.getRealnameOrUsername())
|
||||||
|
.or().like("username", user.getRealnameOrUsername()));
|
||||||
|
}
|
||||||
|
IPage<SysUser> pageList;
|
||||||
|
try {
|
||||||
|
pageList = sysUserService.queryPageDecrypt(page, subDepIds, roleId, groupId, queryWrapper);
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error("操作异常:" + e.getMessage());
|
||||||
|
return Result.error(MessageUtils.getMessage(ResultCommon.ERROR));
|
||||||
|
}
|
||||||
|
//批量查询用户的所属部门
|
||||||
|
//step.1 先拿到全部的 useids
|
||||||
|
List<String> userIds = pageList.getRecords().stream().map(SysUser::getId).collect(Collectors.toList());
|
||||||
|
if(userIds!=null && !userIds.isEmpty()){
|
||||||
|
//step.2 通过 useids,一次性查询用户的所属部门名字
|
||||||
|
Map<String,String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
|
||||||
|
//step.3 通过 useids,一次性查询用户的角色名字
|
||||||
|
Map<String,String> useRoleNames = sysUserService.getRoleNamesByUserIds(userIds);
|
||||||
|
//step.4 遍历赋值
|
||||||
|
pageList.getRecords().forEach(item->{
|
||||||
|
item.setOrgCodeTxt(useDepNames.get(item.getId()));
|
||||||
|
item.setRoleTxt(useRoleNames.get(item.getId()));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
result.setSuccess(true);
|
||||||
|
result.setResult(pageList);
|
||||||
|
SysUserController.log.info(pageList.toString());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 获取用户列表数据
|
* 获取用户列表数据
|
||||||
* @param user
|
* @param user
|
||||||
|
|||||||
@@ -37,6 +37,13 @@ public interface ISysUserService extends IService<SysUser> {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
IPage<SysUser> queryPage(Page<SysUser> page, List<String> subDepIds, String roleId, String groupId, QueryWrapper<SysUser> queryWrapper);
|
IPage<SysUser> queryPage(Page<SysUser> page, List<String> subDepIds, String roleId, String groupId, QueryWrapper<SysUser> queryWrapper);
|
||||||
|
/**
|
||||||
|
* 分页查询用户,可支持组织机构检索
|
||||||
|
* @param page
|
||||||
|
* @param queryWrapper
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
IPage<SysUser> queryPageDecrypt(Page<SysUser> page, List<String> subDepIds, String roleId, String groupId, QueryWrapper<SysUser> queryWrapper);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询用户id
|
* 查询用户id
|
||||||
|
|||||||
+11
@@ -90,6 +90,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
return sysUserIPage;
|
return sysUserIPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IPage<SysUser> queryPageDecrypt(Page<SysUser> page, List<String> subDepIds, String roleId, String groupId, QueryWrapper<SysUser> queryWrapper) {
|
||||||
|
IPage<SysUser> sysUserIPage = this.userMapper.queryPage(page, subDepIds, roleId, groupId, queryWrapper);
|
||||||
|
sysUserIPage.getRecords().forEach(user -> {
|
||||||
|
// 对手机号、邮箱进行解密处理
|
||||||
|
user.setEmail(proceedEmailDecrypt(user.getEmail()));
|
||||||
|
user.setPhone(proceedPhoneDecrypt(user.getPhone()));
|
||||||
|
});
|
||||||
|
return sysUserIPage;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> queryList(List<String> subDepIds, String roleId, String groupId, QueryWrapper<SysUser> queryWrapper){
|
public List<String> queryList(List<String> subDepIds, String roleId, String groupId, QueryWrapper<SysUser> queryWrapper){
|
||||||
return this.userMapper.queryList(subDepIds, roleId, groupId, queryWrapper);
|
return this.userMapper.queryList(subDepIds, roleId, groupId, queryWrapper);
|
||||||
|
|||||||
Reference in New Issue
Block a user