|
@@ -1540,6 +1540,61 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public Page<SysUser> userSelectorByRole(SysUserSelectorUserParam sysUserSelectorUserParam) {
|
|
|
|
+ // 查询角色
|
|
|
|
+ LambdaQueryWrapper<SysRole> roleQW = new LambdaQueryWrapper<>();
|
|
|
|
+ roleQW.select(SysRole::getId);
|
|
|
|
+ roleQW.eq(SysRole::getName, sysUserSelectorUserParam.getRoleName());
|
|
|
|
+ List<String> sysRoleIdList = CollStreamUtil.toList(sysRoleService.list(roleQW), SysRole::getId);
|
|
|
|
+
|
|
|
|
+ LambdaQueryWrapper<SysUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ // 只查询部分字段
|
|
|
|
+ lambdaQueryWrapper.select(SysUser::getId, SysUser::getOrgId, SysUser::getPositionId, SysUser::getAccount,
|
|
|
|
+ SysUser::getName, SysUser::getSortCode, SysUser::getGender, SysUser::getEntryDate);
|
|
|
|
+ // 判断角色
|
|
|
|
+ if(null != sysRoleIdList && 0 < sysRoleIdList.size()){
|
|
|
|
+ QueryWrapper<SysUser> queryWrapper = new QueryWrapper<SysUser>().checkSqlInjection();
|
|
|
|
+ if (ObjectUtil.isNotEmpty(sysUserSelectorUserParam.getSearchKey())) {
|
|
|
|
+ queryWrapper.like("a.name", sysUserSelectorUserParam.getSearchKey());
|
|
|
|
+ }
|
|
|
|
+ if (ObjectUtil.isNotEmpty(sysUserSelectorUserParam.getOrgId())) {
|
|
|
|
+ // 如果组织id不为空,则查询该组织及其子组织下的所有人
|
|
|
|
+ List<String> childOrgIdList = CollStreamUtil.toList(sysOrgService.getChildListById(sysOrgService
|
|
|
|
+ .getAllOrgList(), sysUserSelectorUserParam.getOrgId(), true), SysOrg::getId);
|
|
|
|
+ if (ObjectUtil.isNotEmpty(childOrgIdList)) {
|
|
|
|
+ queryWrapper.in("a.org_id", childOrgIdList);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (ObjectUtil.isNotEmpty(sysRoleIdList)) {
|
|
|
|
+ queryWrapper.in("sro.ID", sysRoleIdList);
|
|
|
|
+ }
|
|
|
|
+ queryWrapper.eq("a.DELETE_FLAG", "NOT_DELETE");
|
|
|
|
+ return this.baseMapper.page(CommonPageRequest.defaultPage(), queryWrapper);
|
|
|
|
+ }else{
|
|
|
|
+ // 角色不存在,默认查询全部人员
|
|
|
|
+ if(ObjectUtil.isAllEmpty(sysUserSelectorUserParam.getOrgId(), sysUserSelectorUserParam.getSearchKey())) {
|
|
|
|
+ return this.getAllUserSelectorList();
|
|
|
|
+ } else {
|
|
|
|
+ if (ObjectUtil.isNotEmpty(sysUserSelectorUserParam.getOrgId())) {
|
|
|
|
+ // 如果组织id不为空,则查询该组织及其子组织下的所有人
|
|
|
|
+ List<String> childOrgIdList = CollStreamUtil.toList(sysOrgService.getChildListById(sysOrgService
|
|
|
|
+ .getAllOrgList(), sysUserSelectorUserParam.getOrgId(), true), SysOrg::getId);
|
|
|
|
+ if (ObjectUtil.isNotEmpty(childOrgIdList)) {
|
|
|
|
+ lambdaQueryWrapper.in(SysUser::getOrgId, childOrgIdList);
|
|
|
|
+ } else {
|
|
|
|
+ return new Page<>();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (ObjectUtil.isNotEmpty(sysUserSelectorUserParam.getSearchKey())) {
|
|
|
|
+ lambdaQueryWrapper.like(SysUser::getName, sysUserSelectorUserParam.getSearchKey());
|
|
|
|
+ }
|
|
|
|
+ lambdaQueryWrapper.orderByAsc(SysUser::getSortCode);
|
|
|
|
+ return this.page(CommonPageRequest.defaultPage(), lambdaQueryWrapper);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public Page<SysUserMessageResult> loginMessagePage(SysUserMessagePageParam sysUserMessagePageParam) {
|
|
public Page<SysUserMessageResult> loginMessagePage(SysUserMessagePageParam sysUserMessagePageParam) {
|
|
Page<SysUserMessageResult> resultPage = new Page<>();
|
|
Page<SysUserMessageResult> resultPage = new Page<>();
|