Browse Source

1.聊天已读区分接收者和发送者

fangzhen 6 months ago
parent
commit
121351216e

+ 7 - 2
ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysUserVo.java

@@ -1,6 +1,8 @@
 package com.ruoyi.system.domain.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import lombok.Data;
 
 import java.util.Date;
@@ -8,6 +10,7 @@ import java.util.Date;
 @Data
 public class SysUserVo {
     //用户id
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long id;
     //用户昵称
     private String nickName;
@@ -17,8 +20,10 @@ public class SysUserVo {
     private String avatar;
     //最新消息发送者名称
     private String senderNickName;
-    //是否已读
-    private boolean isRead;
+    //是否已读(接收人)
+    private boolean receiverIsRead;
+    //是否已读(发送人)
+    private boolean senderIsRead;
     //最新消息信息时间
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date msgTime;

+ 2 - 1
ruoyi-system/src/main/resources/mapper/system/CommunityChatMsgMapper.xml

@@ -9,7 +9,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                u.user_name                                                           as username,
                u.avatar                                                              as avatar,
                (SELECT u2.nick_name from sys_user u2 where u2.user_id = r.sender_id) as senderNickName,
-               r.receiver_is_read                                                             as isRead,
+               r.receiver_is_read                                                    as receiverIsRead,
+               r.sender_is_read                                                      as senderIsRead,
                r.content                                                             AS msg,
                r.create_time                                                         AS msgTime
         FROM (SELECT CASE