增加企业用户接口查询,无权限控制的用户分页列表

main
zhaokai 2026-01-12 15:33:17 +08:00
parent 280bb5aa4f
commit 646ee4785b
8 changed files with 118 additions and 0 deletions

View File

@ -71,6 +71,12 @@ public class UserController {
return userService.listPage(qry);
}
@ApiOperation("其他页面的用户分页,不需要权限控制")
@PostMapping("/PageByNopermission")
public PageResponse<UserCO> PageByNopermission(@RequestBody UserPageQry qry) {
return userService.PageByNopermission(qry);
}
@ApiOperation("所有数据")
@GetMapping("/listAll")
public MultiResponse<UserCO> listAll(UserQryCmd userQryCmd) {

View File

@ -288,5 +288,15 @@ public class UserQueryExe {
return SingleResponse.of(userCoConvertor.converDOToCO(userDO));
}
public PageResponse<UserCO> PageByNopermission(UserPageQry userPageQry) {
Map<String, Object> params = PageQueryHelper.toHashMap(userPageQry);
UserE userE = new UserE();
userE.dataProcessingRights(AuthContext.getTenantId(), params);
PageResponse<UserDO> pageResponse = userRepository.PageByNopermission(params);
List<UserCO> examCenterCOS = userCoConvertor.converDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
}

View File

@ -223,5 +223,10 @@ public class UserServiceImpl implements UserServiceI {
public SingleResponse<UserCO> getUserIdByPhone(GetUserIdByPhoneCmd getUserIdByPhoneCmd) {
return userQueryExe.getUserIdByPhone(getUserIdByPhoneCmd);
}
@Override
public PageResponse<UserCO> PageByNopermission(UserPageQry qry) {
return userQueryExe.PageByNopermission(qry);
}
}

View File

@ -86,5 +86,7 @@ public interface UserServiceI {
CaptchaCO generateCaptcha();
SingleResponse<UserCO> getUserIdByPhone(GetUserIdByPhoneCmd getUserIdByPhoneCmd);
PageResponse<UserCO> PageByNopermission(UserPageQry qry);
}

View File

@ -43,5 +43,7 @@ public interface UserMapper extends BaseMapper<UserDO> {
void deletedUserByPhone(String phone);
UserDO getUserIdByPhone(String phone);
IPage<UserDO> PageByNopermission(IPage<UserDO> iPage, @Param("ew") QueryWrapper<UserDO> queryWrapper);
}

View File

@ -94,5 +94,7 @@ public interface UserRepository extends BaseRepository<UserDO> {
void deletedUserByPhone(String phone);
UserDO getUserIdByPhone(@NotEmpty(message = "手机号不能为空") String phone);
PageResponse<UserDO> PageByNopermission(Map<String, Object> params);
}

View File

@ -122,6 +122,27 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public PageResponse<UserDO> PageByNopermission(Map<String, Object> params) {
if (params.get("inDepartmentId") != null) {
Long[] inDepartmentIds = (Long[]) params.get("inDepartmentId");
if (inDepartmentIds == null || inDepartmentIds.length == 0) {
params.remove("inDepartmentId");
}
}
IPage<UserDO> iPage = new Query<UserDO>().getPage(params);
QueryWrapper<UserDO> 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<UserDO> result = userMapper.PageByNopermission(iPage, queryWrapper);
return PageHelper.pageToResponse(result, result.getRecords());
}
@DubboReference
private ZcloudImgFilesFacade zcloudImgFilesFacade;

View File

@ -170,6 +170,76 @@
left join post p on p.id = u.post_id
${ew.customSqlSegment}
</select>
<select id="PageByNopermission" resultType="com.zcloud.basic.info.persistence.dataobject.UserDO">
select
d.name as department_name,
p.post_name,
u.id,
u.user_id,
u.username,
u.name,
u.corpinfo_id,
u.main_corp_flag,
u.user_type,
u.department_id,
u.post_id,
u.role_id,
u.email,
u.phone,
u.personnel_type,
u.personnel_type_name,
u.nation,
u.nation_name,
u.user_id_card,
u.user_avatar_url,
u.current_address,
u.location_address,
u.rank_level,
u.rank_level_name,
u.sort,
u.version,
u.create_id,
u.create_name,
u.create_time,
u.update_id,
u.update_name,
u.update_time,
u.remarks,
u.delete_enum,
u.tenant_id,
u.org_id,
u.env,
u.department_leader_flag,
u.deputy_leader_flag,
u.cultural_level,
u.cultural_level_name,
u.marital_status,
u.marital_status_name,
u.political_affiliation,
u.political_affiliation_name,
u.employment_flag,
u.flow_flag,
CASE
WHEN LENGTH(FROM_BASE64(u.user_id_card)) > 0
AND MOD(SUBSTRING(FROM_BASE64(u.user_id_card), 17, 1), 2) = 1 THEN
'男'
WHEN LENGTH(FROM_BASE64(u.user_id_card)) > 0
AND MOD(SUBSTRING(FROM_BASE64(u.user_id_card), 17, 1), 2) = 0 THEN
'女'
END AS sex,
CASE
WHEN LENGTH(FROM_BASE64(u.user_id_card)) > 0 THEN
(YEAR(NOW()) - SUBSTRING(FROM_BASE64(u.user_id_card), 7, 4)) ELSE NULL
END AS age,
cast(substring(FROM_BASE64(u.user_id_card), 7, 8) AS DATE) AS birthday
from user u
left join corp_info c on c.id = u.corpinfo_id
left join department d on d.id = u.department_id
left join post p on p.id = u.post_id
${ew.customSqlSegment}
</select>
<select id="getInfoById" resultType="com.zcloud.basic.info.persistence.dataobject.UserDO">
select