refactor(system): 重构系统服务依赖关系和服务调用方式

This commit is contained in:
2025-12-31 15:54:50 +08:00
parent 467b2a7d93
commit 2182e4bd66
14 changed files with 132 additions and 146 deletions
@@ -43,7 +43,7 @@ public class SystemJobService {
@Autowired
private SystemJobMapper systemJobMapper;
@Autowired
private SystemUserService systemUserService;
private SystemUserJobService systemUserJobService;
/**
* 创建
@@ -115,7 +115,7 @@ public class SystemJobService {
* @param ids /
*/
public void verifyBindRelationByIds(Set<Long> ids) {
if (systemUserService.countUserByJobIds(ids) > 0) {
if (systemUserJobService.countUserByJobIds(ids) > 0) {
throw new BadRequestException("所选的岗位中存在用户关联, 请解除关联再试!");
}
}
@@ -157,4 +157,8 @@ public class SystemJobService {
}
KitExcelExporter.exportSimple(response, "岗位数据", SystemJobExportRowVo.class, rowVos);
}
public List<SystemJobTb> listByIds(Set<Long> jobIds) {
return systemJobMapper.selectByIds(jobIds);
}
}
@@ -19,12 +19,10 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.odboy.framework.context.KitSpringBeanHolder;
import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.system.constant.SystemYesOrNoChConst;
import cn.odboy.system.constant.TransferProtocolConst;
import cn.odboy.system.dal.dataobject.SystemMenuTb;
import cn.odboy.system.dal.dataobject.SystemRoleMenuTb;
import cn.odboy.system.dal.dataobject.SystemRoleTb;
import cn.odboy.system.dal.model.SystemMenuExportRowVo;
import cn.odboy.system.dal.model.SystemMenuMetaVo;
@@ -32,7 +30,6 @@ import cn.odboy.system.dal.model.SystemMenuVo;
import cn.odboy.system.dal.model.SystemQueryMenuArgs;
import cn.odboy.system.dal.model.SystemRoleVo;
import cn.odboy.system.dal.mysql.SystemMenuMapper;
import cn.odboy.system.dal.mysql.SystemRoleMenuMapper;
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
import cn.odboy.util.KitClassUtil;
import cn.odboy.util.xlsx.KitExcelExporter;
@@ -59,8 +56,6 @@ public class SystemMenuService {
@Autowired
private SystemMenuMapper systemMenuMapper;
@Autowired
private SystemRoleMenuMapper systemRoleMenuMapper;
@Autowired
private SystemRoleMenuService systemRoleMenuService;
@Autowired
private SystemUserRoleService systemUserRoleService;
@@ -164,7 +159,7 @@ public class SystemMenuService {
List<Long> menuIds =
menuSet.stream().map(SystemMenuTb::getId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
if (CollUtil.isNotEmpty(menuIds)) {
KitSpringBeanHolder.getBean(SystemMenuService.class).deleteRoleMenuByMenuIds(menuIds);
systemRoleMenuService.deleteRoleMenuByMenuIds(menuIds);
systemMenuMapper.deleteByIds(menuIds);
}
for (SystemMenuTb menu : menuSet) {
@@ -172,15 +167,6 @@ public class SystemMenuService {
}
}
@Transactional(rollbackFor = Exception.class)
public void deleteRoleMenuByMenuIds(List<Long> menuIds) {
if (CollUtil.isNotEmpty(menuIds)) {
LambdaQueryWrapper<SystemRoleMenuTb> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SystemRoleMenuTb::getMenuId, menuIds);
systemRoleMenuMapper.delete(wrapper);
}
}
@Transactional(rollbackFor = Exception.class)
public void updateMenuSubCnt(Long menuId) {
if (menuId != null) {
@@ -86,4 +86,14 @@ public class SystemRoleMenuService {
menuWrapper.orderByAsc(SystemMenuTb::getMenuSort);
return new LinkedHashSet<>(systemMenuMapper.selectList(menuWrapper));
}
@Transactional(rollbackFor = Exception.class)
public void deleteRoleMenuByMenuIds(List<Long> menuIds) {
if (CollUtil.isEmpty(menuIds)) {
return;
}
LambdaQueryWrapper<SystemRoleMenuTb> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SystemRoleMenuTb::getMenuId, menuIds);
systemRoleMenuMapper.delete(wrapper);
}
}
@@ -57,8 +57,6 @@ public class SystemRoleService {
@Autowired
private SystemRoleDeptService systemRoleDeptService;
@Autowired
private SystemUserService systemUserService;
@Autowired
private SystemUserRoleService systemUserRoleService;
/**
@@ -228,7 +226,7 @@ public class SystemRoleService {
* @param ids /
*/
public void verifyBindRelationByIds(Set<Long> ids) {
if (systemUserService.countUserByRoleIds(ids) > 0) {
if (systemUserRoleService.countUserByRoleIds(ids) > 0) {
throw new BadRequestException("所选角色存在用户关联, 请解除关联再试!");
}
}
@@ -297,4 +295,8 @@ public class SystemRoleService {
}
KitExcelExporter.exportSimple(response, "部门数据", SystemRoleExportRowVo.class, rowVos);
}
public List<SystemRoleTb> listByIds(Set<Long> roleIds) {
return systemRoleMapper.selectByIds(roleIds);
}
}
@@ -55,4 +55,25 @@ public class SystemUserJobService {
systemUserJobMapper.delete(wrapper);
}
}
/**
* 根据岗位ID统计用户数量
*
* @param jobIds 岗位ID集合
* @return /
*/
public Long countUserByJobIds(Set<Long> jobIds) {
if (CollUtil.isEmpty(jobIds)) {
return 0L;
}
LambdaQueryWrapper<SystemUserJobTb> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SystemUserJobTb::getJobId, jobIds);
return systemUserJobMapper.selectCount(wrapper);
}
public List<SystemUserJobTb> listUserJobByUserId(Long userId) {
LambdaQueryWrapper<SystemUserJobTb> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SystemUserJobTb::getUserId, userId);
return systemUserJobMapper.selectList(wrapper);
}
}
@@ -147,4 +147,19 @@ public class SystemUserRoleService {
throw new BadRequestException("角色权限不足");
}
}
public List<SystemUserRoleTb> listUserRoleByUserId(Long userId) {
LambdaQueryWrapper<SystemUserRoleTb> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SystemUserRoleTb::getUserId, userId);
return systemUserRoleMapper.selectList(wrapper);
}
public long countUserByRoleIds(Set<Long> ids) {
if (CollUtil.isEmpty(ids)) {
return 0L;
}
LambdaQueryWrapper<SystemUserRoleTb> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SystemUserRoleTb::getRoleId, ids);
return systemUserRoleMapper.selectCount(wrapper);
}
}
@@ -37,12 +37,7 @@ import cn.odboy.system.dal.model.SystemQueryUserArgs;
import cn.odboy.system.dal.model.SystemUpdateUserPasswordArgs;
import cn.odboy.system.dal.model.SystemUserExportRowVo;
import cn.odboy.system.dal.model.SystemUserVo;
import cn.odboy.system.dal.mysql.SystemDeptMapper;
import cn.odboy.system.dal.mysql.SystemJobMapper;
import cn.odboy.system.dal.mysql.SystemRoleMapper;
import cn.odboy.system.dal.mysql.SystemUserJobMapper;
import cn.odboy.system.dal.mysql.SystemUserMapper;
import cn.odboy.system.dal.mysql.SystemUserRoleMapper;
import cn.odboy.system.dal.redis.SystemUserInfoDAO;
import cn.odboy.system.dal.redis.SystemUserOnlineInfoDAO;
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
@@ -78,11 +73,11 @@ public class SystemUserService {
@Autowired
private SystemUserMapper systemUserMapper;
@Autowired
private SystemJobMapper systemJobMapper;
private SystemJobService systemJobService;
@Autowired
private SystemRoleMapper systemRoleMapper;
private SystemRoleService systemRoleService;
@Autowired
private SystemDeptMapper systemDeptMapper;
private SystemDeptService systemDeptService;
@Autowired
private SystemUserJobService systemUserJobService;
@Autowired
@@ -90,8 +85,6 @@ public class SystemUserService {
@Autowired
private SystemEmailService systemEmailService;
@Autowired
private SystemDeptService systemDeptService;
@Autowired
private SystemDataService systemDataService;
@Autowired
private SystemUserInfoDAO systemUserInfoDAO;
@@ -100,10 +93,6 @@ public class SystemUserService {
@Autowired
private KitFileLocalUploadHelper fileUploadPathHelper;
@Autowired
private SystemUserJobMapper systemUserJobMapper;
@Autowired
private SystemUserRoleMapper systemUserRoleMapper;
@Autowired
private AppProperties properties;
@Autowired
private PasswordEncoder passwordEncoder;
@@ -405,36 +394,6 @@ public class SystemUserService {
}).collect(Collectors.toList());
}
/**
* 根据岗位ID统计用户数量
*
* @param jobIds 岗位ID集合
* @return /
*/
public Long countUserByJobIds(Set<Long> jobIds) {
if (CollUtil.isEmpty(jobIds)) {
return 0L;
}
LambdaQueryWrapper<SystemUserJobTb> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SystemUserJobTb::getJobId, jobIds);
return systemUserJobMapper.selectCount(wrapper);
}
/**
* 根据角色ID统计用户数量
*
* @param roleIds 角色ID集合
* @return /
*/
public Long countUserByRoleIds(Set<Long> roleIds) {
if (CollUtil.isEmpty(roleIds)) {
return 0L;
}
LambdaQueryWrapper<SystemUserRoleTb> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SystemUserRoleTb::getRoleId, roleIds);
return systemUserRoleMapper.selectCount(wrapper);
}
/**
* 构建用户查询条件
*
@@ -480,25 +439,21 @@ public class SystemUserService {
SystemUserVo userVo = BeanUtil.copyProperties(user, SystemUserVo.class);
// 查询关联的部门信息
if (user.getDeptId() != null) {
SystemDeptTb dept = systemDeptMapper.selectById(user.getDeptId());
SystemDeptTb dept = systemDeptService.getDeptById(user.getDeptId());
userVo.setDept(dept);
}
// 查询关联的岗位信息
LambdaQueryWrapper<SystemUserJobTb> jobWrapper = new LambdaQueryWrapper<>();
jobWrapper.eq(SystemUserJobTb::getUserId, user.getId());
List<SystemUserJobTb> userJobs = systemUserJobMapper.selectList(jobWrapper);
List<SystemUserJobTb> userJobs = systemUserJobService.listUserJobByUserId(user.getId());
if (CollUtil.isNotEmpty(userJobs)) {
Set<Long> jobIds = userJobs.stream().map(SystemUserJobTb::getJobId).collect(Collectors.toSet());
List<SystemJobTb> jobs = systemJobMapper.selectByIds(jobIds);
List<SystemJobTb> jobs = systemJobService.listByIds(jobIds);
userVo.setJobs(new LinkedHashSet<>(jobs));
}
// 查询关联的角色信息
LambdaQueryWrapper<SystemUserRoleTb> roleWrapper = new LambdaQueryWrapper<>();
roleWrapper.eq(SystemUserRoleTb::getUserId, user.getId());
List<SystemUserRoleTb> userRoles = systemUserRoleMapper.selectList(roleWrapper);
List<SystemUserRoleTb> userRoles = systemUserRoleService.listUserRoleByUserId(user.getId());
if (CollUtil.isNotEmpty(userRoles)) {
Set<Long> roleIds = userRoles.stream().map(SystemUserRoleTb::getRoleId).collect(Collectors.toSet());
List<SystemRoleTb> roles = systemRoleMapper.selectByIds(roleIds);
List<SystemRoleTb> roles = systemRoleService.listByIds(roleIds);
userVo.setRoles(new LinkedHashSet<>(roles));
}
return userVo;
@@ -43,7 +43,7 @@ public class SystemJobService {
@Autowired
private SystemJobMapper systemJobMapper;
@Autowired
private SystemUserService systemUserService;
private SystemUserJobService systemUserJobService;
/**
* 创建
@@ -115,7 +115,7 @@ public class SystemJobService {
* @param ids /
*/
public void verifyBindRelationByIds(Set<Long> ids) {
if (systemUserService.countUserByJobIds(ids) > 0) {
if (systemUserJobService.countUserByJobIds(ids) > 0) {
throw new BadRequestException("所选的岗位中存在用户关联, 请解除关联再试!");
}
}
@@ -157,4 +157,8 @@ public class SystemJobService {
}
KitExcelExporter.exportSimple(response, "岗位数据", SystemJobExportRowVo.class, rowVos);
}
public List<SystemJobTb> listByIds(Set<Long> jobIds) {
return systemJobMapper.selectByIds(jobIds);
}
}
@@ -19,12 +19,10 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.odboy.framework.context.KitSpringBeanHolder;
import cn.odboy.framework.exception.BadRequestException;
import cn.odboy.system.constant.SystemYesOrNoChConst;
import cn.odboy.system.constant.TransferProtocolConst;
import cn.odboy.system.dal.dataobject.SystemMenuTb;
import cn.odboy.system.dal.dataobject.SystemRoleMenuTb;
import cn.odboy.system.dal.dataobject.SystemRoleTb;
import cn.odboy.system.dal.model.SystemMenuExportRowVo;
import cn.odboy.system.dal.model.SystemMenuMetaVo;
@@ -32,7 +30,6 @@ import cn.odboy.system.dal.model.SystemMenuVo;
import cn.odboy.system.dal.model.SystemQueryMenuArgs;
import cn.odboy.system.dal.model.SystemRoleVo;
import cn.odboy.system.dal.mysql.SystemMenuMapper;
import cn.odboy.system.dal.mysql.SystemRoleMenuMapper;
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
import cn.odboy.util.KitClassUtil;
import cn.odboy.util.xlsx.KitExcelExporter;
@@ -59,8 +56,6 @@ public class SystemMenuService {
@Autowired
private SystemMenuMapper systemMenuMapper;
@Autowired
private SystemRoleMenuMapper systemRoleMenuMapper;
@Autowired
private SystemRoleMenuService systemRoleMenuService;
@Autowired
private SystemUserRoleService systemUserRoleService;
@@ -164,7 +159,7 @@ public class SystemMenuService {
List<Long> menuIds =
menuSet.stream().map(SystemMenuTb::getId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
if (CollUtil.isNotEmpty(menuIds)) {
KitSpringBeanHolder.getBean(SystemMenuService.class).deleteRoleMenuByMenuIds(menuIds);
systemRoleMenuService.deleteRoleMenuByMenuIds(menuIds);
systemMenuMapper.deleteByIds(menuIds);
}
for (SystemMenuTb menu : menuSet) {
@@ -172,15 +167,6 @@ public class SystemMenuService {
}
}
@Transactional(rollbackFor = Exception.class)
public void deleteRoleMenuByMenuIds(List<Long> menuIds) {
if (CollUtil.isNotEmpty(menuIds)) {
LambdaQueryWrapper<SystemRoleMenuTb> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SystemRoleMenuTb::getMenuId, menuIds);
systemRoleMenuMapper.delete(wrapper);
}
}
@Transactional(rollbackFor = Exception.class)
public void updateMenuSubCnt(Long menuId) {
if (menuId != null) {
@@ -86,4 +86,14 @@ public class SystemRoleMenuService {
menuWrapper.orderByAsc(SystemMenuTb::getMenuSort);
return new LinkedHashSet<>(systemMenuMapper.selectList(menuWrapper));
}
@Transactional(rollbackFor = Exception.class)
public void deleteRoleMenuByMenuIds(List<Long> menuIds) {
if (CollUtil.isEmpty(menuIds)) {
return;
}
LambdaQueryWrapper<SystemRoleMenuTb> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SystemRoleMenuTb::getMenuId, menuIds);
systemRoleMenuMapper.delete(wrapper);
}
}
@@ -57,8 +57,6 @@ public class SystemRoleService {
@Autowired
private SystemRoleDeptService systemRoleDeptService;
@Autowired
private SystemUserService systemUserService;
@Autowired
private SystemUserRoleService systemUserRoleService;
/**
@@ -228,7 +226,7 @@ public class SystemRoleService {
* @param ids /
*/
public void verifyBindRelationByIds(Set<Long> ids) {
if (systemUserService.countUserByRoleIds(ids) > 0) {
if (systemUserRoleService.countUserByRoleIds(ids) > 0) {
throw new BadRequestException("所选角色存在用户关联, 请解除关联再试!");
}
}
@@ -297,4 +295,8 @@ public class SystemRoleService {
}
KitExcelExporter.exportSimple(response, "部门数据", SystemRoleExportRowVo.class, rowVos);
}
public List<SystemRoleTb> listByIds(Set<Long> roleIds) {
return systemRoleMapper.selectByIds(roleIds);
}
}
@@ -55,4 +55,25 @@ public class SystemUserJobService {
systemUserJobMapper.delete(wrapper);
}
}
/**
* 根据岗位ID统计用户数量
*
* @param jobIds 岗位ID集合
* @return /
*/
public Long countUserByJobIds(Set<Long> jobIds) {
if (CollUtil.isEmpty(jobIds)) {
return 0L;
}
LambdaQueryWrapper<SystemUserJobTb> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SystemUserJobTb::getJobId, jobIds);
return systemUserJobMapper.selectCount(wrapper);
}
public List<SystemUserJobTb> listUserJobByUserId(Long userId) {
LambdaQueryWrapper<SystemUserJobTb> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SystemUserJobTb::getUserId, userId);
return systemUserJobMapper.selectList(wrapper);
}
}
@@ -147,4 +147,19 @@ public class SystemUserRoleService {
throw new BadRequestException("角色权限不足");
}
}
public List<SystemUserRoleTb> listUserRoleByUserId(Long userId) {
LambdaQueryWrapper<SystemUserRoleTb> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SystemUserRoleTb::getUserId, userId);
return systemUserRoleMapper.selectList(wrapper);
}
public long countUserByRoleIds(Set<Long> ids) {
if (CollUtil.isEmpty(ids)) {
return 0L;
}
LambdaQueryWrapper<SystemUserRoleTb> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SystemUserRoleTb::getRoleId, ids);
return systemUserRoleMapper.selectCount(wrapper);
}
}
@@ -37,12 +37,7 @@ import cn.odboy.system.dal.model.SystemQueryUserArgs;
import cn.odboy.system.dal.model.SystemUpdateUserPasswordArgs;
import cn.odboy.system.dal.model.SystemUserExportRowVo;
import cn.odboy.system.dal.model.SystemUserVo;
import cn.odboy.system.dal.mysql.SystemDeptMapper;
import cn.odboy.system.dal.mysql.SystemJobMapper;
import cn.odboy.system.dal.mysql.SystemRoleMapper;
import cn.odboy.system.dal.mysql.SystemUserJobMapper;
import cn.odboy.system.dal.mysql.SystemUserMapper;
import cn.odboy.system.dal.mysql.SystemUserRoleMapper;
import cn.odboy.system.dal.redis.SystemUserInfoDAO;
import cn.odboy.system.dal.redis.SystemUserOnlineInfoDAO;
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
@@ -78,11 +73,11 @@ public class SystemUserService {
@Autowired
private SystemUserMapper systemUserMapper;
@Autowired
private SystemJobMapper systemJobMapper;
private SystemJobService systemJobService;
@Autowired
private SystemRoleMapper systemRoleMapper;
private SystemRoleService systemRoleService;
@Autowired
private SystemDeptMapper systemDeptMapper;
private SystemDeptService systemDeptService;
@Autowired
private SystemUserJobService systemUserJobService;
@Autowired
@@ -90,8 +85,6 @@ public class SystemUserService {
@Autowired
private SystemEmailService systemEmailService;
@Autowired
private SystemDeptService systemDeptService;
@Autowired
private SystemDataService systemDataService;
@Autowired
private SystemUserInfoDAO systemUserInfoDAO;
@@ -100,10 +93,6 @@ public class SystemUserService {
@Autowired
private KitFileLocalUploadHelper fileUploadPathHelper;
@Autowired
private SystemUserJobMapper systemUserJobMapper;
@Autowired
private SystemUserRoleMapper systemUserRoleMapper;
@Autowired
private AppProperties properties;
@Autowired
private PasswordEncoder passwordEncoder;
@@ -405,36 +394,6 @@ public class SystemUserService {
}).collect(Collectors.toList());
}
/**
* 根据岗位ID统计用户数量
*
* @param jobIds 岗位ID集合
* @return /
*/
public Long countUserByJobIds(Set<Long> jobIds) {
if (CollUtil.isEmpty(jobIds)) {
return 0L;
}
LambdaQueryWrapper<SystemUserJobTb> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SystemUserJobTb::getJobId, jobIds);
return systemUserJobMapper.selectCount(wrapper);
}
/**
* 根据角色ID统计用户数量
*
* @param roleIds 角色ID集合
* @return /
*/
public Long countUserByRoleIds(Set<Long> roleIds) {
if (CollUtil.isEmpty(roleIds)) {
return 0L;
}
LambdaQueryWrapper<SystemUserRoleTb> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SystemUserRoleTb::getRoleId, roleIds);
return systemUserRoleMapper.selectCount(wrapper);
}
/**
* 构建用户查询条件
*
@@ -480,25 +439,21 @@ public class SystemUserService {
SystemUserVo userVo = BeanUtil.copyProperties(user, SystemUserVo.class);
// 查询关联的部门信息
if (user.getDeptId() != null) {
SystemDeptTb dept = systemDeptMapper.selectById(user.getDeptId());
SystemDeptTb dept = systemDeptService.getDeptById(user.getDeptId());
userVo.setDept(dept);
}
// 查询关联的岗位信息
LambdaQueryWrapper<SystemUserJobTb> jobWrapper = new LambdaQueryWrapper<>();
jobWrapper.eq(SystemUserJobTb::getUserId, user.getId());
List<SystemUserJobTb> userJobs = systemUserJobMapper.selectList(jobWrapper);
List<SystemUserJobTb> userJobs = systemUserJobService.listUserJobByUserId(user.getId());
if (CollUtil.isNotEmpty(userJobs)) {
Set<Long> jobIds = userJobs.stream().map(SystemUserJobTb::getJobId).collect(Collectors.toSet());
List<SystemJobTb> jobs = systemJobMapper.selectByIds(jobIds);
List<SystemJobTb> jobs = systemJobService.listByIds(jobIds);
userVo.setJobs(new LinkedHashSet<>(jobs));
}
// 查询关联的角色信息
LambdaQueryWrapper<SystemUserRoleTb> roleWrapper = new LambdaQueryWrapper<>();
roleWrapper.eq(SystemUserRoleTb::getUserId, user.getId());
List<SystemUserRoleTb> userRoles = systemUserRoleMapper.selectList(roleWrapper);
List<SystemUserRoleTb> userRoles = systemUserRoleService.listUserRoleByUserId(user.getId());
if (CollUtil.isNotEmpty(userRoles)) {
Set<Long> roleIds = userRoles.stream().map(SystemUserRoleTb::getRoleId).collect(Collectors.toSet());
List<SystemRoleTb> roles = systemRoleMapper.selectByIds(roleIds);
List<SystemRoleTb> roles = systemRoleService.listByIds(roleIds);
userVo.setRoles(new LinkedHashSet<>(roles));
}
return userVo;