refactor(system): 重构系统服务依赖关系和服务调用方式
This commit is contained in:
+6
-2
@@ -43,7 +43,7 @@ public class SystemJobService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SystemJobMapper systemJobMapper;
|
private SystemJobMapper systemJobMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemUserService systemUserService;
|
private SystemUserJobService systemUserJobService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建
|
* 创建
|
||||||
@@ -115,7 +115,7 @@ public class SystemJobService {
|
|||||||
* @param ids /
|
* @param ids /
|
||||||
*/
|
*/
|
||||||
public void verifyBindRelationByIds(Set<Long> ids) {
|
public void verifyBindRelationByIds(Set<Long> ids) {
|
||||||
if (systemUserService.countUserByJobIds(ids) > 0) {
|
if (systemUserJobService.countUserByJobIds(ids) > 0) {
|
||||||
throw new BadRequestException("所选的岗位中存在用户关联, 请解除关联再试!");
|
throw new BadRequestException("所选的岗位中存在用户关联, 请解除关联再试!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -157,4 +157,8 @@ public class SystemJobService {
|
|||||||
}
|
}
|
||||||
KitExcelExporter.exportSimple(response, "岗位数据", SystemJobExportRowVo.class, rowVos);
|
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.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.odboy.framework.context.KitSpringBeanHolder;
|
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
import cn.odboy.system.constant.SystemYesOrNoChConst;
|
import cn.odboy.system.constant.SystemYesOrNoChConst;
|
||||||
import cn.odboy.system.constant.TransferProtocolConst;
|
import cn.odboy.system.constant.TransferProtocolConst;
|
||||||
import cn.odboy.system.dal.dataobject.SystemMenuTb;
|
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.dataobject.SystemRoleTb;
|
||||||
import cn.odboy.system.dal.model.SystemMenuExportRowVo;
|
import cn.odboy.system.dal.model.SystemMenuExportRowVo;
|
||||||
import cn.odboy.system.dal.model.SystemMenuMetaVo;
|
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.SystemQueryMenuArgs;
|
||||||
import cn.odboy.system.dal.model.SystemRoleVo;
|
import cn.odboy.system.dal.model.SystemRoleVo;
|
||||||
import cn.odboy.system.dal.mysql.SystemMenuMapper;
|
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.system.framework.permission.core.KitSecurityHelper;
|
||||||
import cn.odboy.util.KitClassUtil;
|
import cn.odboy.util.KitClassUtil;
|
||||||
import cn.odboy.util.xlsx.KitExcelExporter;
|
import cn.odboy.util.xlsx.KitExcelExporter;
|
||||||
@@ -59,8 +56,6 @@ public class SystemMenuService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SystemMenuMapper systemMenuMapper;
|
private SystemMenuMapper systemMenuMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemRoleMenuMapper systemRoleMenuMapper;
|
|
||||||
@Autowired
|
|
||||||
private SystemRoleMenuService systemRoleMenuService;
|
private SystemRoleMenuService systemRoleMenuService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemUserRoleService systemUserRoleService;
|
private SystemUserRoleService systemUserRoleService;
|
||||||
@@ -164,7 +159,7 @@ public class SystemMenuService {
|
|||||||
List<Long> menuIds =
|
List<Long> menuIds =
|
||||||
menuSet.stream().map(SystemMenuTb::getId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
menuSet.stream().map(SystemMenuTb::getId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
||||||
if (CollUtil.isNotEmpty(menuIds)) {
|
if (CollUtil.isNotEmpty(menuIds)) {
|
||||||
KitSpringBeanHolder.getBean(SystemMenuService.class).deleteRoleMenuByMenuIds(menuIds);
|
systemRoleMenuService.deleteRoleMenuByMenuIds(menuIds);
|
||||||
systemMenuMapper.deleteByIds(menuIds);
|
systemMenuMapper.deleteByIds(menuIds);
|
||||||
}
|
}
|
||||||
for (SystemMenuTb menu : menuSet) {
|
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)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void updateMenuSubCnt(Long menuId) {
|
public void updateMenuSubCnt(Long menuId) {
|
||||||
if (menuId != null) {
|
if (menuId != null) {
|
||||||
|
|||||||
+10
@@ -86,4 +86,14 @@ public class SystemRoleMenuService {
|
|||||||
menuWrapper.orderByAsc(SystemMenuTb::getMenuSort);
|
menuWrapper.orderByAsc(SystemMenuTb::getMenuSort);
|
||||||
return new LinkedHashSet<>(systemMenuMapper.selectList(menuWrapper));
|
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
|
@Autowired
|
||||||
private SystemRoleDeptService systemRoleDeptService;
|
private SystemRoleDeptService systemRoleDeptService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemUserService systemUserService;
|
|
||||||
@Autowired
|
|
||||||
private SystemUserRoleService systemUserRoleService;
|
private SystemUserRoleService systemUserRoleService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -228,7 +226,7 @@ public class SystemRoleService {
|
|||||||
* @param ids /
|
* @param ids /
|
||||||
*/
|
*/
|
||||||
public void verifyBindRelationByIds(Set<Long> ids) {
|
public void verifyBindRelationByIds(Set<Long> ids) {
|
||||||
if (systemUserService.countUserByRoleIds(ids) > 0) {
|
if (systemUserRoleService.countUserByRoleIds(ids) > 0) {
|
||||||
throw new BadRequestException("所选角色存在用户关联, 请解除关联再试!");
|
throw new BadRequestException("所选角色存在用户关联, 请解除关联再试!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -297,4 +295,8 @@ public class SystemRoleService {
|
|||||||
}
|
}
|
||||||
KitExcelExporter.exportSimple(response, "部门数据", SystemRoleExportRowVo.class, rowVos);
|
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);
|
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("角色权限不足");
|
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.SystemUpdateUserPasswordArgs;
|
||||||
import cn.odboy.system.dal.model.SystemUserExportRowVo;
|
import cn.odboy.system.dal.model.SystemUserExportRowVo;
|
||||||
import cn.odboy.system.dal.model.SystemUserVo;
|
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.SystemUserMapper;
|
||||||
import cn.odboy.system.dal.mysql.SystemUserRoleMapper;
|
|
||||||
import cn.odboy.system.dal.redis.SystemUserInfoDAO;
|
import cn.odboy.system.dal.redis.SystemUserInfoDAO;
|
||||||
import cn.odboy.system.dal.redis.SystemUserOnlineInfoDAO;
|
import cn.odboy.system.dal.redis.SystemUserOnlineInfoDAO;
|
||||||
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
|
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
|
||||||
@@ -78,11 +73,11 @@ public class SystemUserService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SystemUserMapper systemUserMapper;
|
private SystemUserMapper systemUserMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemJobMapper systemJobMapper;
|
private SystemJobService systemJobService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemRoleMapper systemRoleMapper;
|
private SystemRoleService systemRoleService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemDeptMapper systemDeptMapper;
|
private SystemDeptService systemDeptService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemUserJobService systemUserJobService;
|
private SystemUserJobService systemUserJobService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -90,8 +85,6 @@ public class SystemUserService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SystemEmailService systemEmailService;
|
private SystemEmailService systemEmailService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemDeptService systemDeptService;
|
|
||||||
@Autowired
|
|
||||||
private SystemDataService systemDataService;
|
private SystemDataService systemDataService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemUserInfoDAO systemUserInfoDAO;
|
private SystemUserInfoDAO systemUserInfoDAO;
|
||||||
@@ -100,10 +93,6 @@ public class SystemUserService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private KitFileLocalUploadHelper fileUploadPathHelper;
|
private KitFileLocalUploadHelper fileUploadPathHelper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemUserJobMapper systemUserJobMapper;
|
|
||||||
@Autowired
|
|
||||||
private SystemUserRoleMapper systemUserRoleMapper;
|
|
||||||
@Autowired
|
|
||||||
private AppProperties properties;
|
private AppProperties properties;
|
||||||
@Autowired
|
@Autowired
|
||||||
private PasswordEncoder passwordEncoder;
|
private PasswordEncoder passwordEncoder;
|
||||||
@@ -405,36 +394,6 @@ public class SystemUserService {
|
|||||||
}).collect(Collectors.toList());
|
}).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);
|
SystemUserVo userVo = BeanUtil.copyProperties(user, SystemUserVo.class);
|
||||||
// 查询关联的部门信息
|
// 查询关联的部门信息
|
||||||
if (user.getDeptId() != null) {
|
if (user.getDeptId() != null) {
|
||||||
SystemDeptTb dept = systemDeptMapper.selectById(user.getDeptId());
|
SystemDeptTb dept = systemDeptService.getDeptById(user.getDeptId());
|
||||||
userVo.setDept(dept);
|
userVo.setDept(dept);
|
||||||
}
|
}
|
||||||
// 查询关联的岗位信息
|
// 查询关联的岗位信息
|
||||||
LambdaQueryWrapper<SystemUserJobTb> jobWrapper = new LambdaQueryWrapper<>();
|
List<SystemUserJobTb> userJobs = systemUserJobService.listUserJobByUserId(user.getId());
|
||||||
jobWrapper.eq(SystemUserJobTb::getUserId, user.getId());
|
|
||||||
List<SystemUserJobTb> userJobs = systemUserJobMapper.selectList(jobWrapper);
|
|
||||||
if (CollUtil.isNotEmpty(userJobs)) {
|
if (CollUtil.isNotEmpty(userJobs)) {
|
||||||
Set<Long> jobIds = userJobs.stream().map(SystemUserJobTb::getJobId).collect(Collectors.toSet());
|
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));
|
userVo.setJobs(new LinkedHashSet<>(jobs));
|
||||||
}
|
}
|
||||||
// 查询关联的角色信息
|
// 查询关联的角色信息
|
||||||
LambdaQueryWrapper<SystemUserRoleTb> roleWrapper = new LambdaQueryWrapper<>();
|
List<SystemUserRoleTb> userRoles = systemUserRoleService.listUserRoleByUserId(user.getId());
|
||||||
roleWrapper.eq(SystemUserRoleTb::getUserId, user.getId());
|
|
||||||
List<SystemUserRoleTb> userRoles = systemUserRoleMapper.selectList(roleWrapper);
|
|
||||||
if (CollUtil.isNotEmpty(userRoles)) {
|
if (CollUtil.isNotEmpty(userRoles)) {
|
||||||
Set<Long> roleIds = userRoles.stream().map(SystemUserRoleTb::getRoleId).collect(Collectors.toSet());
|
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));
|
userVo.setRoles(new LinkedHashSet<>(roles));
|
||||||
}
|
}
|
||||||
return userVo;
|
return userVo;
|
||||||
|
|||||||
+6
-2
@@ -43,7 +43,7 @@ public class SystemJobService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SystemJobMapper systemJobMapper;
|
private SystemJobMapper systemJobMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemUserService systemUserService;
|
private SystemUserJobService systemUserJobService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建
|
* 创建
|
||||||
@@ -115,7 +115,7 @@ public class SystemJobService {
|
|||||||
* @param ids /
|
* @param ids /
|
||||||
*/
|
*/
|
||||||
public void verifyBindRelationByIds(Set<Long> ids) {
|
public void verifyBindRelationByIds(Set<Long> ids) {
|
||||||
if (systemUserService.countUserByJobIds(ids) > 0) {
|
if (systemUserJobService.countUserByJobIds(ids) > 0) {
|
||||||
throw new BadRequestException("所选的岗位中存在用户关联, 请解除关联再试!");
|
throw new BadRequestException("所选的岗位中存在用户关联, 请解除关联再试!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -157,4 +157,8 @@ public class SystemJobService {
|
|||||||
}
|
}
|
||||||
KitExcelExporter.exportSimple(response, "岗位数据", SystemJobExportRowVo.class, rowVos);
|
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.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.odboy.framework.context.KitSpringBeanHolder;
|
|
||||||
import cn.odboy.framework.exception.BadRequestException;
|
import cn.odboy.framework.exception.BadRequestException;
|
||||||
import cn.odboy.system.constant.SystemYesOrNoChConst;
|
import cn.odboy.system.constant.SystemYesOrNoChConst;
|
||||||
import cn.odboy.system.constant.TransferProtocolConst;
|
import cn.odboy.system.constant.TransferProtocolConst;
|
||||||
import cn.odboy.system.dal.dataobject.SystemMenuTb;
|
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.dataobject.SystemRoleTb;
|
||||||
import cn.odboy.system.dal.model.SystemMenuExportRowVo;
|
import cn.odboy.system.dal.model.SystemMenuExportRowVo;
|
||||||
import cn.odboy.system.dal.model.SystemMenuMetaVo;
|
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.SystemQueryMenuArgs;
|
||||||
import cn.odboy.system.dal.model.SystemRoleVo;
|
import cn.odboy.system.dal.model.SystemRoleVo;
|
||||||
import cn.odboy.system.dal.mysql.SystemMenuMapper;
|
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.system.framework.permission.core.KitSecurityHelper;
|
||||||
import cn.odboy.util.KitClassUtil;
|
import cn.odboy.util.KitClassUtil;
|
||||||
import cn.odboy.util.xlsx.KitExcelExporter;
|
import cn.odboy.util.xlsx.KitExcelExporter;
|
||||||
@@ -59,8 +56,6 @@ public class SystemMenuService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SystemMenuMapper systemMenuMapper;
|
private SystemMenuMapper systemMenuMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemRoleMenuMapper systemRoleMenuMapper;
|
|
||||||
@Autowired
|
|
||||||
private SystemRoleMenuService systemRoleMenuService;
|
private SystemRoleMenuService systemRoleMenuService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemUserRoleService systemUserRoleService;
|
private SystemUserRoleService systemUserRoleService;
|
||||||
@@ -164,7 +159,7 @@ public class SystemMenuService {
|
|||||||
List<Long> menuIds =
|
List<Long> menuIds =
|
||||||
menuSet.stream().map(SystemMenuTb::getId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
menuSet.stream().map(SystemMenuTb::getId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
||||||
if (CollUtil.isNotEmpty(menuIds)) {
|
if (CollUtil.isNotEmpty(menuIds)) {
|
||||||
KitSpringBeanHolder.getBean(SystemMenuService.class).deleteRoleMenuByMenuIds(menuIds);
|
systemRoleMenuService.deleteRoleMenuByMenuIds(menuIds);
|
||||||
systemMenuMapper.deleteByIds(menuIds);
|
systemMenuMapper.deleteByIds(menuIds);
|
||||||
}
|
}
|
||||||
for (SystemMenuTb menu : menuSet) {
|
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)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void updateMenuSubCnt(Long menuId) {
|
public void updateMenuSubCnt(Long menuId) {
|
||||||
if (menuId != null) {
|
if (menuId != null) {
|
||||||
|
|||||||
+10
@@ -86,4 +86,14 @@ public class SystemRoleMenuService {
|
|||||||
menuWrapper.orderByAsc(SystemMenuTb::getMenuSort);
|
menuWrapper.orderByAsc(SystemMenuTb::getMenuSort);
|
||||||
return new LinkedHashSet<>(systemMenuMapper.selectList(menuWrapper));
|
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
|
@Autowired
|
||||||
private SystemRoleDeptService systemRoleDeptService;
|
private SystemRoleDeptService systemRoleDeptService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemUserService systemUserService;
|
|
||||||
@Autowired
|
|
||||||
private SystemUserRoleService systemUserRoleService;
|
private SystemUserRoleService systemUserRoleService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -228,7 +226,7 @@ public class SystemRoleService {
|
|||||||
* @param ids /
|
* @param ids /
|
||||||
*/
|
*/
|
||||||
public void verifyBindRelationByIds(Set<Long> ids) {
|
public void verifyBindRelationByIds(Set<Long> ids) {
|
||||||
if (systemUserService.countUserByRoleIds(ids) > 0) {
|
if (systemUserRoleService.countUserByRoleIds(ids) > 0) {
|
||||||
throw new BadRequestException("所选角色存在用户关联, 请解除关联再试!");
|
throw new BadRequestException("所选角色存在用户关联, 请解除关联再试!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -297,4 +295,8 @@ public class SystemRoleService {
|
|||||||
}
|
}
|
||||||
KitExcelExporter.exportSimple(response, "部门数据", SystemRoleExportRowVo.class, rowVos);
|
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);
|
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("角色权限不足");
|
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.SystemUpdateUserPasswordArgs;
|
||||||
import cn.odboy.system.dal.model.SystemUserExportRowVo;
|
import cn.odboy.system.dal.model.SystemUserExportRowVo;
|
||||||
import cn.odboy.system.dal.model.SystemUserVo;
|
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.SystemUserMapper;
|
||||||
import cn.odboy.system.dal.mysql.SystemUserRoleMapper;
|
|
||||||
import cn.odboy.system.dal.redis.SystemUserInfoDAO;
|
import cn.odboy.system.dal.redis.SystemUserInfoDAO;
|
||||||
import cn.odboy.system.dal.redis.SystemUserOnlineInfoDAO;
|
import cn.odboy.system.dal.redis.SystemUserOnlineInfoDAO;
|
||||||
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
|
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
|
||||||
@@ -78,11 +73,11 @@ public class SystemUserService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SystemUserMapper systemUserMapper;
|
private SystemUserMapper systemUserMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemJobMapper systemJobMapper;
|
private SystemJobService systemJobService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemRoleMapper systemRoleMapper;
|
private SystemRoleService systemRoleService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemDeptMapper systemDeptMapper;
|
private SystemDeptService systemDeptService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemUserJobService systemUserJobService;
|
private SystemUserJobService systemUserJobService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -90,8 +85,6 @@ public class SystemUserService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SystemEmailService systemEmailService;
|
private SystemEmailService systemEmailService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemDeptService systemDeptService;
|
|
||||||
@Autowired
|
|
||||||
private SystemDataService systemDataService;
|
private SystemDataService systemDataService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemUserInfoDAO systemUserInfoDAO;
|
private SystemUserInfoDAO systemUserInfoDAO;
|
||||||
@@ -100,10 +93,6 @@ public class SystemUserService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private KitFileLocalUploadHelper fileUploadPathHelper;
|
private KitFileLocalUploadHelper fileUploadPathHelper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemUserJobMapper systemUserJobMapper;
|
|
||||||
@Autowired
|
|
||||||
private SystemUserRoleMapper systemUserRoleMapper;
|
|
||||||
@Autowired
|
|
||||||
private AppProperties properties;
|
private AppProperties properties;
|
||||||
@Autowired
|
@Autowired
|
||||||
private PasswordEncoder passwordEncoder;
|
private PasswordEncoder passwordEncoder;
|
||||||
@@ -405,36 +394,6 @@ public class SystemUserService {
|
|||||||
}).collect(Collectors.toList());
|
}).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);
|
SystemUserVo userVo = BeanUtil.copyProperties(user, SystemUserVo.class);
|
||||||
// 查询关联的部门信息
|
// 查询关联的部门信息
|
||||||
if (user.getDeptId() != null) {
|
if (user.getDeptId() != null) {
|
||||||
SystemDeptTb dept = systemDeptMapper.selectById(user.getDeptId());
|
SystemDeptTb dept = systemDeptService.getDeptById(user.getDeptId());
|
||||||
userVo.setDept(dept);
|
userVo.setDept(dept);
|
||||||
}
|
}
|
||||||
// 查询关联的岗位信息
|
// 查询关联的岗位信息
|
||||||
LambdaQueryWrapper<SystemUserJobTb> jobWrapper = new LambdaQueryWrapper<>();
|
List<SystemUserJobTb> userJobs = systemUserJobService.listUserJobByUserId(user.getId());
|
||||||
jobWrapper.eq(SystemUserJobTb::getUserId, user.getId());
|
|
||||||
List<SystemUserJobTb> userJobs = systemUserJobMapper.selectList(jobWrapper);
|
|
||||||
if (CollUtil.isNotEmpty(userJobs)) {
|
if (CollUtil.isNotEmpty(userJobs)) {
|
||||||
Set<Long> jobIds = userJobs.stream().map(SystemUserJobTb::getJobId).collect(Collectors.toSet());
|
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));
|
userVo.setJobs(new LinkedHashSet<>(jobs));
|
||||||
}
|
}
|
||||||
// 查询关联的角色信息
|
// 查询关联的角色信息
|
||||||
LambdaQueryWrapper<SystemUserRoleTb> roleWrapper = new LambdaQueryWrapper<>();
|
List<SystemUserRoleTb> userRoles = systemUserRoleService.listUserRoleByUserId(user.getId());
|
||||||
roleWrapper.eq(SystemUserRoleTb::getUserId, user.getId());
|
|
||||||
List<SystemUserRoleTb> userRoles = systemUserRoleMapper.selectList(roleWrapper);
|
|
||||||
if (CollUtil.isNotEmpty(userRoles)) {
|
if (CollUtil.isNotEmpty(userRoles)) {
|
||||||
Set<Long> roleIds = userRoles.stream().map(SystemUserRoleTb::getRoleId).collect(Collectors.toSet());
|
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));
|
userVo.setRoles(new LinkedHashSet<>(roles));
|
||||||
}
|
}
|
||||||
return userVo;
|
return userVo;
|
||||||
|
|||||||
Reference in New Issue
Block a user