luxiaotao1123
2024-06-21 569d2b6bc754b037ade5b4205a4d1cdb8339b26b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?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.ptc.kernel.system.mapper.RoleMenuMapper">
 
    <select id="listMenuByUserId" resultType="com.zy.ptc.kernel.system.entity.Menu">
        select * from sys_menu
        where 1=1
        <if test="type != null">
            AND 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
    </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>