From e1b6929f24ccf3638cad470917e92221d98aa1c4 Mon Sep 17 00:00:00 2001 From: vincentlu <t1341870251@gmail.com> Date: 星期一, 13 一月 2025 15:23:36 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/resources/mapper/system/RoleMenuMapper.xml | 26 +++++++++++--------------- 1 files changed, 11 insertions(+), 15 deletions(-) diff --git a/zy-acs-manager/src/main/resources/mapper/system/RoleMenuMapper.xml b/zy-acs-manager/src/main/resources/mapper/system/RoleMenuMapper.xml index 2e9e637..bde61c5 100644 --- a/zy-acs-manager/src/main/resources/mapper/system/RoleMenuMapper.xml +++ b/zy-acs-manager/src/main/resources/mapper/system/RoleMenuMapper.xml @@ -3,23 +3,19 @@ <mapper namespace="com.zy.acs.manager.system.mapper.RoleMenuMapper"> <select id="listMenuByUserId" resultType="com.zy.acs.manager.system.entity.Menu"> - select * from sys_menu - where 1=1 + SELECT DISTINCT sm.* + FROM sys_menu sm + JOIN sys_role_menu srm ON sm.id = srm.menu_id + JOIN sys_user_role sur ON srm.role_id = sur.role_id + JOIN sys_role sr ON sur.role_id = sr.id + WHERE 1=1 <if test="type != null"> - AND type = #{type} + AND sm.type = #{type} </if> - and deleted = 0 - and id in ( - select menu_id from sys_role_menu - where role_id in ( - select sur.role_id from sys_user_role sur - left join sys_role sr on sur.role_id = sr.id - where 1=1 - and sur.user_id = #{userId} - and sr.deleted = 0 - ) - ) - order by sort + AND sur.user_id = #{userId} + AND sr.deleted = 0 + AND sm.deleted = 0 + ORDER BY sm.sort </select> <select id="listStrictlyMenuByRoleId" resultType="java.lang.Long"> -- Gitblit v1.9.1