南昌市物联网技防平台-公安版
Administrator
2021-06-19 838b61d27d426c1fefef4c52d3ecf5ef0bf4a973
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
<?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.springblade.jfpt.chatrecords.mapper.ChatRecordsMapper">
 
    <!--查询单聊的消息记录列表-->
    <select id="selectChatRecordsPage" resultType="org.springblade.jfpt.chatrecords.entity.ChatRecords">
        select * from sys_chat_records  where sender_id = #{chatRecords.senderId} and recipient_id = #{chatRecords.recipientId}
        union
        select * from sys_chat_records  where sender_id = #{chatRecords.recipientId} and recipient_id = #{chatRecords.senderId}
        order by post_time desc
    </select>
 
    <!--聊天列表-->
    <select id="getChatListPage" resultType="org.springblade.jfpt.chatrecords.vo.ChatRecordsVo">
        select scrss.*,name recipientNickName,real_name recipientName,avatar from jfpthpublicsecurity.blade_user bu
        right join
        (
            select scr.id,scrs.uid recipientId,post_time postTime,post_message postMessage from sys_chat_records  scr
            right join
            (
                select max(max_id) id,uid from (
                    select recipient_id as uid,max(id) as max_id from sys_chat_records where sender_id = #{chatRecords.senderId} group by recipient_id
                    union all
                    select sender_id as uid,max(id) as max_id from sys_chat_records where recipient_id = #{chatRecords.senderId} group by sender_id
                )t group by uid
            ) scrs
            on
            scr.id = scrs.id
        ) scrss
        on
        bu.id = scrss.recipientId
        order by postTime desc
    </select>
 
</mapper>