diff --git a/src/0-core/HuanMeng.MiaoYu.Code/Chat/ChatBLL.cs b/src/0-core/HuanMeng.MiaoYu.Code/Chat/ChatBLL.cs
index 2416718..a6049eb 100644
--- a/src/0-core/HuanMeng.MiaoYu.Code/Chat/ChatBLL.cs
+++ b/src/0-core/HuanMeng.MiaoYu.Code/Chat/ChatBLL.cs
@@ -1,4 +1,6 @@
using HuanMeng.DotNetCore.Base;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -24,13 +26,32 @@ namespace HuanMeng.MiaoYu.Code.Chat
///
public async Task DelChatByIds(List id,int characterId)
{
- var chatsToDelete = Dao.daoDbMiaoYu.context.T_Chat.Where(t => id.Contains(t.Id)).ToList();
+ var chatsToDelete = await Dao.daoDbMiaoYu.context.T_Chat.Where(t => id.Contains(t.Id)).ToListAsync();
if (chatsToDelete.Count <= 0)
{
throw new Exception("");
}
- var chatList = chatsToDelete.Where(t => t.UserId == _UserId && t.CharacterId == characterId && t.IsDel == false).ToList();
- Dao.daoDbMiaoYu.context.T_Chat.RemoveRange(chatList);
+ var chatList = chatsToDelete.Where(t => t.UserId == _UserId && t.CharacterId == characterId && t.IsDel == false).ToList();
+ if (chatList.Count > 0)
+ {
+ chatList.ForEach(t=>t.IsDel = true);
+ }
+ Dao.daoDbMiaoYu.context.SaveChanges();
+ return true;
+ }
+
+ ///
+ /// 清空聊天记录
+ ///
+ ///
+ ///
+ public async Task DelChat(int characterId)
+ {
+ var tempList = await Dao.daoDbMiaoYu.context.T_Chat.Where(t=>t.UserId == _UserId && t.CharacterId==characterId && t.IsDel == false).ToListAsync();
+ if (tempList.Count > 0)
+ {
+ tempList.ForEach(t => t.IsDel = true);
+ }
Dao.daoDbMiaoYu.context.SaveChanges();
return true;
}
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 ceb655d..bbcade7 100644
--- a/src/0-core/HuanMeng.MiaoYu.Model/Dto/Chat/CharacterInfoDto.cs
+++ b/src/0-core/HuanMeng.MiaoYu.Model/Dto/Chat/CharacterInfoDto.cs
@@ -96,4 +96,31 @@ namespace HuanMeng.MiaoYu.Model.Dto.Home
{
public List ChatList { get; set; }
}
+
+ ///
+ /// 删除聊天
+ ///
+ public class DelChat
+ {
+ ///
+ /// 聊天记录id
+ ///
+ public List id { get; set; }
+
+ ///
+ /// 人物id
+ ///
+ public int characterId { get; set; }
+ }
+
+ ///
+ /// 清空聊天记录
+ ///
+ public class DelChatList
+ {
+ ///
+ /// 人物id
+ ///
+ public int characterId { 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 5d4d257..353f3ae 100644
--- a/src/2-api/HuanMeng.MiaoYu.WebApi/Controllers/ChatController.cs
+++ b/src/2-api/HuanMeng.MiaoYu.WebApi/Controllers/ChatController.cs
@@ -8,11 +8,18 @@ using Newtonsoft.Json;
namespace HuanMeng.MiaoYu.WebApi.Controllers
{
+
+ ///
+ /// 首页聊天
+ ///
[Route("api/[controller]/[action]")]
[ApiController]
public class ChatController : MiaoYuControllerBase
{
-
+ ///
+ ///
+ ///
+ ///
public ChatController(IServiceProvider _serviceProvider) : base(_serviceProvider)
{
}
@@ -22,6 +29,7 @@ namespace HuanMeng.MiaoYu.WebApi.Controllers
///
///
[HttpGet]
+ [AllowAnonymous]
public async Task> GetCharacterInfo()
{
var obj = JsonConvert.DeserializeObject("{\"Icon\":\"\",\"Intimacy\":10,\"CharacterId\":2,\"CharacterName\":\"许荷姻\",\"Gender\":1,\"LookCount\":2,\"BgUrl\":\"\",\"Biography\":\"你那商业联姻得来的妻子,原本的天才女孩,聪明伶俐,生的漂亮、端庄,不知贵圈多少人梦寐以求的存在。\",\"Prologue\":\"坐在轮椅上,眼神平静的看着你,语气也同样平静)你回来了。饭菜在桌上,我刚刚热了。(说到这,又垂下眸子道)我还做了碗醒酒汤,记得喝\",\"Label\":[{\"Id\":1,\"Name\":\"美女\"},{\"Id\":2,\"Name\":\"二次元\"}],\"RemainingChatCount\":1}");
@@ -35,6 +43,7 @@ namespace HuanMeng.MiaoYu.WebApi.Controllers
///
///
[HttpGet]
+ [AllowAnonymous]
public async Task> GetChatInfo()
{
var obj = JsonConvert.DeserializeObject("{\"ChatList\":[{\"Id\":\"1\",\"Role\":\"user\",\"Content\":\"Hello, how are you?\",\"Timestamp\":\"2022-03-01 12:00:00 \",\"MessageType\":0,\"UserIcon\":\"\"},{\"Id\":\"2\",\"Role\":\"assistant\",\"Content\":\"I'm fine, thanks!\",\"Timestamp\":\"2022-03-01 12:05:00 \",\"UserIcon\":\"\"}]}");
@@ -44,18 +53,33 @@ namespace HuanMeng.MiaoYu.WebApi.Controllers
///
/// 删除聊天记录
///
- ///
- ///
+ ///
///
+ ///
[HttpPost]
- public async Task> DelChatByIds(List id, int characterId)
+ [AllowAnonymous]
+ public async Task> DelChatByIds([FromBody] DelChat delChat)
{
- if(id == null || characterId == 0)
+ if (delChat.id == null || delChat.characterId == 0)
{
throw new ArgumentNullException();
}
ChatBLL chatBLL = new ChatBLL(ServiceProvider);
- var obj =await chatBLL.DelChatByIds(id, characterId);
+ var obj = await chatBLL.DelChatByIds(delChat.id, delChat.characterId);
+ return new BaseResponse(ResonseCode.Success, "", obj);
+ }
+
+ ///
+ /// 清空聊天记录
+ ///
+ /// 人物id
+ ///
+ [HttpPost]
+ [AllowAnonymous]
+ public async Task> DelChat([FromBody] DelChatList delChatList)
+ {
+ ChatBLL chatBLL = new ChatBLL(ServiceProvider);
+ var obj = await chatBLL.DelChat(delChatList.characterId);
return new BaseResponse(ResonseCode.Success, "", obj);
}
}