diff --git a/src/main/resources/mapper/sys/SysMenuDao.xml b/src/main/resources/mapper/sys/SysMenuDao.xml index 69d3e6ce..534a1b11 100644 --- a/src/main/resources/mapper/sys/SysMenuDao.xml +++ b/src/main/resources/mapper/sys/SysMenuDao.xml @@ -88,15 +88,13 @@ - SELECT sm.menu_id, sm.parent_id, ISNULL(sml.language_value, sm.name) as name, + SELECT DISTINCT sm.menu_id, sm.parent_id, ISNULL(sml.language_value, sm.name) as name, sm.url, sm.perms, sm.type, sm.icon, sm.order_num FROM sys_menu sm LEFT JOIN sys_object_language_menu sml ON sm.menu_id = sml.menu_id and sml.language_code = #{language} - LEFT JOIN sys_role_menu srm ON srm.menu_id = sm.menu_id - LEFT JOIN sys_user_role sur ON sur.role_id = srm.role_id - LEFT JOIN sys_user su ON su.user_id = sur.user_id + INNER JOIN sys_role_menu srm ON srm.menu_id = sm.menu_id + INNER JOIN sys_user_role sur ON sur.role_id = srm.role_id - srm.menu_id = sm.menu_id AND sur.role_id = srm.role_id AND su.user_id = sur.user_id - AND sm.menu_type = #{menuType} + sm.menu_type = #{menuType} - AND su.user_id = #{userId} + AND sur.user_id = #{userId} ORDER BY sm.order_num ASC