| <?xml version="1.0" encoding="UTF-8"?>  | 
| <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  | 
| <mapper namespace="com.zy.asrs.wms.system.mapper.RoleMenuMapper">  | 
|   | 
|     <select id="listMenuByUserId" resultType="com.zy.asrs.wms.system.entity.Menu">  | 
|         select * from sys_menu  | 
|         where 1=1  | 
|         <if test="type != null">  | 
|             AND type = #{type}  | 
|         </if>  | 
|         <if test="hostId != null">  | 
|             AND host_id = #{hostId}  | 
|         </if>  | 
|         and deleted = 0  | 
|         <if test="userId != null">  | 
|             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  | 
|             )  | 
|             )  | 
|         </if>  | 
|         order by sort  | 
|     </select>  | 
|   | 
|     <select id="listStrictlyMenuByRoleId" resultType="java.lang.Long">  | 
|         select sm.id  | 
|         from sys_menu sm  | 
|         left join sys_role_menu srm on sm.id = srm.menu_id  | 
|         where 1=1  | 
|         and sm.deleted = 0  | 
|         and srm.role_id = #{roleId}  | 
|         and sm.id not in (  | 
|             select sm.parent_id  | 
|             from sys_menu sm  | 
|             inner join sys_role_menu srm on sm.id = srm.menu_id  | 
|             and srm.role_id = #{roleId}  | 
|         )  | 
|         order by sm.sort  | 
|     </select>  | 
|   | 
| </mapper>  |