Repository navigation
Expand file tree
/
Copy pathWorkMsgMapper.xml
More file actions
138 lines (129 loc) · 4.6 KB
/
Copy pathWorkMsgMapper.xml
File metadata and controls
138 lines (129 loc) · 4.6 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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<?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.mochat.mochat.dao.mapper.wm.WorkMsgMapper">
<!-- 查询最后一条聊天记录的 seq -->
<select id="selectLastSeq" resultType="int" parameterType="map">
SELECT seq
FROM ${tableName}
WHERE corp_id = #{corpId}
ORDER BY seq DESC
LIMIT 0, 1
</select>
<!-- 保存聊天记录 -->
<insert id="insertByMap" parameterType="map">
insert into ${tableName} (
`corp_id`,
`seq`,
`msg_id`,
`action`,
`from`,
`tolist`,
`msg_type`,
`content`,
`msg_time`,
`wx_room_id`
)
values
<foreach collection="list" item="item" index="index" separator=",">
(
#{item.corpId},
#{item.seq},
#{item.msgId},
#{item.action},
#{item.from},
#{item.tolist},
#{item.msgType},
#{item.content},
#{item.msgTime},
#{item.wxRoomId}
)
</foreach>
</insert>
<!-- 查询 与接收者的最后一条信息 -->
<select id="selectToUserLastMsg" parameterType="map" resultType="com.mochat.mochat.dao.entity.wm.WorkMsgEntity">
select content, msg_time
from ${tableName}
where corp_id = #{corpId} and tolist_type = #{toType}
<if test="toType != null and toType != 2">
and (`from`=#{from} and tolist like concat('%', #{to}, '%'))
or (`from`=#{to} and tolist like concat('%', #{from}, '%'))
</if>
<if test="toType != null and toType == 2">
and wx_room_id=#{to}
</if>
order by msg_time desc limit 0, 1
</select>
<resultMap id="toUserMsgResult" type="com.mochat.mochat.dao.entity.wm.WorkMsgEntity">
<result column="action" property="action" jdbcType="TINYINT" javaType="_int" />
</resultMap>
<!-- 查询 与接收者的聊天数据 -->
<select id="selectToUserMsg" parameterType="map" resultMap="toUserMsgResult">
select `from`, action, msg_type, content, msg_time
from ${tableName}
where corp_id = #{corpId}
and tolist_type = #{toUserType}
<if test="msgType != null and msgType gt 0 and msgType lt 8">
and msg_type = #{msgType}
</if>
<if test="msgType != null and msgType gt 7">
and msg_type > 7
</if>
<if test="content != null and content.length > 0">
and content like concat('%', #{content}, '%')
</if>
<if test="dateTimeStart != null">
and msg_time > #{dateTimeStart}
</if>
<if test="dateTimeEnd != null">
and msg_time < #{dateTimeEnd}
</if>
<if test="toUserType != null and toUserType != 2">
and (
(`from`=#{from} and tolist like concat('%', #{to}, '%'))
or
(`from`=#{to} and tolist like concat('%', #{from}, '%'))
)
</if>
<if test="toUserType != null and toUserType == 2">
and wx_room_id=#{to}
</if>
order by msg_time asc
</select>
<select id="selectToUserMsgCount" parameterType="map" resultType="int">
select COUNT(*) as count
from ${tableName}
where corp_id = #{corpId}
and tolist_type = #{toUserType}
<if test="msgType != null and msgType gt 0 and msgType lt 8">
and msg_type = #{msgType}
</if>
<if test="msgType != null and msgType gt 7">
and msg_type > 7
</if>
<if test="content != null and content.length > 0">
and content like concat('%', #{content}, '%')
</if>
<if test="dateTimeStart != null">
and msg_time > #{dateTimeStart}
</if>
<if test="dateTimeEnd != null">
and msg_time < #{dateTimeEnd}
</if>
<if test="toUserType != null and toUserType != 2">
and (
(`from`=#{from} and tolist like concat('%', #{to}, '%'))
or
(`from`=#{to} and tolist like concat('%', #{from}, '%'))
)
</if>
<if test="toUserType != null and toUserType == 2">
and wx_room_id=#{to}
</if>
order by msg_time asc
</select>
<select id="selectToUserLastMsg" parameterType="map" resultType="com.mochat.mochat.dao.entity.wm.WorkMsgEntity">
SELECT corp_Id,msg_id
FROM ${tableName}
WHERE corp_id = #{corpId}
</select>
</mapper>