diff --git a/web-adapter/src/main/java/com/zcloud/basic/info/web/UserController.java b/web-adapter/src/main/java/com/zcloud/basic/info/web/UserController.java index 22637371..9c29757f 100644 --- a/web-adapter/src/main/java/com/zcloud/basic/info/web/UserController.java +++ b/web-adapter/src/main/java/com/zcloud/basic/info/web/UserController.java @@ -71,6 +71,12 @@ public class UserController { return userService.listPage(qry); } + @ApiOperation("其他页面的用户分页,不需要权限控制") + @PostMapping("/PageByNopermission") + public PageResponse PageByNopermission(@RequestBody UserPageQry qry) { + return userService.PageByNopermission(qry); + } + @ApiOperation("所有数据") @GetMapping("/listAll") public MultiResponse listAll(UserQryCmd userQryCmd) { diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/query/UserQueryExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/query/UserQueryExe.java index 3c6b896d..5b0d50a1 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/query/UserQueryExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/query/UserQueryExe.java @@ -288,5 +288,15 @@ public class UserQueryExe { return SingleResponse.of(userCoConvertor.converDOToCO(userDO)); } + + public PageResponse PageByNopermission(UserPageQry userPageQry) { + Map params = PageQueryHelper.toHashMap(userPageQry); + UserE userE = new UserE(); + userE.dataProcessingRights(AuthContext.getTenantId(), params); + PageResponse pageResponse = userRepository.PageByNopermission(params); + List examCenterCOS = userCoConvertor.converDOsToCOs(pageResponse.getData()); + + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } } diff --git a/web-app/src/main/java/com/zcloud/basic/info/service/UserServiceImpl.java b/web-app/src/main/java/com/zcloud/basic/info/service/UserServiceImpl.java index b04c1ebb..89099e34 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/service/UserServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/basic/info/service/UserServiceImpl.java @@ -223,5 +223,10 @@ public class UserServiceImpl implements UserServiceI { public SingleResponse getUserIdByPhone(GetUserIdByPhoneCmd getUserIdByPhoneCmd) { return userQueryExe.getUserIdByPhone(getUserIdByPhoneCmd); } + + @Override + public PageResponse PageByNopermission(UserPageQry qry) { + return userQueryExe.PageByNopermission(qry); + } } diff --git a/web-client/src/main/java/com/zcloud/basic/info/api/UserServiceI.java b/web-client/src/main/java/com/zcloud/basic/info/api/UserServiceI.java index 0c099920..a1f08a39 100644 --- a/web-client/src/main/java/com/zcloud/basic/info/api/UserServiceI.java +++ b/web-client/src/main/java/com/zcloud/basic/info/api/UserServiceI.java @@ -86,5 +86,7 @@ public interface UserServiceI { CaptchaCO generateCaptcha(); SingleResponse getUserIdByPhone(GetUserIdByPhoneCmd getUserIdByPhoneCmd); + + PageResponse PageByNopermission(UserPageQry qry); } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/UserMapper.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/UserMapper.java index 9230b088..ab1d7fa7 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/UserMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/UserMapper.java @@ -43,5 +43,7 @@ public interface UserMapper extends BaseMapper { void deletedUserByPhone(String phone); UserDO getUserIdByPhone(String phone); + + IPage PageByNopermission(IPage iPage, @Param("ew") QueryWrapper queryWrapper); } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserRepository.java index a7089655..d4ab6864 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserRepository.java @@ -94,5 +94,7 @@ public interface UserRepository extends BaseRepository { void deletedUserByPhone(String phone); UserDO getUserIdByPhone(@NotEmpty(message = "手机号不能为空") String phone); + + PageResponse PageByNopermission(Map params); } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java index bae4c78c..c5cfdebb 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java @@ -122,6 +122,27 @@ public class UserRepositoryImpl extends BaseRepositoryImpl i return PageHelper.pageToResponse(result, result.getRecords()); } + @Override + public PageResponse PageByNopermission(Map params) { + if (params.get("inDepartmentId") != null) { + Long[] inDepartmentIds = (Long[]) params.get("inDepartmentId"); + if (inDepartmentIds == null || inDepartmentIds.length == 0) { + params.remove("inDepartmentId"); + } + } + IPage iPage = new Query().getPage(params); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params, "u."); + queryWrapper.eq("u.delete_enum", "FALSE"); + if (!ObjectUtils.isEmpty(params.get("noMain"))) { + queryWrapper.apply("u.id != u.corpinfo_id"); + } + + queryWrapper.orderByAsc("u.sort").orderByDesc("u.create_time"); + IPage result = userMapper.PageByNopermission(iPage, queryWrapper); + return PageHelper.pageToResponse(result, result.getRecords()); + } + @DubboReference private ZcloudImgFilesFacade zcloudImgFilesFacade; diff --git a/web-infrastructure/src/main/resources/mapper/UserMapper.xml b/web-infrastructure/src/main/resources/mapper/UserMapper.xml index 5040e6d4..7fd725fb 100644 --- a/web-infrastructure/src/main/resources/mapper/UserMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/UserMapper.xml @@ -170,6 +170,76 @@ left join post p on p.id = u.post_id ${ew.customSqlSegment} +