RoleMapper.xml
3.85 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?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="org.thingsboard.server.dao.yunteng.mapper.RoleMapper">
<resultMap id="roleDtoMap" type="org.thingsboard.server.common.data.yunteng.dto.RoleDTO">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="roleType" column="role_type"/>
<result property="tenantId" column="tenant_id"/>
<result property="enabled" column="enabled"/>
<result property="creator" column="creator"/>
<result property="createTime" column="create_time"/>
<result property="updater" column="updater"/>
<result property="updateTime" column="update_time"/>
<result property="code" column="code"/>
</resultMap>
<select id="checkRoleUserMappingByRoleIds" resultType="java.lang.String">
SELECT user_id FROM sys_user_role WHERE role_id IN
<foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach>
GROUP BY user_id
</select>
<delete id="deleteRoleBatchByTenantIds">
DELETE FROM sys_role WHERE tenant_id in (
SELECT tenant_id FROM sys_tenant WHERE id IN
<foreach collection="tenantIds" item="tenantId" open="(" separator="," close=")">
#{tenantId}
</foreach>
)
</delete>
<delete id="deleteRoleMenuMappingByRoleIds">
DELETE FROM sys_role_menu WHERE role_id IN
<foreach collection="roleIds" item="roleId" open="(" separator="," close=")">
#{roleId}
</foreach>
</delete>
<delete id="deleteRoleUserMappingByRoleIds">
DELETE FROM sys_user_role WHERE role_id IN
<foreach collection="roleIds" item="roleId" open="(" separator="," close=")">
#{roleId}
</foreach>
</delete>
<delete id="deleteRoleUserMappingByUserIds">
DELETE FROM sys_user_role WHERE user_id IN
<foreach collection="userIds" item="userId" open="(" separator="," close=")">
#{userId}
</foreach>
</delete>
<delete id="deleteRoleMenuMappingByMenuIds">
DELETE FROM sys_role_menu WHERE menu_id IN
<foreach collection="menuIds" item="menuId" open="(" separator="," close=")">
#{menuId}
</foreach>
</delete>
<select id="getAllIdsByTenantId" resultType="java.lang.String">
SELECT id from sys_role WHERE tenant_id IN
<foreach collection="tenantIds" item="tenantId" open="(" separator="," close=")">
#{tenantId}
</foreach>
</select>
<select id="selectRoleByUserId" resultType="org.thingsboard.server.dao.yunteng.entities.Role">
SELECT *
FROM sys_role
WHERE id IN (SELECT role_id FROM sys_user_role WHERE user_id = #{userId})
</select>
<select id="getMenuIdsByRoleId" resultType="java.lang.String">
SELECT menu_id
FROM sys_role_menu
WHERE role_id = #{roleId}
</select>
<delete id="saveUserRoleMapping">
INSERT INTO sys_user_role(user_id, role_id)
VALUES (#{userId}, #{roleId})
</delete>
<select id="findRoleInfo" resultMap="roleDtoMap">
SELECT id,name,role_type,tenant_id,creator,create_time,updater,update_time,remark,code FROM sys_role
<where>
enabled='t'
<if test="roleType !=null and roleType !=''">AND role_type=#{roleType}</if>
<if test="tenantId !=null and tenantId !=''">AND tenant_id=#{tenantId}</if>
<if test="code !=null and code !=''">AND code=#{code}</if>
<if test="roleIds !=null">OR id IN
<foreach collection="roleIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
</where>
</select>
</mapper>