修复查询重复菜单问题

This commit is contained in:
mashuanghui 2024-08-14 15:25:35 +08:00
parent 3a73c481c4
commit 3e13344198
1 changed files with 30 additions and 37 deletions

View File

@ -141,43 +141,36 @@
order by m.parent_id, m.order_num order by m.parent_id, m.order_num
</select> </select>
<select id="selectMenuTreeByUserId" resultMap="SysMenuResult"> <select id="selectMenuTreeByUserId" resultMap="SysMenuResult">
SELECT SELECT DISTINCT
m.menu_id, m.menu_id,
m.parent_id, m.parent_id,
m.menu_name, m.menu_name,
m.path, m.path,
m.component, m.component,
m.`query`, m.`query`,
m.visible, m.visible,
m.STATUS, m.STATUS,
ifnull( m.perms, '' ) AS perms, ifnull(m.perms, '') AS perms,
m.frame, m.frame,
m.CACHE, m.CACHE,
m.menu_type, m.menu_type,
m.icon, m.icon,
m.order_num, m.order_num,
m.create_time m.create_time
FROM FROM sys_menu m
sys_menu m INNER JOIN sys_role_menu rm ON m.menu_id = rm.menu_id
INNER JOIN sys_role_menu rm ON m.menu_id = rm.menu_id AND rm.role_id in (SELECT ur.role_id
AND rm.role_id in ( FROM sys_user_role ur
SELECT LEFT JOIN sys_role ro ON ur.role_id = ro.role_id
ur.role_id LEFT JOIN sys_user u ON ur.user_id = u.user_id
FROM WHERE u.user_id = #{userId}
sys_user_role ur AND ro.STATUS = 1)
LEFT JOIN sys_role ro ON ur.role_id = ro.role_id WHERE m.del_state = FALSE
LEFT JOIN sys_user u ON ur.user_id = u.user_id AND m.menu_type IN ('M', 'C')
WHERE AND m.`status` = TRUE
u.user_id = #{userId} ORDER BY
AND ro.STATUS = 1 m.parent_id,
) m.order_num
WHERE
m.del_state = FALSE
AND m.menu_type IN ( 'M', 'C' )
AND m.`status` = TRUE
ORDER BY
m.parent_id,
m.order_num
</select> </select>
<select id="selectMenuPermsByRoleId" resultType="java.lang.String"> <select id="selectMenuPermsByRoleId" resultType="java.lang.String">
SELECT SELECT