|  |  | 
 |  |  | <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"> |