12-12-搭配角色流程列表修改

This commit is contained in:
2025-12-12 11:28:02 +08:00
parent 03b3c8141a
commit 3f16621313

View File

@ -24,10 +24,7 @@ import org.dromara.system.service.impl.SysRoleServiceImpl;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/** /**
* 角色流程对应Service业务层处理 * 角色流程对应Service业务层处理
@ -242,57 +239,57 @@ public class SysRoleWorkServiceImpl extends ServiceImpl<SysRoleWorkMapper, SysRo
Long userId = LoginHelper.getUserId(); Long userId = LoginHelper.getUserId();
// 获取当前登录用户的所有项目及对应所有角色 // 获取当前登录用户的所有项目及对应所有角色
List<SysUserRole> allRoleList = baseMapper.getAllRoleList(userId); List<SysUserRole> allRoleList = baseMapper.getAllRoleList(userId);
// 获取项目
//初始化
// LambdaQueryWrapper<SysRoleWork> lqw = new LambdaQueryWrapper<>();
List<BusProjectVo> busProjectVoList = new ArrayList<>(); List<BusProjectVo> busProjectVoList = new ArrayList<>();
//维护一个该用户的 项目ID:角色ID map
Map<Long,Long> map = new HashMap<>();
//获取到该用户所有有流程的项目 说明在该项目下该用户有角色有所属流程 //获取到该用户所有有流程的项目 说明在该项目下该用户有角色有所属流程
for (SysUserRole sysUserRole : allRoleList) { for (SysUserRole sysUserRole : allRoleList) {
// lqw.clear();
// lqw.eq(SysRoleWork::getProjectId,sysUserRole.getProjectId());
// lqw.eq(SysRoleWork::getRoleId, sysUserRole.getRoleId());
// SysRoleWork one = getOne(lqw);
// if (one != null){
// //先拿到该项目
// BusProjectQueryReq req = new BusProjectQueryReq();
// req.setId(sysUserRole.getProjectId());
// List<BusProjectVo> vos = projectService.queryList(req);
// if (vos != null && !vos.isEmpty()){
// if(!busProjectVoList.contains(vos.getFirst())){
// busProjectVoList.add(vos.getFirst());
// }
// }
// }
BusProjectQueryReq req = new BusProjectQueryReq(); BusProjectQueryReq req = new BusProjectQueryReq();
req.setId(sysUserRole.getProjectId()); req.setId(sysUserRole.getProjectId());
List<BusProjectVo> vos = projectService.queryList(req); List<BusProjectVo> vos = projectService.queryList(req);
if (vos != null && !vos.isEmpty()){ if (vos != null && !vos.isEmpty()){
if(!busProjectVoList.contains(vos.getFirst())){ if(!busProjectVoList.contains(vos.getFirst())){
busProjectVoList.add(vos.getFirst()); busProjectVoList.add(vos.getFirst());
map.put(sysUserRole.getProjectId(),sysUserRole.getRoleId());
} }
} }
} }
//遍历
List<SysRoleWork> roleWorks = this.list();
List<SysRoleVo> roleVos; List<SysRoleVo> roleVos;
for (BusProjectVo projectVo : busProjectVoList) { for (BusProjectVo projectVo : busProjectVoList) {
roleVos = new ArrayList<>(); roleVos = new ArrayList<>();
//通过项目查找所有角色 for (SysRoleWork roleWork : roleWorks) {
LambdaQueryWrapper<SysRoleWork> lqw1 = new LambdaQueryWrapper<>(); if (map.containsKey(projectVo.getId()) && roleWork.getRoleId().equals(map.get(projectVo.getId()))){
lqw1.eq(SysRoleWork::getProjectId,projectVo.getId()); SysRoleVo sysRoleVo = roleService.selectRoleById(roleWork.getRoleId());
//获取角色 if (sysRoleVo != null){
List<SysRoleWork> roleWorkList = list(lqw1); roleVos.add(sysRoleVo);
for (SysRoleWork sysRoleWork : roleWorkList) { }
SysRoleVo sysRoleVo = roleService.selectRoleById(sysRoleWork.getRoleId());
if (sysRoleVo != null){
roleVos.add(sysRoleVo);
} }
} }
projectVo.setRoleVos(roleVos); projectVo.setRoleVos(roleVos);
} }
//遍历
// for (BusProjectVo projectVo : busProjectVoList) {
// roleVos = new ArrayList<>();
// //通过项目查找所有角色
// LambdaQueryWrapper<SysRoleWork> lqw1 = new LambdaQueryWrapper<>();
// lqw1.eq(SysRoleWork::getProjectId,projectVo.getId());
// List<SysRoleWork> roleWorkList = list(lqw1);
// //遍历
// for (SysRoleWork sysRoleWork : roleWorkList) {
// SysRoleVo sysRoleVo = roleService.selectRoleById(sysRoleWork.getRoleId());
// if (sysRoleVo != null){
// roleVos.add(sysRoleVo);
// }
// }
// projectVo.setRoleVos(roleVos);
// }
return busProjectVoList; return busProjectVoList;
} }