From fba8540c15de60a2f087225146f2c5ff837fbc61 Mon Sep 17 00:00:00 2001 From: zpc Date: Mon, 15 Jul 2024 20:42:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B6=88=E6=81=AF=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=92=8C=E5=8F=91=E9=80=81=E6=B6=88=E6=81=AF=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=BF=94=E5=9B=9E=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/0-core/HuanMeng.MiaoYu.Code/Chat/ChatBLL.cs | 17 +++++++++++------ .../Dto/Chat/CharacterInfoDto.cs | 17 +++++++++++++++-- .../Controllers/ChatController.cs | 10 +++++----- 3 files changed, 31 insertions(+), 13 deletions(-) diff --git a/src/0-core/HuanMeng.MiaoYu.Code/Chat/ChatBLL.cs b/src/0-core/HuanMeng.MiaoYu.Code/Chat/ChatBLL.cs index 45ec3c1..57f5bcd 100644 --- a/src/0-core/HuanMeng.MiaoYu.Code/Chat/ChatBLL.cs +++ b/src/0-core/HuanMeng.MiaoYu.Code/Chat/ChatBLL.cs @@ -10,6 +10,7 @@ using HuanMeng.Utility; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; using System; using System.Collections; @@ -137,9 +138,9 @@ namespace HuanMeng.MiaoYu.Code.Chat /// 消息内容 /// /// - public async Task>> Message(int characterId, string message) + public async Task> Message(int characterId, string message) { - + ChatMessageDataDto chatListDto = new ChatMessageDataDto(); List chatMessageDtos = new List(); var charact = MiaoYuCache.CharacterList.FirstOrDefault(it => it.Id == characterId); if (charact == null) @@ -158,7 +159,8 @@ namespace HuanMeng.MiaoYu.Code.Chat UserIcon = charact.IconImage }; chatMessageDtos.Add(chatMessage); - return new BaseResponse>(ResonseCode.Success, "", chatMessageDtos); + chatListDto.ChatList = chatMessageDtos; + return new BaseResponse(ResonseCode.Success, "", chatListDto); } //if(timeStamp.) var userChatSession = await Dao.daoDbMiaoYu.context.T_User_Chat.Where(it => it.CharacterId == characterId && it.UserId == _UserId && !it.IsDelete).FirstOrDefaultAsync(); @@ -222,8 +224,8 @@ namespace HuanMeng.MiaoYu.Code.Chat UpdateTime = DateTime.Now, UserId = _UserId, }; - - + + #endregion #region 调用api ClaudeChatChatParams baseChatParams = new ClaudeChatChatParams(); @@ -271,7 +273,10 @@ namespace HuanMeng.MiaoYu.Code.Chat Id = t_Chat.Id }; chatMessageDtos.Add(chatMessageDto); - return new BaseResponse>(ResonseCode.Success, "", chatMessageDtos); + chatListDto.ChatList = chatMessageDtos; + chatListDto.LastMessageId = t_Chat1.Id; + chatListDto.RemainingChatCount = 999; + return new BaseResponse(ResonseCode.Success, "", chatListDto); } /// /// 删除聊天记录 diff --git a/src/0-core/HuanMeng.MiaoYu.Model/Dto/Chat/CharacterInfoDto.cs b/src/0-core/HuanMeng.MiaoYu.Model/Dto/Chat/CharacterInfoDto.cs index 13fbc45..be7fdc4 100644 --- a/src/0-core/HuanMeng.MiaoYu.Model/Dto/Chat/CharacterInfoDto.cs +++ b/src/0-core/HuanMeng.MiaoYu.Model/Dto/Chat/CharacterInfoDto.cs @@ -94,16 +94,29 @@ namespace HuanMeng.MiaoYu.Model.Dto.Chat // public string LabelName { get; set; } //} - + + + /// /// 聊天列表 /// - public class ChatListDto + public class ChatMessageDataDto { /// /// 聊天列表 /// public List ChatList { get; set; } + + /// + /// 剩余聊天次数 + /// + public int RemainingChatCount { get; set; } + + /// + /// 用户发送的消息Id + /// + public int LastMessageId { get; set; } + } /// diff --git a/src/2-api/HuanMeng.MiaoYu.WebApi/Controllers/ChatController.cs b/src/2-api/HuanMeng.MiaoYu.WebApi/Controllers/ChatController.cs index 920c73d..33e2bb7 100644 --- a/src/2-api/HuanMeng.MiaoYu.WebApi/Controllers/ChatController.cs +++ b/src/2-api/HuanMeng.MiaoYu.WebApi/Controllers/ChatController.cs @@ -68,13 +68,13 @@ namespace HuanMeng.MiaoYu.WebApi.Controllers /// [HttpGet] [AllowAnonymous] - public async Task> GetChatInfo(int characterId) + public async Task>> GetChatInfo(int characterId) { - ChatListDto chatListDto = new ChatListDto(); + ChatBLL chatBLL = new ChatBLL(ServiceProvider); var list = await chatBLL.GetChatMessage(characterId); - chatListDto.ChatList = list.Data; - return new BaseResponse(ResonseCode.Success, "", chatListDto); + + return list; } /// @@ -83,7 +83,7 @@ namespace HuanMeng.MiaoYu.WebApi.Controllers /// /// [HttpPost] - public async Task>> SendMessage([FromBody] RequestMessage requestMessage) + public async Task> SendMessage([FromBody] RequestMessage requestMessage) { ChatBLL chatBLL = new ChatBLL(ServiceProvider); var obj = await chatBLL.Message(requestMessage.CharacterId, requestMessage.Message);