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