feat:用户管理user和name支持模糊查询,根据角色权限进行查询功能修改

This commit is contained in:
qiaoqinzheng 2023-05-18 14:40:03 +08:00
parent db4017fcc4
commit aa01541a11
3 changed files with 32 additions and 11 deletions

View File

@ -116,7 +116,8 @@ public class SysUserController {
@RequestMapping(value = "/list", method = RequestMethod.GET)
public Result<IPage<SysUser>> queryPageList(SysUser user,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,HttpServletRequest req) {
QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap());
// QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap());
LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
//------------------------------------------------------------------------------------------------
//是否开启系统管理模块的多租户数据隔离SAAS多租户模式
if (MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL) {
@ -124,9 +125,9 @@ public class SysUserController {
//update-begin---author:wangshuai ---date:20221223 for[QQYUN-3371]租户逻辑改造改成关系表------------
List<String> userIds = userTenantService.getUserIdsByTenantId(Integer.valueOf(tenantId));
if (oConvertUtils.listIsNotEmpty(userIds)) {
queryWrapper.in("id", userIds);
queryWrapper.in(SysUser::getId, userIds);
}else{
queryWrapper.eq("id", "通过租户查询不到任何用户");
queryWrapper.eq(SysUser::getId, "通过租户查询不到任何用户");
}
//update-end---author:wangshuai ---date:20221223 for[QQYUN-3371]租户逻辑改造改成关系表------------
}
@ -146,7 +147,7 @@ public class SysUserController {
@RequestMapping(value = "/listAll", method = RequestMethod.GET)
public Result<IPage<SysUser>> queryAllPageList(SysUser user, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
QueryWrapper<SysUser> queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap());
LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
return sysUserService.queryPageList(req, queryWrapper, pageSize, pageNo);
}

View File

@ -41,7 +41,7 @@ public interface ISysUserService extends IService<SysUser> {
* @param pageNo
* @return
*/
Result<IPage<SysUser>> queryPageList(HttpServletRequest req, QueryWrapper<SysUser> queryWrapper, Integer pageSize, Integer pageNo);
Result<IPage<SysUser>> queryPageList(HttpServletRequest req, LambdaQueryWrapper<SysUser> queryWrapper, Integer pageSize, Integer pageNo);
/**
* 重置密码

View File

@ -102,7 +102,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
private String defaultPassword;
@Override
public Result<IPage<SysUser>> queryPageList(HttpServletRequest req, QueryWrapper<SysUser> queryWrapper, Integer pageSize, Integer pageNo) {
public Result<IPage<SysUser>> queryPageList(HttpServletRequest req, LambdaQueryWrapper<SysUser> queryWrapper, Integer pageSize, Integer pageNo) {
Result<IPage<SysUser>> result = new Result<IPage<SysUser>>();
//update-begin-Author:wangshuai--Date:20211119--for:vue3通过部门id查询用户通过code查询id
//部门ID
@ -114,7 +114,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
List<String> userIds = list.stream().map(SysUserDepart::getUserId).collect(Collectors.toList());
//update-begin---author:wangshuai ---date:20220322 for[issues/I4XTYB]查询用户时当部门id 下没有分配用户时接口报错------------
if (oConvertUtils.listIsNotEmpty(userIds)) {
queryWrapper.in("id", userIds);
queryWrapper.in(SysUser::getId, userIds);
} else {
return Result.OK();
}
@ -124,7 +124,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
//用户ID
String code = req.getParameter("code");
if (oConvertUtils.isNotEmpty(code)) {
queryWrapper.in("id", Arrays.asList(code.split(",")));
queryWrapper.in(SysUser::getId, Arrays.asList(code.split(",")));
pageSize = code.split(",").length;
}
//update-end-Author:wangshuai--Date:20211119--for:vue3通过部门id查询用户通过code查询id
@ -132,12 +132,21 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
//update-begin-author:taoyan--date:20220104--for: JTC-372 用户冻结问题 online授权用户组件选择用户都能看到被冻结的用户
String status = req.getParameter("status");
if (oConvertUtils.isNotEmpty(status)) {
queryWrapper.eq("status", Integer.parseInt(status));
queryWrapper.eq(SysUser::getStatus, Integer.parseInt(status));
}
//update-end-author:taoyan--date:20220104--for: JTC-372 用户冻结问题 online授权用户组件选择用户都能看到被冻结的用户
String username = req.getParameter("username");
if (oConvertUtils.isNotEmpty(username)) {
queryWrapper.like(SysUser::getUsername, username);
}
String realname = req.getParameter("realname");
if (oConvertUtils.isNotEmpty(realname)) {
queryWrapper.like(SysUser::getRealname, realname);
}
//TODO 外部模拟登陆临时账号列表不显示
queryWrapper.ne("username", "_reserve_user_external");
queryWrapper.ne(SysUser::getUsername, "_reserve_user_external");
Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
IPage<SysUser> pageList = this.page(page, queryWrapper);
@ -160,7 +169,18 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
item.setRoles(userRoles);
});
}
String role = req.getParameter("role");
List<SysUser> sysUsers = new ArrayList<>();
if (oConvertUtils.isNotEmpty(role)){
pageList.getRecords().forEach(item->{
List<SysRole> sysRoles = item.getRoles();
List<String> roleIds = sysRoles.stream().map(SysRole::getId).collect(Collectors.toList());
if (roleIds.contains(role)){
sysUsers.add(item);
}
});
pageList.setRecords(sysUsers);
}
result.setSuccess(true);
result.setResult(pageList);
return result;