From aa01541a1143ede73b6438aa72c30a6aa262884b Mon Sep 17 00:00:00 2001 From: qiaoqinzheng Date: Thu, 18 May 2023 14:40:03 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E7=94=A8=E6=88=B7=E7=AE=A1?= =?UTF-8?q?=E7=90=86user=E5=92=8Cname=E6=94=AF=E6=8C=81=E6=A8=A1=E7=B3=8A?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=EF=BC=8C=E6=A0=B9=E6=8D=AE=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E6=9D=83=E9=99=90=E8=BF=9B=E8=A1=8C=E6=9F=A5=E8=AF=A2=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/SysUserController.java | 9 +++--- .../system/service/ISysUserService.java | 2 +- .../service/impl/SysUserServiceImpl.java | 32 +++++++++++++++---- 3 files changed, 32 insertions(+), 11 deletions(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java index 532e5c22..5cfc0fbc 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java @@ -116,7 +116,8 @@ public class SysUserController { @RequestMapping(value = "/list", method = RequestMethod.GET) public Result> queryPageList(SysUser user,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap()); +// QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap()); + LambdaQueryWrapper 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 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> queryAllPageList(SysUser user, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(user, req.getParameterMap()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); return sysUserService.queryPageList(req, queryWrapper, pageSize, pageNo); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java index 7e4d6acb..34a427f2 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java @@ -41,7 +41,7 @@ public interface ISysUserService extends IService { * @param pageNo * @return */ - Result> queryPageList(HttpServletRequest req, QueryWrapper queryWrapper, Integer pageSize, Integer pageNo); + Result> queryPageList(HttpServletRequest req, LambdaQueryWrapper queryWrapper, Integer pageSize, Integer pageNo); /** * 重置密码 diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java index ae9c6e13..1f186baf 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java @@ -102,7 +102,7 @@ public class SysUserServiceImpl extends ServiceImpl impl private String defaultPassword; @Override - public Result> queryPageList(HttpServletRequest req, QueryWrapper queryWrapper, Integer pageSize, Integer pageNo) { + public Result> queryPageList(HttpServletRequest req, LambdaQueryWrapper queryWrapper, Integer pageSize, Integer pageNo) { Result> result = new Result>(); //update-begin-Author:wangshuai--Date:20211119--for:【vue3】通过部门id查询用户,通过code查询id //部门ID @@ -114,7 +114,7 @@ public class SysUserServiceImpl extends ServiceImpl impl List 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 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 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 page = new Page(pageNo, pageSize); IPage pageList = this.page(page, queryWrapper); @@ -160,7 +169,18 @@ public class SysUserServiceImpl extends ServiceImpl impl item.setRoles(userRoles); }); } - + String role = req.getParameter("role"); + List sysUsers = new ArrayList<>(); + if (oConvertUtils.isNotEmpty(role)){ + pageList.getRecords().forEach(item->{ + List sysRoles = item.getRoles(); + List 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;