From ec004e9ba376c902c63d1450af3f85dd093205bf Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期一, 16 一月 2023 14:11:45 +0800 Subject: [PATCH] add 增加 (开发、测试、打包)期间必备的jvm参数 --- ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java | 58 ++++++++++++++++++++++++++++++---------------------------- 1 files changed, 30 insertions(+), 28 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java index d8c657b..c82f73d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java @@ -1,42 +1,38 @@ package com.ruoyi.system.service; -import com.ruoyi.common.core.domain.entity.SysUser; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; +import com.ruoyi.system.domain.SysRole; +import com.ruoyi.system.domain.SysUser; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; import java.util.HashSet; +import java.util.List; import java.util.Set; /** * 鐢ㄦ埛鏉冮檺澶勭悊 - * + * * @author ruoyi */ -@Component -public class SysPermissionService -{ - @Autowired - private ISysRoleService roleService; +@RequiredArgsConstructor +@Service +public class SysPermissionService { - @Autowired - private ISysMenuService menuService; + private final ISysRoleService roleService; + private final ISysMenuService menuService; /** * 鑾峰彇瑙掕壊鏁版嵁鏉冮檺 - * + * * @param user 鐢ㄦ埛淇℃伅 * @return 瑙掕壊鏉冮檺淇℃伅 */ - public Set<String> getRolePermission(SysUser user) - { + public Set<String> getRolePermission(SysUser user) { Set<String> roles = new HashSet<String>(); // 绠$悊鍛樻嫢鏈夋墍鏈夋潈闄� - if (user.isAdmin()) - { + if (user.isAdmin()) { roles.add("admin"); - } - else - { + } else { roles.addAll(roleService.selectRolePermissionByUserId(user.getUserId())); } return roles; @@ -44,21 +40,27 @@ /** * 鑾峰彇鑿滃崟鏁版嵁鏉冮檺 - * + * * @param user 鐢ㄦ埛淇℃伅 * @return 鑿滃崟鏉冮檺淇℃伅 */ - public Set<String> getMenuPermission(SysUser user) - { + public Set<String> getMenuPermission(SysUser user) { Set<String> perms = new HashSet<String>(); // 绠$悊鍛樻嫢鏈夋墍鏈夋潈闄� - if (user.isAdmin()) - { + if (user.isAdmin()) { perms.add("*:*:*"); - } - else - { - perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId())); + } else { + List<SysRole> roles = user.getRoles(); + if (!roles.isEmpty() && roles.size() > 1) { + // 澶氳鑹茶缃畃ermissions灞炴�э紝浠ヤ究鏁版嵁鏉冮檺鍖归厤鏉冮檺 + for (SysRole role : roles) { + Set<String> rolePerms = menuService.selectMenuPermsByRoleId(role.getRoleId()); + role.setPermissions(rolePerms); + perms.addAll(rolePerms); + } + } else { + perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId())); + } } return perms; } -- Gitblit v1.9.3