TkDataViewMapper.xml
3.47 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
<?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.TkDataViewMapper">
<resultMap id="dataViewMap" type="org.thingsboard.server.common.data.yunteng.dto.TkDataViewDTO">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="state" column="state"/>
<result property="organizationId" column="organization_id"/>
<result property="remark" column="remark"/>
<result property="updateTime" column="update_time"/>
<result property="createTime" column="create_time"/>
<result property="creator" column="creator"/>
<result property="tenantId" column="tenant_id"/>
<result property="updater" column="updater"/>
<result property="thumbnail" column="thumbnail"/>
<result property="accessCredentials" column="access_credentials"/>
<result property="viewType" column="view_type" typeHandler="org.apache.ibatis.type.EnumTypeHandler"/>
<association property="organizationDTO"
javaType="org.thingsboard.server.common.data.yunteng.dto.OrganizationDTO">
<result property="name" column="organization_name"/>
</association>
</resultMap>
<resultMap id="dataViewInfoMap"
type="org.thingsboard.server.common.data.yunteng.dto.request.TkDataViewContentInfoDTO">
<result property="thumbnail" column="thumbnail"/>
<result property="dataViewId" column="id"/>
<result property="dataViewName" column="name"/>
<result property="state" column="state"/>
<result property="organizationId" column="organization_id"/>
<collection property="dataViewContent"
ofType="org.thingsboard.server.common.data.yunteng.dto.TkDataViewContentDTO">
<result property="id" column="content_id"/>
<result property="content" column="content"/>
</collection>
</resultMap>
<sql id="columns">
a.id,a.name, a.remark,a.state,a.tenant_id,a.organization_id,a.thumbnail,a.updater,a.update_time,a.create_time,
a.creator,io.name AS organization_name,a.access_credentials,a.view_type
</sql>
<select id="getDataViewPage" resultMap="dataViewMap">
SELECT
<include refid="columns"/>
FROM tk_data_view a
LEFT JOIN tk_organization io ON io.id = a.organization_id
<where>
<if test="queryMap.tenantId !=null and queryMap.tenantId !=''">
AND a.tenant_id = #{queryMap.tenantId}
</if>
<if test="queryMap.name !=null and queryMap.name !=''">
AND a.name LIKE concat('%',#{queryMap.name}::TEXT,'%')
</if>
<if test="queryMap.organizationIds !=null">
AND a.organization_id IN
<foreach collection="queryMap.organizationIds" item="organizationId" open="(" separator="," close=")">
#{organizationId}
</foreach>
</if>
</where>
</select>
<select id="getDataViewInfoById" resultMap="dataViewInfoMap">
SELECT icc.id,icc.thumbnail,icc.name,icc.state,icc.organization_id,icc.thumbnail,icct.id AS content_id,icct.content FROM tk_data_view icc LEFT JOIN
tk_data_view_content icct ON icc.id = icct.view_id
WHERE icc.id = #{id} AND icc.tenant_id = #{tenantId}
</select>
</mapper>