From fa6537aede497d66227a4aaf3a4fd58d7544dff5 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Sun, 4 Jan 2026 16:34:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86isAdmin=E6=96=B9=E6=B3=95=E7=BB=9F?= =?UTF-8?q?=E4=B8=80=E5=88=B0ShiroUtils?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/SysUserController.java | 4 ++-- .../common/core/domain/entity/SysUser.java | 8 ++----- .../file/InvalidExtensionException.java | 2 +- .../com/ruoyi/common/utils/ShiroUtils.java | 21 +++++++++++++++++++ .../service/impl/SysDeptServiceImpl.java | 3 +-- .../service/impl/SysMenuServiceImpl.java | 5 +++-- .../service/impl/SysRoleServiceImpl.java | 3 +-- .../service/impl/SysUserServiceImpl.java | 2 +- 8 files changed, 32 insertions(+), 16 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index 2832b13d..6efe5902 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -162,7 +162,7 @@ public class SysUserController extends BaseController userService.checkUserDataScope(userId); List roles = roleService.selectRolesByUserId(userId); mmap.put("user", userService.selectUserById(userId)); - mmap.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); + mmap.put("roles", ShiroUtils.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); mmap.put("posts", postService.selectPostsByUserId(userId)); return prefix + "/edit"; } @@ -253,7 +253,7 @@ public class SysUserController extends BaseController // 获取用户所属的角色列表 List roles = roleService.selectRolesByUserId(userId); mmap.put("user", user); - mmap.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); + mmap.put("roles", ShiroUtils.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList())); return prefix + "/authRole"; } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java index d9242193..f8036c20 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java @@ -11,6 +11,7 @@ import com.ruoyi.common.annotation.Excel.ColumnType; import com.ruoyi.common.annotation.Excel.Type; import com.ruoyi.common.annotation.Excels; import com.ruoyi.common.core.domain.BaseEntity; +import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.xss.Xss; /** @@ -123,12 +124,7 @@ public class SysUser extends BaseEntity public boolean isAdmin() { - return isAdmin(this.userId); - } - - public static boolean isAdmin(Long userId) - { - return userId != null && 1L == userId; + return ShiroUtils.isAdmin(this.userId); } public Long getDeptId() diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java b/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java index f24d744a..63b74145 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java @@ -3,7 +3,7 @@ package com.ruoyi.common.exception.file; import java.util.Arrays; /** - * 文件上传 误异常类 + * 文件上传无效扩展名异常类 * * @author ruoyi */ diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ShiroUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/ShiroUtils.java index 1c7ab4dd..0966cda7 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/ShiroUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/ShiroUtils.java @@ -73,6 +73,27 @@ public class ShiroUtils return String.valueOf(getSubject().getSession().getId()); } + /** + * 是否为管理员 + * + * @return 结果 + */ + public static boolean isAdmin() + { + return isAdmin(getUserId()); + } + + /** + * 是否为管理员 + * + * @param userId 用户ID + * @return 结果 + */ + public static boolean isAdmin(Long userId) + { + return userId != null && 1L == userId; + } + /** * 生成随机盐 */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java index e7ee0c9d..454f7a90 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java @@ -11,7 +11,6 @@ import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.Ztree; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysRole; -import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.ShiroUtils; @@ -314,7 +313,7 @@ public class SysDeptServiceImpl implements ISysDeptService @Override public void checkDeptDataScope(Long deptId) { - if (!SysUser.isAdmin(ShiroUtils.getUserId()) && StringUtils.isNotNull(deptId)) + if (!ShiroUtils.isAdmin() && StringUtils.isNotNull(deptId)) { SysDept dept = new SysDept(); dept.setDeptId(deptId); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java index 17daddaf..3a51d16b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java @@ -19,6 +19,7 @@ import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.mapper.SysMenuMapper; import com.ruoyi.system.mapper.SysRoleMenuMapper; @@ -71,7 +72,7 @@ public class SysMenuServiceImpl implements ISysMenuService public List selectMenuList(SysMenu menu, Long userId) { List menuList = null; - if (SysUser.isAdmin(userId)) + if (ShiroUtils.isAdmin(userId)) { menuList = menuMapper.selectMenuList(menu); } @@ -92,7 +93,7 @@ public class SysMenuServiceImpl implements ISysMenuService public List selectMenuAll(Long userId) { List menuList = null; - if (SysUser.isAdmin(userId)) + if (ShiroUtils.isAdmin(userId)) { menuList = menuMapper.selectMenuAll(); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java index 873d2af4..d7b4e308 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java @@ -11,7 +11,6 @@ import org.springframework.transaction.annotation.Transactional; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.entity.SysRole; -import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.ShiroUtils; @@ -329,7 +328,7 @@ public class SysRoleServiceImpl implements ISysRoleService @Override public void checkRoleDataScope(Long... roleIds) { - if (!SysUser.isAdmin(ShiroUtils.getUserId())) + if (!ShiroUtils.isAdmin()) { for (Long roleId : roleIds) { diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index c7cfe9c3..6747e6a6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -455,7 +455,7 @@ public class SysUserServiceImpl implements ISysUserService @Override public void checkUserDataScope(Long userId) { - if (!SysUser.isAdmin(ShiroUtils.getUserId())) + if (!ShiroUtils.isAdmin()) { SysUser user = new SysUser(); user.setUserId(userId);