From 64f7ccb9ef8b5a0618e65cddc14b981c1f108ba3 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 04 十一月 2024 09:01:59 +0800
Subject: [PATCH] 代码提交

---
 xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/SysMenuController.java |   34 +++++++++++++++++++++++++++-------
 1 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/SysMenuController.java b/xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/SysMenuController.java
index 99afac4..66a4fdb 100644
--- a/xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/SysMenuController.java
+++ b/xinquan-modules/xinquan-system/src/main/java/com/xinquan/system/controller/SysMenuController.java
@@ -2,9 +2,9 @@
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
+import java.util.stream.Collectors;
 
-import com.xinquan.system.domain.SysMenu;
+import com.xinquan.system.api.domain.SysMenu;
 import com.xinquan.system.domain.SysMenus;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -45,12 +45,32 @@
     /**
      * 获取菜单列表
      */
-    @GetMapping("/list")
-    @ApiOperation("所有菜单列表")
-    public AjaxResult list()
+    @ApiOperation("菜单权限(有层级)")
+    @GetMapping("/levelList")
+    public AjaxResult levelList()
     {
-        List<SysMenus> list= menuService.getAllMenu();
-        return success(list);
+        // 获取当前角色的菜单列表
+        List<SysMenu> menus = menuService.selectList();
+        if(menus.size()==0){
+            return AjaxResult.success(new ArrayList<>());
+        }
+        // 第三级
+        List<SysMenu> s3 = menus.stream().filter(e -> e.getMenuType().equals("F")).collect(Collectors.toList());
+        // 第二级
+        List<SysMenu> s2 = menus.stream().filter(e -> e.getMenuType().equals("C")).collect(Collectors.toList());
+        // 第一级
+        List<SysMenu> s1 = menus.stream().filter(e -> e.getMenuType().equals("M")).collect(Collectors.toList());
+
+        for (SysMenu menu : s2) {
+            List<SysMenu> collect = s3.stream().filter(e -> e.getParentId().equals(menu.getMenuId())).collect(Collectors.toList());
+            menu.setChildren(collect);
+        }
+        for (SysMenu menu : s1) {
+            List<SysMenu> collect = s2.stream().filter(e -> e.getParentId().equals(menu.getMenuId())).collect(Collectors.toList());
+            menu.setChildren(collect);
+        }
+
+        return AjaxResult.success(s1);
     }
 
     /**

--
Gitblit v1.7.1