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);