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} + +