From adac148db7cefc6848933989d407b1827749a5a6 Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期一, 07 七月 2025 08:49:49 +0800
Subject: [PATCH] bug修改

---
 pt-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java |   51 +++++++++++++++++++++++++++++++++++----------------
 1 files changed, 35 insertions(+), 16 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 43148cb..e5aa345 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,17 +1,17 @@
 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;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysMenu;
@@ -33,6 +33,7 @@
  */
 @Api(value = "登录控制器",tags = "登录控制器")
 @RestController
+@RequestMapping("/system")
 public class SysLoginController {
 
     @Autowired
@@ -43,6 +44,8 @@
     private SysPermissionService permissionService;
     @Autowired
     private TokenService tokenService;
+    @Autowired
+    private SysMenuMapper sysMenuMapper;
 
     /**
      * 登录方法
@@ -50,7 +53,7 @@
      * @param loginBody 登录信息
      * @return 结果
      */
-    @ApiOperation(value = "登录", notes = "登录")
+    @ApiOperation(value = "登录", notes = "username:hlg password:e10adc3949ba59abbe56e057f20f883e(123456)  密码前端需MD5加密传输")
     @PostMapping("/login")
     public AjaxResult login(@RequestBody LoginBody loginBody) {
         AjaxResult ajax = AjaxResult.success();
@@ -79,19 +82,35 @@
     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);
     }
 
     /**
@@ -99,13 +118,13 @@
      *
      * @return 路由信息
      */
-    @ApiOperation(value = "获取路由信息", notes = "获取路由信息")
+/*    @ApiOperation(value = "获取路由信息", notes = "获取路由信息")
     @GetMapping("getRouters")
     public AjaxResult getRouters() {
         Long userId = SecurityUtils.getUserId();
         List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
         return AjaxResult.success(menuService.buildMenus(menus));
-    }
+    }*/
 
     /**
      * 退出登录

--
Gitblit v1.7.1