From c53fbac707e009ec632b49e8176fcdec573cc473 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Fri, 13 Dec 2024 16:56:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=85=E9=81=93#958=E3=80=81#956=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/permission/RoleServiceImpl.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/RoleServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/RoleServiceImpl.java index 63bec4b8c..2f23e1831 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/RoleServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/RoleServiceImpl.java @@ -261,14 +261,19 @@ public class RoleServiceImpl implements RoleService { public List getRoleListByStatus(Collection statuses, Long organId) { LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); assert loginUser != null; - if (!loginUser.getIsSupAdmin()) { - return roleMapper.selectList(new LambdaQueryWrapperX() - .in(RoleDO::getStatus, statuses) - .in(RoleDO::getOrganId, loginUser.getOrganId(), 0L) - .ne(RoleDO::getId, 1) - ); + // 内置角色organId:0L + Long[] roleOrganArr = new Long[2]; + roleOrganArr[0] = 0L; + // 超管可查看其他组织角色,其余只看本机构下 + Long currOrganId = (loginUser.getIsSupAdmin() && ObjectUtil.isNotNull(organId)) ? organId : loginUser.getOrganId(); + if(ObjectUtil.isNotNull(currOrganId)) { + roleOrganArr[1] = currOrganId; } - return roleMapper.selectListByStatus(statuses, ObjectUtil.isNotNull(organId) ? organId : loginUser.getOrganId()); + return roleMapper.selectList(new LambdaQueryWrapperX() + .in(RoleDO::getStatus, statuses) + .in(RoleDO::getOrganId, roleOrganArr) + .ne(RoleDO::getId, 1) + ); } @Override