From 2e163bca6e8dc3c3709226ef63720ff8e3d717b1 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Wed, 6 Jan 2021 20:28:06 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90menu=E3=80=91=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96layui=E8=8F=9C=E5=8D=95=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=9A=84=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kernel/menu/modular/entity/SysMenu.java | 6 +++++ .../service/impl/SysMenuServiceImpl.java | 27 ++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/entity/SysMenu.java b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/entity/SysMenu.java index 6dd206308..b5aea3eef 100644 --- a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/entity/SysMenu.java +++ b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/entity/SysMenu.java @@ -136,6 +136,12 @@ public class SysMenu extends BaseEntity implements AbstractTreeNode { @TableField(exist = false) private List children; + /** + * 应用名称 + */ + @TableField(exist = false) + private String appName; + @Override public String getNodeId() { return menuId.toString(); diff --git a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/service/impl/SysMenuServiceImpl.java b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/service/impl/SysMenuServiceImpl.java index b84104a21..15783a31f 100644 --- a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/service/impl/SysMenuServiceImpl.java +++ b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/menu/modular/service/impl/SysMenuServiceImpl.java @@ -42,6 +42,7 @@ import cn.stylefeng.roses.kernel.rule.enums.StatusEnum; import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; import cn.stylefeng.roses.kernel.rule.factory.DefaultTreeBuildFactory; +import cn.stylefeng.roses.kernel.system.AppServiceApi; import cn.stylefeng.roses.kernel.system.MenuServiceApi; import cn.stylefeng.roses.kernel.system.RoleServiceApi; import cn.stylefeng.roses.kernel.system.constants.SymbolConstant; @@ -60,6 +61,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @@ -79,6 +81,9 @@ public class SysMenuServiceImpl extends ServiceImpl impl @Resource private RoleServiceApi roleServiceApi; + @Resource + private AppServiceApi appServiceApi; + @Override public void add(SysMenuRequest sysMenuRequest) { @@ -145,7 +150,22 @@ public class SysMenuServiceImpl extends ServiceImpl impl LambdaQueryWrapper wrapper = createWrapper(sysMenuRequest); - return this.list(wrapper); + List list = this.list(wrapper); + + // 应用编码转化为应用名称 + HashMap appCodeName = new HashMap<>(); + Set appCodeSet = list.stream().map(SysMenu::getAppCode).collect(Collectors.toSet()); + for (String appCode : appCodeSet) { + String appName = appServiceApi.getAppNameByAppCode(appCode); + appCodeName.put(appCode, appName); + } + + // 查询对应菜单的应用名称 + for (SysMenu sysMenu : list) { + sysMenu.setAppName(appCodeName.get(sysMenu.getAppCode())); + } + + return list; } @Override @@ -315,6 +335,11 @@ public class SysMenuServiceImpl extends ServiceImpl impl if (ObjectUtil.isNotEmpty(sysMenuRequest.getMenuName())) { queryWrapper.like(SysMenu::getMenuName, sysMenuRequest.getMenuName()); } + + // 根据菜单编码模糊查询 + if (ObjectUtil.isNotEmpty(sysMenuRequest.getMenuCode())) { + queryWrapper.like(SysMenu::getMenuCode, sysMenuRequest.getMenuCode()); + } } // 查询未删除状态的