From 5c2e43e8ec2b9aa83bf2d271ff61f7287886fff4 Mon Sep 17 00:00:00 2001 From: "lj7788@126.com" Date: Fri, 15 Aug 2025 10:41:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9D=83=E9=99=90=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yanzhu/system/mapper/SysMenuMapper.java | 10 +++++++++ .../resources/mapper/system/SysMenuMapper.xml | 11 ++++++++++ .../mapper/system/SysUserComMapper.xml | 2 +- .../system/service/ISysMenuService.java | 9 ++++++++ .../service/impl/SysMenuServiceImpl.java | 21 +++++++++++++++++++ .../impl/SysPermissionServiceImpl.java | 2 +- 6 files changed, 53 insertions(+), 2 deletions(-) diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/mapper/SysMenuMapper.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/mapper/SysMenuMapper.java index 981a64a5..81b1b00a 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/mapper/SysMenuMapper.java +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/system/mapper/SysMenuMapper.java @@ -60,6 +60,16 @@ public interface SysMenuMapper */ public List selectMenuPermsByUserIdAndDept(@Param("userId")Long userId,@Param("deptId") Long deptId); + + /** + * 根据角色D查询权限 + * + * @param roleId 角色ID + * @param deptId 单位ID + * @return 权限列表 + */ + public List selectMenuPermsByRoleIdAndDept(@Param("roleId")Long roleId,@Param("deptId") Long deptId); + /** * 根据用户ID查询菜单 * diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysMenuMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysMenuMapper.xml index 7ffb8917..2d67ff9b 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysMenuMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysMenuMapper.xml @@ -122,6 +122,17 @@ and rd.dept_id = #{deptId} + + diff --git a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/ISysMenuService.java b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/ISysMenuService.java index 1da0c47b..e7c4497f 100644 --- a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/ISysMenuService.java +++ b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/ISysMenuService.java @@ -47,6 +47,15 @@ public interface ISysMenuService */ public Set selectMenuPermsByUserIdAndDept(Long userId,Long deptId); + /** + * 根据角色ID查询权限 + * + * @param roleId 角色ID + * @param deptId 单位ID + * @return 权限列表 + */ + public Set selectMenuPermsByRoleIdAndDept(Long roleId,Long deptId); + /** * 根据角色ID查询权限 * diff --git a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysMenuServiceImpl.java b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysMenuServiceImpl.java index 45dc5806..c3ec8420 100644 --- a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysMenuServiceImpl.java +++ b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysMenuServiceImpl.java @@ -122,6 +122,27 @@ public class SysMenuServiceImpl implements ISysMenuService return permsSet; } + /** + * 根据角色ID查询权限 + * + * @param roleId 角色ID + * @param deptId 单位ID + * @return 权限列表 + */ + @Override + public Set selectMenuPermsByRoleIdAndDept(Long roleId,Long deptId){ + List perms = menuMapper.selectMenuPermsByRoleIdAndDept(roleId,deptId); + Set permsSet = new HashSet<>(); + for (String perm : perms) + { + if (StringUtils.isNotEmpty(perm)) + { + permsSet.addAll(Arrays.asList(perm.trim().split(","))); + } + } + return permsSet; + } + /** * 根据角色ID查询权限 * diff --git a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysPermissionServiceImpl.java b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysPermissionServiceImpl.java index 9f74ac86..2f25d9a9 100644 --- a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysPermissionServiceImpl.java +++ b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/service/impl/SysPermissionServiceImpl.java @@ -88,7 +88,7 @@ public class SysPermissionServiceImpl implements ISysPermissionService if(SysRole.isGsAdmin(getRoleKeys(user.getRoles()))){ rolePerms = menuService.selectMenuPermsByRoleId(role.getRoleId()); }else{ - rolePerms = menuService.selectMenuPermsByUserIdAndDept(role.getRoleId(),user.getActiveProjectId()); + rolePerms = menuService.selectMenuPermsByRoleIdAndDept(role.getRoleId(),user.getActiveProjectId()); } role.setPermissions(rolePerms); perms.addAll(rolePerms);