From 5270de1267dee09f0ae3126e418ebe117d37f4a0 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Mon, 30 Jun 2025 17:39:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=A8=E6=88=BF=E5=90=8E=E5=9C=BA=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/SysUserController.java | 3 +++ .../com/bonus/system/mapper/SysMenuMapper.java | 2 ++ .../com/bonus/system/service/ISysMenuService.java | 2 ++ .../system/service/ISysPermissionService.java | 2 ++ .../system/service/impl/SysMenuServiceImpl.java | 15 +++++++++++++++ .../service/impl/SysPermissionServiceImpl.java | 11 +++++++++++ .../resources/mapper/system/SysMenuMapper.xml | 7 +++++++ 7 files changed, 42 insertions(+) diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysUserController.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysUserController.java index a57a816..1a13018 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysUserController.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/controller/SysUserController.java @@ -194,8 +194,11 @@ public class SysUserController extends BaseController { if (StringUtils.isNull(sysUser)) { return R.fail("用户名或密码错误"); } + // 权限集合 + Set permissions = permissionService.getDevicePermission(sysUser); LoginUser sysUserVo = new LoginUser(); sysUserVo.setSysUser(sysUser); + sysUserVo.setPermissions(permissions); return R.ok(sysUserVo); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysMenuMapper.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysMenuMapper.java index 8d3972e..827a29b 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysMenuMapper.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysMenuMapper.java @@ -52,6 +52,8 @@ public interface SysMenuMapper */ public List selectMenuPermsByUserId(Long userId); + public List selectDevicePermsByUserId(Long userId); + /** * 根据用户ID查询菜单 * diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISysMenuService.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISysMenuService.java index 3f266fc..aaf20bb 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISysMenuService.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISysMenuService.java @@ -40,6 +40,8 @@ public interface ISysMenuService */ public Set selectMenuPermsByUserId(Long userId); + public Set selectDevicePermsByUserId(Long userId); + /** * 根据角色ID查询权限 * diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISysPermissionService.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISysPermissionService.java index 3384b04..cf97372 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISysPermissionService.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/ISysPermissionService.java @@ -26,4 +26,6 @@ public interface ISysPermissionService * @return 菜单权限信息 */ public Set getMenuPermission(SysUser user); + + public Set getDevicePermission(SysUser user); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysMenuServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysMenuServiceImpl.java index 234786a..23382fc 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysMenuServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysMenuServiceImpl.java @@ -102,6 +102,21 @@ public class SysMenuServiceImpl implements ISysMenuService return permsSet; } + @Override + public Set selectDevicePermsByUserId(Long userId) + { + List perms = menuMapper.selectDevicePermsByUserId(userId); + 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/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysPermissionServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysPermissionServiceImpl.java index 8b41894..08c9970 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysPermissionServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysPermissionServiceImpl.java @@ -1,8 +1,11 @@ package com.bonus.system.service.impl; +import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; + +import com.bonus.common.core.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -83,4 +86,12 @@ public class SysPermissionServiceImpl implements ISysPermissionService } return perms; } + + @Override + public Set getDevicePermission(SysUser user) + { + Set perms = new HashSet(); + perms.addAll(menuService.selectDevicePermsByUserId(user.getUserId())); + return perms; + } } diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysMenuMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysMenuMapper.xml index 6736ebf..a3dbbbd 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysMenuMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysMenuMapper.xml @@ -143,6 +143,13 @@ left join sys_role r on r.role_id = ur.role_id where m.status = '0' and r.status = '0' and ur.user_id = #{userId} + +