skyouc
2024-12-21 c635d78b479510ebe2556a420948effcd30a0731
zy-asrs-wms/src/main/resources/mapper/system/RoleMenuMapper.xml
@@ -1,46 +1,46 @@
<?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>
<?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>