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()); + } } // 查询未删除状态的