SysNoticeUserMapper.xml
3.86 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
<?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.SysNoticeUserMapper">
<resultMap type="org.thingsboard.server.common.data.yunteng.dto.SysNoticeUserDTO" id="sysNoticeUser">
<result property="receiverId" column="receiver_id"/>
<result property="noticeId" column="notice_id"/>
<result property="readStatus" column="read_status"/>
<result property="readDate" column="read_date"/>
<result property="creator" column="creator"/>
<result property="updater" column="updater"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="tenantId" column="tenant_id"/>
<result property="id" column="id"/>
<result property="receiverName" column="receiver_name"/>
<association property="user" column="receiver_id"
javaType="org.thingsboard.server.common.data.yunteng.dto.UserDTO">
<result property="realName" column="real_name"/>
</association>
<association property="sysNotice" column="notice_id"
javaType="org.thingsboard.server.common.data.yunteng.dto.SysNoticeDTO">
<result property="id" column="id"/>
<result property="type" column="type" typeHandler="org.apache.ibatis.type.EnumTypeHandler"/>
<result property="senderName" column="sender_name"/>
<result property="senderDate" column="sender_date"/>
<result property="title" column="title"/>
<result property="content" column="content"/>
<result property="avatar" column="avatar"/>
</association>
</resultMap>
<sql id="dict">
SELECT sdi.item_text
FROM sys_dict_item sdi
LEFT JOIN sys_dict sd ON sd.id = sdi.dict_id
WHERE sdi.status = 1
</sql>
<sql id="columns">
SELECT snu.receiver_id receiver_id,snu.receiver_name,
snu.notice_id notice_id,
snu.read_status read_status,
snu.read_date read_date,
snu.creator creator,
snu.updater updater,
snu.create_time create_time,
snu.update_time update_time,
snu.tenant_id tenant_id,
su.real_name real_name,
snu.id id,
sn.type AS type,
sn.sender_name sender_name,
sn.sender_date sender_date,
sn.id AS id,
sn.title AS title,
sn.content AS content,
sn.avatar AS avatar
FROM sys_notice_user snu
LEFT JOIN sys_notice sn ON sn.id = snu.notice_id
LEFT JOIN sys_user su ON snu.receiver_id = su.id
</sql>
<select id="page" resultMap="sysNoticeUser">
<include refid="columns"/>
WHERE
snu.tenant_id = #{queryMap.tenantId}
AND snu.status = '1'
<if test="queryMap.type != null">
AND sn.type = #{queryMap.type}
</if>
<if test="queryMap.creator != null">
AND sn.creator = #{queryMap.creator}
</if>
<if test="queryMap.receiverId != null">
AND snu.receiver_id = #{queryMap.receiverId}
</if>
<if test="queryMap.noticeId != null">
AND snu.notice_id = #{queryMap.noticeId}
</if>
</select>
<select id="get" resultMap="sysNoticeUser">
<include refid="columns"/>
WHERE
snu.tenant_id = #{tenantId}
AND snu.id = #{id}
</select>
<update id="updateSysNoticeUsersStatusByNoticeId">
UPDATE sys_notice_user
SET status =#{status}
WHERE notice_id = #{noticeId}
</update>
</mapper>