修复查询重复菜单问题

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
</select>
<select id="selectMenuTreeByUserId" resultMap="SysMenuResult">
SELECT
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.frame,
m.CACHE,
m.menu_type,
m.icon,
m.order_num,
m.create_time
FROM
sys_menu m
INNER JOIN sys_role_menu rm ON m.menu_id = rm.menu_id
AND rm.role_id in (
SELECT
ur.role_id
FROM
sys_user_role ur
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 ro.STATUS = 1
)
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 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.frame,
m.CACHE,
m.menu_type,
m.icon,
m.order_num,
m.create_time
FROM sys_menu m
INNER JOIN sys_role_menu rm ON m.menu_id = rm.menu_id
AND rm.role_id in (SELECT ur.role_id
FROM sys_user_role ur
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 ro.STATUS = 1)
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 id="selectMenuPermsByRoleId" resultType="java.lang.String">
SELECT