From e3a2245265516fef78b4737d6fffc939e7c5e0af Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期四, 03 七月 2025 17:56:07 +0800 Subject: [PATCH] bug修改 --- pt-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java | 39 ++++++++++++++++++++++++++++++--------- 1 files changed, 30 insertions(+), 9 deletions(-) diff --git a/pt-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/pt-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java index f80da37..c51c455 100644 --- a/pt-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java +++ b/pt-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java @@ -1,8 +1,11 @@ package com.ruoyi.web.controller.system; +import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Set; +import com.ruoyi.system.mapper.SysMenuMapper; import com.ruoyi.system.object.dto.SetPasswordDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -43,6 +46,8 @@ private SysPermissionService permissionService; @Autowired private TokenService tokenService; + @Autowired + private SysMenuMapper sysMenuMapper; /** * 登录方法 @@ -79,20 +84,36 @@ public AjaxResult getInfo() { LoginUser loginUser = SecurityUtils.getLoginUser(); SysUser user = loginUser.getUser(); - // 角色集合 - Set<String> roles = permissionService.getRolePermission(user); // 权限集合 - Set<String> permissions = permissionService.getMenuPermission(user); - if (!loginUser.getPermissions().equals(permissions)) { - loginUser.setPermissions(permissions); - tokenService.refreshToken(loginUser); - } AjaxResult ajax = AjaxResult.success(); ajax.put("user", user); - ajax.put("roles", roles); - ajax.put("permissions", permissions); + ajax.put("permissions" ,getUserPaths(user.getUserId())); return ajax; } + /** + * 获取用户拥有的所有path + * @param userId 用户ID + * @return 用户拥有的所有path列表 + */ + public List<String> getUserPaths(Long userId) { + List<Long> ids = new ArrayList<>(); + // 根据用户id查询出menus + List<SysMenu> menus = sysMenuMapper.selectMenusByUserId(userId); + //将id和父类id取出 + menus.forEach(menu -> { + ids.add(menu.getMenuId()); + if (null!= menu.getParentId() && menu.getParentId() != 0) { + ids.add(menu.getParentId()); + } + }); + + if (menus.isEmpty()) { + return Collections.emptyList(); + } + + + return sysMenuMapper.getPathsByMenuIds(ids); + } /** * 获取路由信息 -- Gitblit v1.7.1