From a43e6e06e086e778e6ac3fdba7b5e8fafa090ed8 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期一, 17 一月 2022 12:03:15 +0800
Subject: [PATCH] update 优化多用户体系处理 更名 LoginUtils 为 LoginHelper 支持 LoginUser 多级缓存

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java |   58 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 30 insertions(+), 28 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
index ccfae25..40c315c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -7,12 +7,17 @@
 import com.ruoyi.common.core.domain.entity.SysMenu;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginBody;
-import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.core.service.UserService;
+import com.ruoyi.common.helper.LoginHelper;
+import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.system.domain.vo.RouterVo;
 import com.ruoyi.system.service.ISysMenuService;
-import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.system.service.SysLoginService;
 import com.ruoyi.system.service.SysPermissionService;
-import org.springframework.beans.factory.annotation.Autowired;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -26,22 +31,17 @@
 /**
  * 鐧诲綍楠岃瘉
  *
- * @author ruoyi
+ * @author Lion Li
  */
+@Validated
+@Api(value = "鐧诲綍楠岃瘉鎺у埗鍣�", tags = {"鐧诲綍楠岃瘉绠$悊"})
+@RequiredArgsConstructor
 @RestController
-public class SysLoginController
-{
-    @Autowired
-    private SysLoginService loginService;
+public class SysLoginController {
 
-    @Autowired
-    private ISysMenuService menuService;
-
-    @Autowired
-    private SysPermissionService permissionService;
-
-    @Autowired
-    private ISysUserService iSysUserService;
+    private final SysLoginService loginService;
+    private final ISysMenuService menuService;
+    private final SysPermissionService permissionService;
 
     /**
      * 鐧诲綍鏂规硶
@@ -49,19 +49,20 @@
      * @param loginBody 鐧诲綍淇℃伅
      * @return 缁撴灉
      */
+    @ApiOperation("鐧诲綍鏂规硶")
     @PostMapping("/login")
-    public AjaxResult login(@RequestBody LoginBody loginBody)
-    {
-		Map<String,Object> ajax = new HashMap<>();
+    public AjaxResult<Map<String, Object>> login(@RequestBody LoginBody loginBody) {
+        Map<String, Object> ajax = new HashMap<>();
         // 鐢熸垚浠ょ墝
         String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
-                loginBody.getUuid());
+            loginBody.getUuid());
         ajax.put(Constants.TOKEN, token);
         return AjaxResult.success(ajax);
     }
 
+    @ApiOperation("鐧诲嚭鏂规硶")
     @PostMapping("/logout")
-    public AjaxResult logout(){
+    public AjaxResult<Void> logout() {
         try {
             StpUtil.logout();
         } catch (NotLoginException e) {
@@ -74,15 +75,15 @@
      *
      * @return 鐢ㄦ埛淇℃伅
      */
+    @ApiOperation("鑾峰彇鐢ㄦ埛淇℃伅")
     @GetMapping("getInfo")
-    public AjaxResult getInfo()
-    {
-        SysUser user = SecurityUtils.getUser();
+    public AjaxResult<Map<String, Object>> getInfo() {
+        SysUser user = SpringUtils.getBean(UserService.class).selectUserById(LoginHelper.getUserId());
         // 瑙掕壊闆嗗悎
         Set<String> roles = permissionService.getRolePermission(user);
         // 鏉冮檺闆嗗悎
         Set<String> permissions = permissionService.getMenuPermission(user);
-		Map<String,Object> ajax = new HashMap<>();
+        Map<String, Object> ajax = new HashMap<>();
         ajax.put("user", user);
         ajax.put("roles", roles);
         ajax.put("permissions", permissions);
@@ -94,10 +95,11 @@
      *
      * @return 璺敱淇℃伅
      */
+    @ApiOperation("鑾峰彇璺敱淇℃伅")
     @GetMapping("getRouters")
-    public AjaxResult getRouters()
-    {
-        List<SysMenu> menus = menuService.selectMenuTreeByUserId(SecurityUtils.getUserId());
+    public AjaxResult<List<RouterVo>> getRouters() {
+        Long userId = LoginHelper.getUserId();
+        List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
         return AjaxResult.success(menuService.buildMenus(menus));
     }
 }

--
Gitblit v1.9.3