From 616d370067fc3b5b6babedba5e25bc83d66a1fae Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 10 Jul 2023 14:17:40 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/constant/UserConstants.java | 4 +- .../service/impl/SysMenuServiceImpl.java | 58 +++++++++---------- .../resources/mapper/system/SysMenuMapper.xml | 4 +- 3 files changed, 34 insertions(+), 32 deletions(-) diff --git a/op-common/op-common-core/src/main/java/com/op/common/core/constant/UserConstants.java b/op-common/op-common-core/src/main/java/com/op/common/core/constant/UserConstants.java index b7ebc9e1..abd7fddf 100644 --- a/op-common/op-common-core/src/main/java/com/op/common/core/constant/UserConstants.java +++ b/op-common/op-common-core/src/main/java/com/op/common/core/constant/UserConstants.java @@ -2,7 +2,7 @@ package com.op.common.core.constant; /** * 用户常量信息 - * + * * @author OP */ public class UserConstants { @@ -41,6 +41,8 @@ public class UserConstants { /** 是否菜单外链(否) */ public static final String NO_FRAME = "1"; + /** 菜单类型(应用系统) */ + public static final String TYPE_APP = "A"; /** 菜单类型(目录) */ public static final String TYPE_DIR = "M"; diff --git a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysMenuServiceImpl.java b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysMenuServiceImpl.java index e7155568..6c7ef65e 100644 --- a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysMenuServiceImpl.java +++ b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysMenuServiceImpl.java @@ -27,7 +27,7 @@ import com.op.system.service.ISysMenuService; /** * 菜单 业务层处理 - * + * * @author OP */ @Service @@ -45,7 +45,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 根据用户查询系统菜单列表 - * + * * @param userId 用户ID * @return 菜单列表 */ @@ -56,7 +56,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 查询系统菜单列表 - * + * * @param menu 菜单信息 * @return 菜单列表 */ @@ -75,7 +75,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 根据用户ID查询权限 - * + * * @param userId 用户ID * @return 权限列表 */ @@ -93,7 +93,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 根据角色ID查询权限 - * + * * @param roleId 角色ID * @return 权限列表 */ @@ -111,7 +111,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 根据用户ID查询菜单 - * + * * @param userId 用户名称 * @return 菜单列表 */ @@ -128,7 +128,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 根据角色ID查询菜单树信息 - * + * * @param roleId 角色ID * @return 选中菜单列表 */ @@ -140,7 +140,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 构建前端路由所需要的菜单 - * + * * @param menus 菜单列表 * @return 路由列表 */ @@ -157,7 +157,7 @@ public class SysMenuServiceImpl implements ISysMenuService { router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath())); List cMenus = menu.getChildren(); - if (!cMenus.isEmpty() && cMenus.size() > 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType())) { + if (!cMenus.isEmpty() && cMenus.size() > 0 && (UserConstants.TYPE_DIR.equals(menu.getMenuType()) || UserConstants.TYPE_APP.equals(menu.getMenuType()))) { router.setAlwaysShow(true); router.setRedirect("noRedirect"); router.setChildren(buildMenus(cMenus)); @@ -193,7 +193,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 构建前端所需要树结构 - * + * * @param menus 菜单列表 * @return 树结构列表 */ @@ -217,7 +217,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 构建前端所需要下拉树结构 - * + * * @param menus 菜单列表 * @return 下拉树结构列表 */ @@ -229,7 +229,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 根据菜单ID查询信息 - * + * * @param menuId 菜单ID * @return 菜单信息 */ @@ -240,7 +240,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 是否存在菜单子节点 - * + * * @param menuId 菜单ID * @return 结果 */ @@ -252,7 +252,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 查询菜单使用数量 - * + * * @param menuId 菜单ID * @return 结果 */ @@ -264,7 +264,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 新增保存菜单信息 - * + * * @param menu 菜单信息 * @return 结果 */ @@ -275,7 +275,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 修改保存菜单信息 - * + * * @param menu 菜单信息 * @return 结果 */ @@ -286,7 +286,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 删除菜单管理信息 - * + * * @param menuId 菜单ID * @return 结果 */ @@ -297,7 +297,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 校验菜单名称是否唯一 - * + * * @param menu 菜单信息 * @return 结果 */ @@ -313,7 +313,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 获取路由名称 - * + * * @param menu 菜单信息 * @return 路由名称 */ @@ -328,7 +328,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 获取路由地址 - * + * * @param menu 菜单信息 * @return 路由地址 */ @@ -339,7 +339,7 @@ public class SysMenuServiceImpl implements ISysMenuService { routerPath = innerLinkReplaceEach(routerPath); } // 非外链并且是一级目录(类型为目录) - if (0 == menu.getParentId().intValue() && UserConstants.TYPE_DIR.equals(menu.getMenuType()) + if (0 == menu.getParentId().intValue() && (UserConstants.TYPE_DIR.equals(menu.getMenuType()) || UserConstants.TYPE_APP.equals(menu.getMenuType())) && UserConstants.NO_FRAME.equals(menu.getIsFrame())) { routerPath = "/" + menu.getPath(); } @@ -352,7 +352,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 获取组件信息 - * + * * @param menu 菜单信息 * @return 组件信息 */ @@ -371,7 +371,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 是否为菜单内部跳转 - * + * * @param menu 菜单信息 * @return 结果 */ @@ -382,7 +382,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 是否为内链组件 - * + * * @param menu 菜单信息 * @return 结果 */ @@ -392,17 +392,17 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 是否为parent_view组件 - * + * * @param menu 菜单信息 * @return 结果 */ public boolean isParentView(SysMenu menu) { - return menu.getParentId().intValue() != 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType()); + return menu.getParentId().intValue() != 0 && (UserConstants.TYPE_DIR.equals(menu.getMenuType()) || UserConstants.TYPE_APP.equals(menu.getMenuType())); } /** * 根据父节点的ID获取所有子节点 - * + * * @param list 分类表 * @param parentId 传入的父节点ID * @return String @@ -422,7 +422,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 递归列表 - * + * * @param list * @param t */ @@ -461,7 +461,7 @@ public class SysMenuServiceImpl implements ISysMenuService { /** * 内链域名特殊字符替换 - * + * * @return */ public String innerLinkReplaceEach(String path) { diff --git a/op-modules/op-system/src/main/resources/mapper/system/SysMenuMapper.xml b/op-modules/op-system/src/main/resources/mapper/system/SysMenuMapper.xml index ae6c0518..7b9b9a62 100644 --- a/op-modules/op-system/src/main/resources/mapper/system/SysMenuMapper.xml +++ b/op-modules/op-system/src/main/resources/mapper/system/SysMenuMapper.xml @@ -50,7 +50,7 @@ @@ -80,7 +80,7 @@ left join sys_user_role ur on rm.role_id = ur.role_id left join sys_role ro on ur.role_id = ro.role_id left join sys_user u on ur.user_id = u.user_id - where u.user_id = #{userId} and m.menu_type in ('M', 'C') and m.status = 0 AND ro.status = 0 + where u.user_id = #{userId} and m.menu_type in ('A','M', 'C') and m.status = 0 AND ro.status = 0 order by m.parent_id, m.order_num