From 3f166213133b8fd69eced175c36fe2c408cd04d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E5=B1=95=E8=88=AA?= <2426745133@qq.com> Date: Fri, 12 Dec 2025 11:28:02 +0800 Subject: [PATCH] =?UTF-8?q?12-12-=E6=90=AD=E9=85=8D=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=88=97=E8=A1=A8=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SysRoleWorkServiceImpl.java | 65 +++++++++---------- 1 file changed, 31 insertions(+), 34 deletions(-) diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/service/impl/SysRoleWorkServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/service/impl/SysRoleWorkServiceImpl.java index 040b3a9b..c44af057 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/service/impl/SysRoleWorkServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/service/impl/SysRoleWorkServiceImpl.java @@ -24,10 +24,7 @@ import org.dromara.system.service.impl.SysRoleServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 角色流程对应Service业务层处理 @@ -242,57 +239,57 @@ public class SysRoleWorkServiceImpl extends ServiceImpl allRoleList = baseMapper.getAllRoleList(userId); - - //初始化 -// LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - + // 获取项目 List busProjectVoList = new ArrayList<>(); - + //维护一个该用户的 项目ID:角色ID map + Map map = new HashMap<>(); //获取到该用户所有有流程的项目 说明在该项目下该用户有角色有所属流程 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 vos = projectService.queryList(req); -// if (vos != null && !vos.isEmpty()){ -// if(!busProjectVoList.contains(vos.getFirst())){ -// busProjectVoList.add(vos.getFirst()); -// } -// } -// } BusProjectQueryReq req = new BusProjectQueryReq(); req.setId(sysUserRole.getProjectId()); List vos = projectService.queryList(req); if (vos != null && !vos.isEmpty()){ if(!busProjectVoList.contains(vos.getFirst())){ busProjectVoList.add(vos.getFirst()); + map.put(sysUserRole.getProjectId(),sysUserRole.getRoleId()); } } } - //遍历 + + List roleWorks = this.list(); List roleVos; for (BusProjectVo projectVo : busProjectVoList) { roleVos = new ArrayList<>(); - //通过项目查找所有角色 - LambdaQueryWrapper lqw1 = new LambdaQueryWrapper<>(); - lqw1.eq(SysRoleWork::getProjectId,projectVo.getId()); - //获取角色 - List roleWorkList = list(lqw1); - for (SysRoleWork sysRoleWork : roleWorkList) { - SysRoleVo sysRoleVo = roleService.selectRoleById(sysRoleWork.getRoleId()); - if (sysRoleVo != null){ - roleVos.add(sysRoleVo); + for (SysRoleWork roleWork : roleWorks) { + if (map.containsKey(projectVo.getId()) && roleWork.getRoleId().equals(map.get(projectVo.getId()))){ + SysRoleVo sysRoleVo = roleService.selectRoleById(roleWork.getRoleId()); + if (sysRoleVo != null){ + roleVos.add(sysRoleVo); + } } } projectVo.setRoleVos(roleVos); } + + //遍历 +// for (BusProjectVo projectVo : busProjectVoList) { +// roleVos = new ArrayList<>(); +// //通过项目查找所有角色 +// LambdaQueryWrapper lqw1 = new LambdaQueryWrapper<>(); +// lqw1.eq(SysRoleWork::getProjectId,projectVo.getId()); +// List roleWorkList = list(lqw1); +// //遍历 +// for (SysRoleWork sysRoleWork : roleWorkList) { +// SysRoleVo sysRoleVo = roleService.selectRoleById(sysRoleWork.getRoleId()); +// if (sysRoleVo != null){ +// roleVos.add(sysRoleVo); +// } +// } +// projectVo.setRoleVos(roleVos); +// } + return busProjectVoList; }