From 495dfe2d273d8a76c5c360326aca67b65bbd7247 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Mon, 3 Jul 2023 15:19:23 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.6.0=E3=80=91=E3=80=90menu=E3=80=91?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B1=95=E5=BC=80=E7=9A=84=E8=8F=9C=E5=8D=95?= =?UTF-8?q?id=E9=9B=86=E5=90=88=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/modular/menu/factory/MenuFactory.java | 16 +++++++++++++++- .../menu/pojo/response/AppGroupDetail.java | 5 +++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/menu/factory/MenuFactory.java b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/menu/factory/MenuFactory.java index a84c0cd19..4315c0d00 100644 --- a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/menu/factory/MenuFactory.java +++ b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/menu/factory/MenuFactory.java @@ -83,13 +83,27 @@ public class MenuFactory { // 将菜单信息转化为响应类型 List appMenuItems = new ArrayList<>(); for (SysMenu appMenu : appMenus) { - MenuItemDetail menuItemDetail = new MenuItemDetail(appMenu.getMenuId(), appMenu.getMenuParentId(), appMenu.getMenuName(), appMenu.getMenuType()); + MenuItemDetail menuItemDetail = new MenuItemDetail(appMenu.getMenuId(), appMenu.getMenuParentId(), appMenu.getMenuName(), + appMenu.getMenuType()); appMenuItems.add(menuItemDetail); } // 将应用下的菜单组装成树 List menuItemDetailList = new DefaultTreeBuildFactory().doTreeBuild(appMenuItems); appGroupDetail.setMenuList(menuItemDetailList); + + // 将一级菜单展开 + List openMenuIdList = new ArrayList<>(); + if (ObjectUtil.isEmpty(menuItemDetailList)) { + appGroupDetail.setOpenMenuIdList(openMenuIdList); + } else { + for (MenuItemDetail menuItemDetail : menuItemDetailList) { + if (ObjectUtil.isNotEmpty(menuItemDetail.getChildren())) { + openMenuIdList.add(menuItemDetail.getMenuId()); + } + } + appGroupDetail.setOpenMenuIdList(openMenuIdList); + } } return appGroupDetails; diff --git a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/menu/pojo/response/AppGroupDetail.java b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/menu/pojo/response/AppGroupDetail.java index 78eee49bf..42a06c29e 100644 --- a/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/menu/pojo/response/AppGroupDetail.java +++ b/kernel-s-sys/sys-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/menu/pojo/response/AppGroupDetail.java @@ -43,6 +43,11 @@ public class AppGroupDetail { */ private List menuList; + /** + * 展开的菜单id列表 + */ + private List openMenuIdList; + public AppGroupDetail() { }