From d6a0e5667b4dde018b8244808fcc33f68f5b07ad Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 02 七月 2024 09:54:25 +0800
Subject: [PATCH] #

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/AuthController.java |   44 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 36 insertions(+), 8 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/AuthController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/AuthController.java
index 02cd552..2e20b41 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/AuthController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/AuthController.java
@@ -1,5 +1,6 @@
 package com.zy.asrs.wms.system.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.R;
 import com.zy.asrs.wms.common.annotation.OperationLog;
@@ -8,14 +9,8 @@
 import com.zy.asrs.wms.system.controller.param.LoginParam;
 import com.zy.asrs.wms.system.controller.param.UpdatePasswordParam;
 import com.zy.asrs.wms.system.controller.result.LoginResult;
-import com.zy.asrs.wms.system.entity.Host;
-import com.zy.asrs.wms.system.entity.Menu;
-import com.zy.asrs.wms.system.entity.User;
-import com.zy.asrs.wms.system.entity.UserLogin;
-import com.zy.asrs.wms.system.service.HostService;
-import com.zy.asrs.wms.system.service.RoleMenuService;
-import com.zy.asrs.wms.system.service.UserLoginService;
-import com.zy.asrs.wms.system.service.UserService;
+import com.zy.asrs.wms.system.entity.*;
+import com.zy.asrs.wms.system.service.*;
 import com.zy.asrs.wms.utils.JwtUtil;
 import com.zy.asrs.wms.utils.Utils;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -23,6 +18,7 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -44,6 +40,10 @@
     private RoleMenuService roleMenuService;
     @Resource
     private HostService hostService;
+    @Resource
+    private UserRoleService userRoleService;
+    @Resource
+    private MenuService menuService;
 
     @PostMapping("/login")
     public R login(@RequestBody LoginParam param, HttpServletRequest request) {
@@ -122,4 +122,32 @@
         return R.error("淇敼澶辫触");
     }
 
+    @GetMapping("/auth/router")
+    public R router() {
+        List<UserRole> userRoles = userRoleService.list(new LambdaQueryWrapper<UserRole>().eq(UserRole::getUserId, getLoginUserId()));
+        if (userRoles.isEmpty()) {
+            return R.error();
+        }
+        ArrayList<Long> roles = new ArrayList<>();
+        for (UserRole userRole : userRoles) {
+            roles.add(userRole.getRoleId());
+        }
+
+        ArrayList<Long> menus = new ArrayList<>();
+        List<RoleMenu> roleMenus = roleMenuService.list(new LambdaQueryWrapper<RoleMenu>().in(RoleMenu::getRoleId, roles));
+        for (RoleMenu roleMenu : roleMenus) {
+            if(!menus.contains(roleMenu.getMenuId())) {
+                menus.add(roleMenu.getMenuId());
+            }
+        }
+
+        List<Menu> menuList = menuService.list(new LambdaQueryWrapper<Menu>()
+                .in(Menu::getId, menus)
+                .eq(Menu::getType, Menu.TYPE_MENU)
+                .eq(Menu::getPath, 1)
+                .orderByAsc(Menu::getId));
+
+        return R.ok().add(menuList);
+    }
+
 }

--
Gitblit v1.9.1