From 508a4bd302cb30fc9428c9088427b4f7241b4078 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Sat, 4 Jan 2025 22:54:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=85=AC=E5=8F=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/bonus/system/mapper/SysMenuMapper.java | 3 ++- .../bonus/system/service/impl/SysMenuServiceImpl.java | 3 ++- .../src/main/resources/mapper/system/SysMenuMapper.xml | 10 +++++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysMenuMapper.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysMenuMapper.java index e4ca81e..8d3972e 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysMenuMapper.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/mapper/SysMenuMapper.java @@ -63,9 +63,10 @@ public interface SysMenuMapper * 根据用户ID查询菜单 * * @param userId 用户ID + * @param templateId 权限模板ID * @return 菜单列表 */ - public List selectMenuTreeByUserId(Long userId); + public List selectMenuTreeByUserId(@Param("userId") Long userId, @Param("templateId")Long templateId); /** * 根据用户ID查询菜单 diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysMenuServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysMenuServiceImpl.java index bb88d7d..9871567 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysMenuServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/service/impl/SysMenuServiceImpl.java @@ -139,7 +139,8 @@ public class SysMenuServiceImpl implements ISysMenuService } else { - menus = menuMapper.selectMenuTreeByUserId(userId); + SysDept sysDept = deptMapper.selectDeptById(SecurityUtils.getLoginUser().getSysUser().getCompanyId()); + menus = menuMapper.selectMenuTreeByUserId(userId, sysDept.getTemplateId()); } return getChildPerms(menus, 0); } diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysMenuMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysMenuMapper.xml index 18d95b3..08bfa4b 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/system/SysMenuMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/system/SysMenuMapper.xml @@ -77,10 +77,15 @@ AND m.status = #{status} + + and exists ( + select 0 from sys_template_menu stm where stm.temp_id = #{templateId} and stm.menu_id = m.menu_id + ) + order by m.parent_id, m.order_num - select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time from sys_menu m left join sys_role_menu rm on m.menu_id = rm.menu_id @@ -88,6 +93,9 @@ 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 + AND exists ( + select 0 from sys_template_menu stm where stm.temp_id = #{templateId} and stm.menu_id = m.menu_id + ) order by m.parent_id, m.order_num