SceneLinkageMapper.xml
2.68 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
<?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.SceneLinkageMapper">
<resultMap id="sceneLinkageMap" type="org.thingsboard.server.common.data.yunteng.dto.scene.SceneLinkageDTO">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="organizationId" column="organization_id"/>
<result property="status" column="status"/>
<result property="description" column="description"/>
<result property="tenantId" column="tenant_id"/>
<result property="updater" column="updater"/>
<result property="updateTime" column="update_time"/>
<result property="createTime" column="create_time"/>
<result property="creator" column="creator"/>
<result property="creatorName" column="creator_name"/>
<collection property="triggers" select="org.thingsboard.server.dao.yunteng.mapper.TriggerMapper.listBySceneId" column="id" />
<collection property="doConditions" select="org.thingsboard.server.dao.yunteng.mapper.DoConditionMapper.listBySceneId" column="id" />
<collection property="doActions" select="org.thingsboard.server.dao.yunteng.mapper.DoActionMapper.listBySceneId" column="id" />
</resultMap>
<sql id="columns">
s.id,s.name,s.organization_id,s.status,s.description,s.tenant_id,s.updater,s.update_time,s.create_time,s.creator
</sql>
<select id="getScenePage" resultMap="sceneLinkageMap">
SELECT
<include refid="columns"/>,su.real_name creator_name
FROM tk_scene_linkage s
LEFT JOIN sys_user su ON su.id = s.creator
LEFT JOIN tk_organization io ON io.id = s.organization_id
<where>
<if test="queryMap.tenantId !=null and queryMap.tenantId !=''">
AND s.tenant_id = #{queryMap.tenantId}
</if>
<if test="queryMap.name !=null and queryMap.name !=''">
AND s.name LIKE concat('%',#{queryMap.name}::TEXT,'%')
</if>
<if test="queryMap.status !=null">
AND s.status = #{queryMap.status}
</if>
<if test="queryMap.organizationIds !=null">
AND s.organization_id IN
<foreach collection="queryMap.organizationIds" item="organizationId" open="(" separator="," close=")">
#{organizationId}
</foreach>
</if>
<if test="queryMap.currentUser !=null">
AND s.creator = #{queryMap.currentUser}
</if>
</where>
</select>
</mapper>