1、优化消息排序逻辑 2、新增加载历史消息 3、修复已知问题 后端: 1、优化消息排序逻辑 2、增加用户信息缓存机制 3、修改日期类型为DateTimeOffset改善时区信息丢失问题 3、修复了已知问题 数据库: 1、新增SequenceId字段用于消息排序 2、新增ClientMsgId字段用于客户端消息回执
57 lines
2.0 KiB
C#
57 lines
2.0 KiB
C#
using IM_API.Dtos.Conversation;
|
|
using IM_API.Models;
|
|
using IM_API.VOs.Conversation;
|
|
|
|
namespace IM_API.Interface.Services
|
|
{
|
|
public interface IConversationService
|
|
{
|
|
/// <summary>
|
|
/// 清除消息会话
|
|
/// </summary>
|
|
/// <param name="clearConversationsDto"></param>
|
|
/// <returns></returns>
|
|
Task<bool> ClearConversationsAsync(int userId);
|
|
/// <summary>
|
|
/// 删除单个聊天会话
|
|
/// </summary>
|
|
/// <param name="conversationId"></param>
|
|
/// <returns></returns>
|
|
Task<bool> DeleteConversationAsync(int conversationId);
|
|
/// <summary>
|
|
/// 获取用户当前消息会话
|
|
/// </summary>
|
|
/// <param name="userId">用户id</param>
|
|
/// <returns></returns>
|
|
Task<List<ConversationVo>> GetConversationsAsync(int userId);
|
|
/// <summary>
|
|
/// 获取指定用户的所有推送标识符
|
|
/// </summary>
|
|
/// <param name="userId"></param>
|
|
/// <returns></returns>
|
|
Task<List<string>> GetUserAllStreamKeyAsync(int userId);
|
|
/// <summary>
|
|
/// 获取单个conversation信息
|
|
/// </summary>
|
|
/// <param name="conversationId"></param>
|
|
/// <returns></returns>
|
|
Task<ConversationVo> GetConversationByIdAsync(int userId, int conversationId);
|
|
/// <summary>
|
|
/// 清空未读消息
|
|
/// </summary>
|
|
/// <param name="userId"></param>
|
|
/// <param name="conversationId"></param>
|
|
/// <returns></returns>
|
|
Task<bool> ClearUnreadCountAsync(int userId, int conversationId);
|
|
/// <summary>
|
|
/// 为用户创建会话
|
|
/// </summary>
|
|
/// <param name="userAId"></param>
|
|
/// <param name="userBId"></param>
|
|
/// <param name="chatType"></param>
|
|
/// <returns></returns>
|
|
Task MakeConversationAsync(int userAId, int userBId, ChatType chatType);
|
|
Task UpdateConversationAfterSentAsync(UpdateConversationDto dto);
|
|
}
|
|
}
|