1、优化消息排序逻辑 2、新增加载历史消息 3、修复已知问题 后端: 1、优化消息排序逻辑 2、增加用户信息缓存机制 3、修改日期类型为DateTimeOffset改善时区信息丢失问题 3、修复了已知问题 数据库: 1、新增SequenceId字段用于消息排序 2、新增ClientMsgId字段用于客户端消息回执
67 lines
1.6 KiB
C#
67 lines
1.6 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel.DataAnnotations.Schema;
|
||
|
||
namespace IM_API.Models;
|
||
|
||
public partial class Message
|
||
{
|
||
public int Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 聊天类型
|
||
/// (0:私聊,1:群聊)
|
||
/// </summary>
|
||
public sbyte ChatType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 消息类型
|
||
/// (0:文本,1:图片,2:语音,3:视频,4:文件,5:语音聊天,6:视频聊天)
|
||
/// </summary>
|
||
public sbyte MsgType { get; set; }
|
||
public Guid ClientMsgId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 消息内容
|
||
/// </summary>
|
||
public string Content { get; set; } = null!;
|
||
|
||
/// <summary>
|
||
/// 发送者
|
||
/// </summary>
|
||
public int Sender { get; set; }
|
||
|
||
/// <summary>
|
||
/// 接收者(私聊为用户ID,群聊为群聊ID)
|
||
/// </summary>
|
||
public int Recipient { get; set; }
|
||
|
||
/// <summary>
|
||
/// 消息状态(0:已发送,1:已撤回)
|
||
/// </summary>
|
||
public sbyte State { get; set; }
|
||
|
||
/// <summary>
|
||
/// 发送时间
|
||
/// </summary>
|
||
[Column(TypeName = "datetimeoffset")]
|
||
public DateTimeOffset Created { get; set; }
|
||
|
||
/// <summary>
|
||
/// 消息推送唯一标识符
|
||
/// </summary>
|
||
public string StreamKey { get; set; } = null!;
|
||
|
||
/// <summary>
|
||
/// 消息排序标识
|
||
/// </summary>
|
||
|
||
public long SequenceId { get; set; }
|
||
|
||
public virtual ICollection<Conversation> Conversations { get; set; } = new List<Conversation>();
|
||
|
||
public virtual ICollection<File> Files { get; set; } = new List<File>();
|
||
|
||
public virtual User SenderNavigation { get; set; } = null!;
|
||
}
|