From 6938c7ef0fb2a83334a14cbf80c879f7a86b5b93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?= <15040126243@163.com> Date: Thu, 9 Feb 2023 17:14:25 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E9=87=8D?= =?UTF-8?q?=E6=9E=84=E4=B8=9A=E5=8A=A1=E6=9D=83=E9=99=90=20=E9=80=82?= =?UTF-8?q?=E9=85=8D=E5=A4=9A=E7=A7=9F=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/web/service/SysLoginService.java | 4 +-- .../common/core/constant/TenantConstants.java | 7 ++++- .../handler/PlusDataPermissionHandler.java | 3 +-- .../common/satoken/utils/LoginHelper.java | 25 ++++++++++++++--- .../controller/system/SysMenuController.java | 27 +++++++++++++++++++ .../controller/system/SysRoleController.java | 4 +-- .../system/SysTenantController.java | 9 +++++++ .../system/SysTenantPackageController.java | 9 +++++++ .../controller/system/SysUserController.java | 4 +-- .../java/com/ruoyi/system/domain/SysUser.java | 2 +- .../com/ruoyi/system/domain/bo/SysRoleBo.java | 2 +- .../com/ruoyi/system/domain/bo/SysUserBo.java | 2 +- .../com/ruoyi/system/domain/vo/SysRoleVo.java | 2 +- .../com/ruoyi/system/domain/vo/SysUserVo.java | 5 ---- .../system/service/ISysPermissionService.java | 6 ++--- .../service/impl/SysDeptServiceImpl.java | 2 +- .../service/impl/SysMenuServiceImpl.java | 4 +-- .../impl/SysPermissionServiceImpl.java | 14 +++++----- .../service/impl/SysRoleServiceImpl.java | 4 +-- .../service/impl/SysSensitiveServiceImpl.java | 2 +- .../service/impl/SysUserServiceImpl.java | 4 +-- 21 files changed, 100 insertions(+), 41 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/com/ruoyi/web/service/SysLoginService.java index b0f8b18d8..bc5834c32 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/service/SysLoginService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/service/SysLoginService.java @@ -254,8 +254,8 @@ public class SysLoginService { loginUser.setDeptId(user.getDeptId()); loginUser.setUsername(user.getUserName()); loginUser.setUserType(user.getUserType()); - loginUser.setMenuPermission(permissionService.getMenuPermission(user.getUserId(), user.isAdmin())); - loginUser.setRolePermission(permissionService.getRolePermission(user.getUserId(), user.isAdmin())); + loginUser.setMenuPermission(permissionService.getMenuPermission(user.getUserId())); + loginUser.setRolePermission(permissionService.getRolePermission(user.getUserId())); loginUser.setDeptName(ObjectUtil.isNull(user.getDept()) ? "" : user.getDept().getDeptName()); List roles = BeanUtil.copyToList(user.getRoles(), RoleDTO.class); loginUser.setRoles(roles); diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/TenantConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/TenantConstants.java index bdde0b7ec..72cf86868 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/TenantConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/TenantConstants.java @@ -26,7 +26,12 @@ public interface TenantConstants { /** * 超级管理员ID */ - Long TENANT_SUPER_ADMIN_ID = 1L; + Long SUPER_ADMIN_ID = 1L; + + /** + * 超级管理员角色 roleKey + */ + String SUPER_ADMIN_ROLE_KEY = "superadmin"; /** * 租户管理员角色 roleKey diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/handler/PlusDataPermissionHandler.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/handler/PlusDataPermissionHandler.java index 42e238a10..740f932f1 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/handler/PlusDataPermissionHandler.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/com/ruoyi/common/mybatis/handler/PlusDataPermissionHandler.java @@ -35,7 +35,6 @@ import java.lang.reflect.Method; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; -import java.util.stream.Collectors; /** * 数据权限过滤 @@ -79,7 +78,7 @@ public class PlusDataPermissionHandler { DataPermissionHelper.setVariable("user", currentUser); } // 如果是超级管理员,则不过滤数据 - if (LoginHelper.isAdmin()) { + if (LoginHelper.isSuperAdmin()) { return where; } String dataFilterSql = buildDataFilter(dataColumns, isSelect); diff --git a/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/utils/LoginHelper.java b/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/utils/LoginHelper.java index 5b37788ba..c9250fda4 100644 --- a/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/utils/LoginHelper.java +++ b/ruoyi-common/ruoyi-common-satoken/src/main/java/com/ruoyi/common/satoken/utils/LoginHelper.java @@ -3,6 +3,7 @@ package com.ruoyi.common.satoken.utils; import cn.dev33.satoken.context.SaHolder; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.util.ObjectUtil; +import com.ruoyi.common.core.constant.TenantConstants; import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.enums.DeviceType; @@ -12,6 +13,8 @@ import com.ruoyi.common.core.utils.StringUtils; import lombok.AccessLevel; import lombok.NoArgsConstructor; +import java.util.Set; + /** * 登录鉴权助手 *

@@ -132,17 +135,31 @@ public class LoginHelper { } /** - * 是否为管理员 + * 是否为超级管理员 * * @param userId 用户ID * @return 结果 */ - public static boolean isAdmin(Long userId) { + public static boolean isSuperAdmin(Long userId) { return UserConstants.SUPER_ADMIN_ID.equals(userId); } - public static boolean isAdmin() { - return isAdmin(getUserId()); + public static boolean isSuperAdmin() { + return isSuperAdmin(getUserId()); + } + + /** + * 是否为超级管理员 + * + * @param rolePermission 角色权限标识组 + * @return 结果 + */ + public static boolean isTenantAdmin(Set rolePermission) { + return rolePermission.contains(TenantConstants.TENANT_ADMIN_ROLE_KEY); + } + + public static boolean isTenantAdmin() { + return isTenantAdmin(getLoginUser().getRolePermission()); } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysMenuController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysMenuController.java index 3bb1d86f1..6914d4ec5 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysMenuController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysMenuController.java @@ -1,7 +1,10 @@ package com.ruoyi.system.controller.system; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.dev33.satoken.annotation.SaCheckRole; +import cn.dev33.satoken.annotation.SaMode; import cn.hutool.core.lang.tree.Tree; +import com.ruoyi.common.core.constant.TenantConstants; import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.StringUtils; @@ -35,6 +38,10 @@ public class SysMenuController extends BaseController { /** * 获取菜单列表 */ + @SaCheckRole(value = { + TenantConstants.SUPER_ADMIN_ROLE_KEY, + TenantConstants.TENANT_ADMIN_ROLE_KEY + }, mode = SaMode.OR) @SaCheckPermission("system:menu:list") @GetMapping("/list") public R> list(SysMenuBo menu) { @@ -47,6 +54,10 @@ public class SysMenuController extends BaseController { * * @param menuId 菜单ID */ + @SaCheckRole(value = { + TenantConstants.SUPER_ADMIN_ROLE_KEY, + TenantConstants.TENANT_ADMIN_ROLE_KEY + }, mode = SaMode.OR) @SaCheckPermission("system:menu:query") @GetMapping(value = "/{menuId}") public R getInfo(@PathVariable Long menuId) { @@ -56,6 +67,11 @@ public class SysMenuController extends BaseController { /** * 获取菜单下拉树列表 */ + @SaCheckRole(value = { + TenantConstants.SUPER_ADMIN_ROLE_KEY, + TenantConstants.TENANT_ADMIN_ROLE_KEY + }, mode = SaMode.OR) + @SaCheckPermission("system:menu:query") @GetMapping("/treeselect") public R>> treeselect(SysMenuBo menu) { List menus = menuService.selectMenuList(menu, LoginHelper.getUserId()); @@ -67,6 +83,11 @@ public class SysMenuController extends BaseController { * * @param roleId 角色ID */ + @SaCheckRole(value = { + TenantConstants.SUPER_ADMIN_ROLE_KEY, + TenantConstants.TENANT_ADMIN_ROLE_KEY + }, mode = SaMode.OR) + @SaCheckPermission("system:menu:query") @GetMapping(value = "/roleMenuTreeselect/{roleId}") public R roleMenuTreeselect(@PathVariable("roleId") Long roleId) { List menus = menuService.selectMenuList(LoginHelper.getUserId()); @@ -81,6 +102,8 @@ public class SysMenuController extends BaseController { * * @param packageId 租户套餐ID */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) + @SaCheckPermission("system:menu:query") @GetMapping(value = "/tenantPackageMenuTreeselect/{packageId}") public R tenantPackageMenuTreeselect(@PathVariable("packageId") Long packageId) { List menus = menuService.selectMenuList(LoginHelper.getUserId()); @@ -93,6 +116,7 @@ public class SysMenuController extends BaseController { /** * 新增菜单 */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:menu:add") @Log(title = "菜单管理", businessType = BusinessType.INSERT) @PostMapping @@ -108,6 +132,7 @@ public class SysMenuController extends BaseController { /** * 修改菜单 */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:menu:edit") @Log(title = "菜单管理", businessType = BusinessType.UPDATE) @PutMapping @@ -127,6 +152,7 @@ public class SysMenuController extends BaseController { * * @param menuId 菜单ID */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:menu:remove") @Log(title = "菜单管理", businessType = BusinessType.DELETE) @DeleteMapping("/{menuId}") @@ -139,4 +165,5 @@ public class SysMenuController extends BaseController { } return toAjax(menuService.deleteMenuById(menuId)); } + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysRoleController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysRoleController.java index 45f6c3eda..ad75e3342 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysRoleController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysRoleController.java @@ -113,8 +113,8 @@ public class SysRoleController extends BaseController { // 更新缓存用户权限 LoginUser loginUser = LoginHelper.getLoginUser(); SysUserVo sysUser = userService.selectUserById(loginUser.getUserId()); - if (ObjectUtil.isNotNull(sysUser) && !LoginHelper.isAdmin()) { - loginUser.setMenuPermission(permissionService.getMenuPermission(sysUser.getUserId(), sysUser.isAdmin())); + if (ObjectUtil.isNotNull(sysUser)) { + loginUser.setMenuPermission(permissionService.getMenuPermission(sysUser.getUserId())); LoginHelper.setLoginUser(loginUser); } return R.ok(); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantController.java index c8040bd38..7eb628fa7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantController.java @@ -1,7 +1,9 @@ package com.ruoyi.system.controller.system; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.dev33.satoken.annotation.SaCheckRole; import com.baomidou.lock.annotation.Lock4j; +import com.ruoyi.common.core.constant.TenantConstants; import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; @@ -45,6 +47,7 @@ public class SysTenantController extends BaseController { /** * 查询租户列表 */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:tenant:list") @GetMapping("/list") public TableDataInfo list(SysTenantBo bo, PageQuery pageQuery) { @@ -54,6 +57,7 @@ public class SysTenantController extends BaseController { /** * 导出租户列表 */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:tenant:export") @Log(title = "租户", businessType = BusinessType.EXPORT) @PostMapping("/export") @@ -67,6 +71,7 @@ public class SysTenantController extends BaseController { * * @param id 主键 */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:tenant:query") @GetMapping("/{id}") public R getInfo(@NotNull(message = "主键不能为空") @@ -77,6 +82,7 @@ public class SysTenantController extends BaseController { /** * 新增租户 */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:tenant:add") @Log(title = "租户", businessType = BusinessType.INSERT) @Lock4j @@ -95,6 +101,7 @@ public class SysTenantController extends BaseController { /** * 修改租户 */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:tenant:edit") @Log(title = "租户", businessType = BusinessType.UPDATE) @RepeatSubmit() @@ -106,6 +113,7 @@ public class SysTenantController extends BaseController { /** * 状态修改 */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:tenantPackage:edit") @Log(title = "租户套餐", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") @@ -118,6 +126,7 @@ public class SysTenantController extends BaseController { * * @param ids 主键串 */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:tenant:remove") @Log(title = "租户", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantPackageController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantPackageController.java index f650ecea6..a0626c37a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantPackageController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysTenantPackageController.java @@ -1,6 +1,8 @@ package com.ruoyi.system.controller.system; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.dev33.satoken.annotation.SaCheckRole; +import com.ruoyi.common.core.constant.TenantConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; @@ -39,6 +41,7 @@ public class SysTenantPackageController extends BaseController { /** * 查询租户套餐列表 */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:tenantPackage:list") @GetMapping("/list") public TableDataInfo list(SysTenantPackageBo bo, PageQuery pageQuery) { @@ -48,6 +51,7 @@ public class SysTenantPackageController extends BaseController { /** * 导出租户套餐列表 */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:tenantPackage:export") @Log(title = "租户套餐", businessType = BusinessType.EXPORT) @PostMapping("/export") @@ -61,6 +65,7 @@ public class SysTenantPackageController extends BaseController { * * @param packageId 主键 */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:tenantPackage:query") @GetMapping("/{packageId}") public R getInfo(@NotNull(message = "主键不能为空") @@ -71,6 +76,7 @@ public class SysTenantPackageController extends BaseController { /** * 新增租户套餐 */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:tenantPackage:add") @Log(title = "租户套餐", businessType = BusinessType.INSERT) @RepeatSubmit() @@ -82,6 +88,7 @@ public class SysTenantPackageController extends BaseController { /** * 修改租户套餐 */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:tenantPackage:edit") @Log(title = "租户套餐", businessType = BusinessType.UPDATE) @RepeatSubmit() @@ -93,6 +100,7 @@ public class SysTenantPackageController extends BaseController { /** * 状态修改 */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:tenantPackage:edit") @Log(title = "租户套餐", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") @@ -105,6 +113,7 @@ public class SysTenantPackageController extends BaseController { * * @param packageIds 主键串 */ + @SaCheckRole(TenantConstants.SUPER_ADMIN_ROLE_KEY) @SaCheckPermission("system:tenantPackage:remove") @Log(title = "租户套餐", businessType = BusinessType.DELETE) @DeleteMapping("/{packageIds}") diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java index 46d6f46b3..ccb9cd2d9 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/system/SysUserController.java @@ -114,7 +114,7 @@ public class SysUserController extends BaseController { userService.checkUserDataScope(userId); SysUserInfoVo userInfoVo = new SysUserInfoVo(); List roles = roleService.selectRoleAll(); - userInfoVo.setRoles(LoginHelper.isAdmin(userId) ? roles : StreamUtils.filter(roles, r -> !r.isAdmin())); + userInfoVo.setRoles(LoginHelper.isSuperAdmin(userId) ? roles : StreamUtils.filter(roles, r -> !r.isSuperAdmin())); userInfoVo.setPosts(postService.selectPostAll()); if (ObjectUtil.isNotNull(userId)) { SysUserVo sysUser = userService.selectUserById(userId); @@ -224,7 +224,7 @@ public class SysUserController extends BaseController { List roles = roleService.selectRolesByUserId(userId); SysUserInfoVo userInfoVo = new SysUserInfoVo(); userInfoVo.setUser(user); - userInfoVo.setRoles(LoginHelper.isAdmin(userId) ? roles : StreamUtils.filter(roles, r -> !r.isAdmin())); + userInfoVo.setRoles(LoginHelper.isSuperAdmin(userId) ? roles : StreamUtils.filter(roles, r -> !r.isSuperAdmin())); return R.ok(userInfoVo); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUser.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUser.java index c48030e17..42c35c7e7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUser.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysUser.java @@ -108,7 +108,7 @@ public class SysUser extends TenantEntity { this.userId = userId; } - public boolean isAdmin() { + public boolean isSuperAdmin() { return UserConstants.SUPER_ADMIN_ID.equals(this.userId); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysRoleBo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysRoleBo.java index 7ca4ab654..c9af4eddd 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysRoleBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysRoleBo.java @@ -87,7 +87,7 @@ public class SysRoleBo extends BaseEntity { this.roleId = roleId; } - public boolean isAdmin() { + public boolean isSuperAdmin() { return UserConstants.SUPER_ADMIN_ID.equals(this.roleId); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysUserBo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysUserBo.java index cd9dd4007..b3a92b53c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysUserBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysUserBo.java @@ -123,7 +123,7 @@ public class SysUserBo extends BaseEntity { this.userId = userId; } - public boolean isAdmin() { + public boolean isSuperAdmin() { return UserConstants.SUPER_ADMIN_ID.equals(this.userId); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysRoleVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysRoleVo.java index c7d2a61a5..0bc71f245 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysRoleVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysRoleVo.java @@ -90,7 +90,7 @@ public class SysRoleVo implements Serializable { */ private boolean flag = false; - public boolean isAdmin() { + public boolean isSuperAdmin() { return UserConstants.SUPER_ADMIN_ID.equals(this.roleId); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysUserVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysUserVo.java index 6025f1d5d..0de88f913 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysUserVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysUserVo.java @@ -1,6 +1,5 @@ package com.ruoyi.system.domain.vo; -import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.translation.annotation.Translation; import com.ruoyi.common.translation.constant.TransConstant; import lombok.Data; @@ -128,8 +127,4 @@ public class SysUserVo implements Serializable { */ private Long roleId; - public boolean isAdmin() { - return UserConstants.SUPER_ADMIN_ID.equals(this.userId); - } - } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPermissionService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPermissionService.java index 5e6875287..1e6d2d1db 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPermissionService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPermissionService.java @@ -13,18 +13,16 @@ public interface ISysPermissionService { * 获取角色数据权限 * * @param userId 用户id - * @param isAdmin 是否管理员 * @return 角色权限信息 */ - Set getRolePermission(Long userId, boolean isAdmin); + Set getRolePermission(Long userId); /** * 获取菜单数据权限 * * @param userId 用户id - * @param isAdmin 是否管理员 * @return 菜单权限信息 */ - Set getMenuPermission(Long userId, boolean isAdmin); + Set getMenuPermission(Long userId); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java index 61ab9b352..fda7f62f8 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java @@ -213,7 +213,7 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService { */ @Override public void checkDeptDataScope(Long deptId) { - if (!LoginHelper.isAdmin()) { + if (!LoginHelper.isSuperAdmin()) { SysDeptBo dept = new SysDeptBo(); dept.setDeptId(deptId); List depts = this.selectDeptList(dept); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java index 420b4036b..29cdcb5b6 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java @@ -67,7 +67,7 @@ public class SysMenuServiceImpl implements ISysMenuService { public List selectMenuList(SysMenuBo menu, Long userId) { List menuList; // 管理员显示所有菜单信息 - if (LoginHelper.isAdmin(userId)) { + if (LoginHelper.isSuperAdmin(userId)) { menuList = baseMapper.selectVoList(new LambdaQueryWrapper() .like(StringUtils.isNotBlank(menu.getMenuName()), SysMenu::getMenuName, menu.getMenuName()) .eq(StringUtils.isNotBlank(menu.getVisible()), SysMenu::getVisible, menu.getVisible()) @@ -133,7 +133,7 @@ public class SysMenuServiceImpl implements ISysMenuService { @Override public List selectMenuTreeByUserId(Long userId) { List menus; - if (LoginHelper.isAdmin(userId)) { + if (LoginHelper.isSuperAdmin(userId)) { menus = baseMapper.selectMenuTreeAll(); } else { menus = baseMapper.selectMenuTreeByUserId(userId); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java index 5a91661c0..ded956c56 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java @@ -1,5 +1,7 @@ package com.ruoyi.system.service.impl; +import com.ruoyi.common.core.constant.TenantConstants; +import com.ruoyi.common.satoken.utils.LoginHelper; import com.ruoyi.system.service.ISysMenuService; import com.ruoyi.system.service.ISysPermissionService; import com.ruoyi.system.service.ISysRoleService; @@ -25,15 +27,14 @@ public class SysPermissionServiceImpl implements ISysPermissionService { * 获取角色数据权限 * * @param userId 用户id - * @param isAdmin 是否管理员 * @return 角色权限信息 */ @Override - public Set getRolePermission(Long userId, boolean isAdmin) { + public Set getRolePermission(Long userId) { Set roles = new HashSet<>(); // 管理员拥有所有权限 - if (isAdmin) { - roles.add("admin"); + if (LoginHelper.isSuperAdmin(userId)) { + roles.add(TenantConstants.SUPER_ADMIN_ROLE_KEY); } else { roles.addAll(roleService.selectRolePermissionByUserId(userId)); } @@ -44,14 +45,13 @@ public class SysPermissionServiceImpl implements ISysPermissionService { * 获取菜单数据权限 * * @param userId 用户id - * @param isAdmin 是否管理员 * @return 菜单权限信息 */ @Override - public Set getMenuPermission(Long userId, boolean isAdmin) { + public Set getMenuPermission(Long userId) { Set perms = new HashSet<>(); // 管理员拥有所有权限 - if (isAdmin) { + if (LoginHelper.isSuperAdmin(userId)) { perms.add("*:*:*"); } else { perms.addAll(menuService.selectMenuPermsByUserId(userId)); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java index 178728181..a04f81fe3 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java @@ -189,7 +189,7 @@ public class SysRoleServiceImpl implements ISysRoleService { */ @Override public void checkRoleAllowed(SysRoleBo role) { - if (ObjectUtil.isNotNull(role.getRoleId()) && role.isAdmin()) { + if (ObjectUtil.isNotNull(role.getRoleId()) && role.isSuperAdmin()) { throw new ServiceException("不允许操作超级管理员角色"); } } @@ -201,7 +201,7 @@ public class SysRoleServiceImpl implements ISysRoleService { */ @Override public void checkRoleDataScope(Long roleId) { - if (!LoginHelper.isAdmin()) { + if (!LoginHelper.isSuperAdmin()) { SysRoleBo role = new SysRoleBo(); role.setRoleId(roleId); List roles = this.selectRoleList(role); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSensitiveServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSensitiveServiceImpl.java index 40123c73e..cab1f4c33 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSensitiveServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSensitiveServiceImpl.java @@ -20,7 +20,7 @@ public class SysSensitiveServiceImpl implements SensitiveService { */ @Override public boolean isSensitive() { - return !LoginHelper.isAdmin(); + return !LoginHelper.isSuperAdmin() || !LoginHelper.isTenantAdmin(); } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 99b61d758..1628d5fcc 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -250,7 +250,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { */ @Override public void checkUserAllowed(SysUserBo user) { - if (ObjectUtil.isNotNull(user.getUserId()) && user.isAdmin()) { + if (ObjectUtil.isNotNull(user.getUserId()) && user.isSuperAdmin()) { throw new ServiceException("不允许操作超级管理员用户"); } } @@ -262,7 +262,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { */ @Override public void checkUserDataScope(Long userId) { - if (!LoginHelper.isAdmin()) { + if (!LoginHelper.isSuperAdmin()) { SysUserBo user = new SysUserBo(); user.setUserId(userId); List users = this.selectUserList(user);