| | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 用户 业务层处理 |
| | |
| | | return baseMapper.selectVoList(lqw); |
| | | } |
| | | |
| | | @Override |
| | | public List<SysUserVo> selectDeptRoleUserList(SysUserBo user) { |
| | | List<SysUserVo> result = new ArrayList<>(); |
| | | if (user.getDeptId() == null) return result; |
| | | LambdaQueryWrapper<SysUser> queryWrapper = Wrappers.lambdaQuery(); |
| | | queryWrapper.eq(SysUser::getDeptId, user.getDeptId()); |
| | | List<SysUserVo> deptUserList = baseMapper.selectVoList(queryWrapper); |
| | | if (user.getRoleKey() != null) { |
| | | LambdaQueryWrapper<SysRole> roleWrapper = Wrappers.lambdaQuery(); |
| | | roleWrapper.eq(SysRole::getRoleKey, user.getRoleKey()); |
| | | SysRole sysRole = roleMapper.selectOne(roleWrapper); |
| | | if (sysRole != null) { |
| | | LambdaQueryWrapper<SysUserRole> userRoleWrapper = Wrappers.lambdaQuery(); |
| | | userRoleWrapper.eq(SysUserRole::getRoleId, sysRole.getRoleId()); |
| | | List<SysUserRole> sysUserRoles = userRoleMapper.selectList(userRoleWrapper); |
| | | Set<Long> roleUserIds = sysUserRoles.stream() |
| | | .map(SysUserRole::getUserId) |
| | | .collect(Collectors.toSet()); |
| | | deptUserList = deptUserList.stream() |
| | | .filter(u -> roleUserIds.contains(u.getUserId())) |
| | | .toList(); |
| | | result.addAll(deptUserList); |
| | | } |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * 通过用户ID查询用户账户 |
| | | * |