update 优化查询用户时多余重复判断以及去重
This commit is contained in:
parent
f20130d3db
commit
6886e9fd5b
@ -42,6 +42,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户 业务层处理
|
* 用户 业务层处理
|
||||||
@ -628,6 +629,12 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
|
|||||||
return ObjectUtil.isNull(sysUser) ? null : sysUser.getEmail();
|
return ObjectUtil.isNull(sysUser) ? null : sysUser.getEmail();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过用户ID查询用户列表
|
||||||
|
*
|
||||||
|
* @param userIds 用户ids
|
||||||
|
* @return 用户列表
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<UserDTO> selectListByIds(List<Long> userIds) {
|
public List<UserDTO> selectListByIds(List<Long> userIds) {
|
||||||
if (CollUtil.isEmpty(userIds)) {
|
if (CollUtil.isEmpty(userIds)) {
|
||||||
@ -636,28 +643,55 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
|
|||||||
List<SysUserVo> list = baseMapper.selectVoList(new LambdaQueryWrapper<SysUser>()
|
List<SysUserVo> list = baseMapper.selectVoList(new LambdaQueryWrapper<SysUser>()
|
||||||
.select(SysUser::getUserId, SysUser::getUserName, SysUser::getNickName, SysUser::getEmail, SysUser::getPhonenumber)
|
.select(SysUser::getUserId, SysUser::getUserName, SysUser::getNickName, SysUser::getEmail, SysUser::getPhonenumber)
|
||||||
.eq(SysUser::getStatus, UserConstants.USER_NORMAL)
|
.eq(SysUser::getStatus, UserConstants.USER_NORMAL)
|
||||||
.in(CollUtil.isNotEmpty(userIds), SysUser::getUserId, userIds));
|
.in(SysUser::getUserId, userIds));
|
||||||
return BeanUtil.copyToList(list, UserDTO.class);
|
return BeanUtil.copyToList(list, UserDTO.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过角色ID查询用户ID
|
||||||
|
*
|
||||||
|
* @param roleIds 角色ids
|
||||||
|
* @return 用户ids
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<Long> selectUserIdsByRoleIds(List<Long> roleIds) {
|
public List<Long> selectUserIdsByRoleIds(List<Long> roleIds) {
|
||||||
List<SysUserRole> userRoles = userRoleMapper.selectList(
|
|
||||||
new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getRoleId, roleIds));
|
|
||||||
return StreamUtils.toList(userRoles, SysUserRole::getUserId);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<UserDTO> selectUsersByRoleIds(List<Long> roleIds) {
|
|
||||||
if (CollUtil.isEmpty(roleIds)) {
|
if (CollUtil.isEmpty(roleIds)) {
|
||||||
return List.of();
|
return List.of();
|
||||||
}
|
}
|
||||||
List<SysUserRole> userRoles = userRoleMapper.selectList(
|
List<SysUserRole> userRoles = userRoleMapper.selectList(
|
||||||
new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getRoleId, roleIds));
|
new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getRoleId, roleIds));
|
||||||
List<Long> userIds = StreamUtils.toList(userRoles, SysUserRole::getUserId);
|
return StreamUtils.toList(userRoles, SysUserRole::getUserId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过角色ID查询用户
|
||||||
|
*
|
||||||
|
* @param roleIds 角色ids
|
||||||
|
* @return 用户
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<UserDTO> selectUsersByRoleIds(List<Long> roleIds) {
|
||||||
|
if (CollUtil.isEmpty(roleIds)) {
|
||||||
|
return List.of();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 通过角色ID获取用户角色信息
|
||||||
|
List<SysUserRole> userRoles = userRoleMapper.selectList(
|
||||||
|
new LambdaQueryWrapper<SysUserRole>().in(SysUserRole::getRoleId, roleIds));
|
||||||
|
|
||||||
|
// 获取用户ID列表
|
||||||
|
List<Long> userIds = userRoles.stream()
|
||||||
|
.map(SysUserRole::getUserId).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
return selectListByIds(userIds);
|
return selectListByIds(userIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过部门ID查询用户
|
||||||
|
*
|
||||||
|
* @param deptIds 部门ids
|
||||||
|
* @return 用户
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<UserDTO> selectUsersByDeptIds(List<Long> deptIds) {
|
public List<UserDTO> selectUsersByDeptIds(List<Long> deptIds) {
|
||||||
if (CollUtil.isEmpty(deptIds)) {
|
if (CollUtil.isEmpty(deptIds)) {
|
||||||
@ -666,7 +700,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
|
|||||||
List<SysUserVo> list = baseMapper.selectVoList(new LambdaQueryWrapper<SysUser>()
|
List<SysUserVo> list = baseMapper.selectVoList(new LambdaQueryWrapper<SysUser>()
|
||||||
.select(SysUser::getUserId, SysUser::getUserName, SysUser::getNickName, SysUser::getEmail, SysUser::getPhonenumber)
|
.select(SysUser::getUserId, SysUser::getUserName, SysUser::getNickName, SysUser::getEmail, SysUser::getPhonenumber)
|
||||||
.eq(SysUser::getStatus, UserConstants.USER_NORMAL)
|
.eq(SysUser::getStatus, UserConstants.USER_NORMAL)
|
||||||
.in(CollUtil.isNotEmpty(deptIds), SysUser::getDeptId, deptIds));
|
.in(SysUser::getDeptId, deptIds));
|
||||||
return BeanUtil.copyToList(list, UserDTO.class);
|
return BeanUtil.copyToList(list, UserDTO.class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user