From 2dc478231fd09a88a4d86d44388ae807aca08bc5 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期三, 01 一月 2025 10:14:28 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysMenuController.java | 33 ++++++++++++++++++++++++++++++++- 1 files changed, 32 insertions(+), 1 deletions(-) diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysMenuController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysMenuController.java index 71d449b..a0663ce 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysMenuController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/backend/system/SysMenuController.java @@ -8,6 +8,8 @@ import com.sinata.common.enums.BusinessType; import com.sinata.common.utils.StringUtils; import com.sinata.system.service.ISysMenuService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; @@ -20,20 +22,49 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * 菜单信息 * * @author ruoyi */ +@Api(tags = {"菜单相关接口"}) @RestController -@RequestMapping("/system/menu") +@RequestMapping("/backend/system/menu") public class SysMenuController extends BaseController { @Autowired private ISysMenuService menuService; + @ApiOperation("菜单权限(有层级)") + @GetMapping("/levelList") + public AjaxResult levelList() { + // 获取当前角色的菜单列表 + 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