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