IM/backend/IM_API/Models/Message.cs
nanxun 58bc8b4b5a 前端:
1、优化消息排序逻辑
2、新增加载历史消息
3、修复已知问题
后端:
1、优化消息排序逻辑
2、增加用户信息缓存机制
3、修改日期类型为DateTimeOffset改善时区信息丢失问题
3、修复了已知问题
数据库:
1、新增SequenceId字段用于消息排序
2、新增ClientMsgId字段用于客户端消息回执
2026-02-07 22:37:56 +08:00

67 lines
1.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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!;
}