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

54 lines
1.9 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 IM_API.Dtos;
using IM_API.Dtos.Message;
using IM_API.Models;
using IM_API.VOs.Message;
namespace IM_API.Interface.Services
{
public interface IMessageSevice
{
/// <summary>
/// 发送私聊消息
/// </summary>
/// <param name="senderId">发送人id</param>
/// <param name="receiverId">接收人</param>
/// <param name="dto"></param>
/// <returns></returns>
Task<MessageBaseVo> SendPrivateMessageAsync(int senderId,int receiverId,MessageBaseDto dto);
/// <summary>
/// 发送群聊消息
/// </summary>
/// <param name="senderId">发送人id</param>
/// <param name="groupId">接收群id</param>
/// <param name="dto"></param>
/// <returns></returns>
Task<MessageBaseVo> SendGroupMessageAsync(int senderId,int groupId,MessageBaseDto dto);
/// <summary>
/// 消息入库
/// </summary>
/// <param name="message"></param>
/// <returns></returns>
Task MakeMessageAsync(Message message);
/// <summary>
/// 获取历史消息列表
/// </summary>
/// <param name="conversationId">会话id用于获取指定用户间聊天消息</param>
/// <param name="sequenceId">消息id</param>
/// <param name="pageSize">获取消息数量</param>
/// <returns></returns>
Task<List<MessageBaseVo>> GetMessagesAsync(int userId,MessageQueryDto dto);
/// <summary>
/// 获取未读消息数
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
Task<int> GetUnreadCountAsync(int userId);
Task<List<MessageBaseDto>> GetUnreadMessagesAsync(int userId);
Task<bool> MarkAsReadAsync(int userId,long messageId);
Task<bool> MarkConversationAsReadAsync(int userId,int? userBId,int? groupId);
Task<bool> RecallMessageAsync(int userId,int messageId);
}
}