longz
2026-06-29 9d4cbff7464ebfd7803c2ce53ded49d0f73fe011
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
42
<?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.sinata.appointment.mapper.SysUserMapper">
 
    <select id="listUserIdsByRoleCode" resultType="java.lang.Long">
        SELECT DISTINCT u.id FROM sys_user u
        JOIN sys_user_role ur ON ur.user_id = u.id AND ur.del_flag = 0
        JOIN sys_role r ON r.id = ur.role_id AND r.del_flag = 0
        WHERE u.del_flag = 0 AND u.status = 1 AND r.role_code = #{roleCode}
    </select>
 
    <select id="listRoleCodesByUserId" resultType="java.lang.String">
        SELECT r.role_code FROM sys_user_role ur
        JOIN sys_role r ON r.id = ur.role_id AND r.del_flag = 0
        WHERE ur.user_id = #{userId} AND ur.del_flag = 0
    </select>
 
    <select id="listPermissionCodesByUserId" resultType="java.lang.String">
        SELECT DISTINCT m.perm_code
        FROM sys_user_role ur
        JOIN sys_role r ON r.id = ur.role_id AND r.del_flag = 0
        JOIN sys_role_menu rm ON rm.role_id = r.id AND rm.del_flag = 0
        JOIN sys_menu m ON m.id = rm.menu_id AND m.del_flag = 0
        WHERE ur.user_id = #{userId}
          AND ur.del_flag = 0
          AND m.perm_code IS NOT NULL
          AND m.perm_code != ''
    </select>
 
    <select id="listRoleLabelsByUserIds" resultType="com.sinata.appointment.dto.UserRoleLabelRow">
        SELECT ur.user_id AS userId, r.role_name AS roleName
        FROM sys_user_role ur
        INNER JOIN sys_role r ON r.id = ur.role_id AND r.del_flag = 0
        WHERE ur.del_flag = 0 AND ur.user_id IN
        <foreach collection="userIds" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>
    </select>
 
</mapper>