refactor(system): 重构系统服务依赖关系和服务调用方式
This commit is contained in:
+6
-2
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-15
@@ -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) {
|
||||
|
||||
+10
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
+5
-3
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
+21
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
+15
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
+8
-53
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user