blob: 73e55fc8717bbbf3f4dd53a097bc8fcf059be630 [file] [log] [blame]
visionegg98dea662025-05-19 14:35:20 +08001<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3<mapper namespace="com.ruoyi.system.mapper.SysUserMessageMapper">
4 <resultMap id="SysUserMessageMap" type="com.ruoyi.system.domain.SysUserMessage">
5 <id property="messageId" column="message_id"/>
6 <result property="senderId" column="sender_id"/>
7 <result property="receiverId" column="receiver_id"/>
8 <result property="content" column="content"/>
9 <result property="createTime" column="create_time"/>
10 </resultMap>
11
12 <insert id="insertMessage" parameterType="com.ruoyi.system.domain.SysUserMessage">
13 insert into sys_user_message (sender_id, receiver_id, content, create_time)
14 values (#{senderId}, #{receiverId}, #{content}, sysdate())
15 </insert>
16
17 <select id="selectMessageListByUserIds" resultMap="SysUserMessageMap">
18 select message_id, sender_id, receiver_id, content, create_time
19 from sys_user_message
20 where (sender_id = #{userId1} and receiver_id = #{userId2})
21 or (sender_id = #{userId2} and receiver_id = #{userId1})
22 and del_flag = '0'
23 order by create_time asc
24 </select>
BirdNETM2b789252025-06-03 18:08:04 +080025
26 <select id="selectChatUserIds" parameterType="java.lang.Long" resultType="map">
27 SELECT DISTINCT
28 CASE
29 WHEN m.sender_id = #{userId} THEN m.receiver_id
30 ELSE m.sender_id
31 END AS userId,
32 u.nick_name AS nickName
33 FROM sys_user_message m
34 INNER JOIN sys_user u
35 ON (m.sender_id = #{userId} AND m.receiver_id = u.user_id)
36 OR (m.receiver_id = #{userId} AND m.sender_id = u.user_id)
37 WHERE (m.sender_id = #{userId} OR m.receiver_id = #{userId})
38 AND m.del_flag = '0'
39 AND u.del_flag = '0'
40 ORDER BY u.nick_name
41 </select>
visionegg98dea662025-05-19 14:35:20 +080042</mapper>