fix:78288

This commit is contained in:
梁琦涛
2023-11-08 10:03:50 +08:00
parent e1125af142
commit 4403d2a767
5 changed files with 64 additions and 59 deletions
@@ -326,16 +326,6 @@ public interface ISysUserService extends IService<SysUser> {
List<SysUser> getUserListByDepIds(List<String> departIds);
/**
* 内部工作组模糊搜索获取满足条件的用户id集合,全为空的话就返回空
* @param realname 姓名
* @param username 工号
* @param userRoleName 角色
* @param userPostName 职位
* @return
*/
List<String> LawsWorkingGroupUserSearch(String realname, String username, String userRoleName, String userPostName);
/**
* 根据username"登陆账号"返回"用户名(工号)"
*/
@@ -625,49 +625,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return userMapper.getUserListByDepIds(departIds);
}
/**
* 内部工作组模糊搜索获取满足条件的用户id集合
* @param userName 姓名
* @param userWorkNo 工号
* @param userRoleName 角色
* @param userPostName 职位
* @return 满足条件的用户id集合
*/
@Override
public List<String> LawsWorkingGroupUserSearch(String userName, String userWorkNo, String userRoleName, String userPostName) {
if (StringUtils.isAllBlank(userName, userWorkNo, userRoleName, userPostName)) {
return new ArrayList<>();
}
List<SysRole> roles = new ArrayList<>();
List<String> userIds = new ArrayList<>();
if (StringUtils.isNotBlank(userRoleName)) {
LambdaQueryWrapper<SysRole> wrapper = new LambdaQueryWrapper<>();
wrapper.like(SysRole::getRoleName, userRoleName);
roles = sysRoleMapper.selectList(wrapper);
if (roles.isEmpty()) {
return new ArrayList<>();
}
List<SysUserRole> sysUserRoles = sysUserRoleMapper.selectList(new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getRoleId, roles.stream().map(SysRole::getId).collect(Collectors.toList())));
if (sysUserRoles.isEmpty()) {
return new ArrayList<>();
}
userIds = sysUserRoles.stream().map(SysUserRole::getUserId).distinct().collect(Collectors.toList());
if (userIds.isEmpty()) {
return new ArrayList<>();
}
}
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
wrapper.like(StringUtils.isNotBlank(userName), SysUser::getRealname, userName)
.like(StringUtils.isNotBlank(userWorkNo), SysUser::getUsername, userWorkNo)
.in(!userIds.isEmpty() && StringUtils.isNotBlank(userRoleName), SysUser::getId, userIds);
// .like(StringUtils.isNotBlank(userPostName), SysUser::getPostName, userPostName); //目前没有岗位字段
List<SysUser> userRoles = list(wrapper);
return userRoles.stream().map(SysUser::getId).distinct().collect(Collectors.toList());
}
@Override
public String getNameNoByUsername(String userName) {
if (StringUtils.isBlank(userName)){