From c5857a50d688d0c42b3893854e6f30dc45e61ca9 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 11 十一月 2024 22:32:12 +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