From d4ba8bc0d412f322a5a856bde39ed22c4af20112 Mon Sep 17 00:00:00 2001 From: zpc Date: Wed, 4 Sep 2024 00:05:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/0-core/HuanMeng.MiaoYu.Code/Chat/ChatBLL.cs | 11 +++++------ src/0-core/HuanMeng.MiaoYu.Code/Users/UserBLL.cs | 2 +- .../DbSqlServer/Db_MiaoYu/MiaoYuContext.cs | 1 + .../DbSqlServer/Db_MiaoYu/T_User_Chat.cs | 7 ++++++- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/0-core/HuanMeng.MiaoYu.Code/Chat/ChatBLL.cs b/src/0-core/HuanMeng.MiaoYu.Code/Chat/ChatBLL.cs index ddbdb31..48b198a 100644 --- a/src/0-core/HuanMeng.MiaoYu.Code/Chat/ChatBLL.cs +++ b/src/0-core/HuanMeng.MiaoYu.Code/Chat/ChatBLL.cs @@ -52,7 +52,7 @@ public class ChatBLL : MiaoYuBase list.Add(chat); return new BaseResponse>(ResonseCode.Success, "", list); } - var userChatSession = await Dao.daoDbMiaoYu.context.T_User_Chat.Where(it => it.CharacterId == characterId && it.UserId == _UserId && !it.IsDelete).FirstOrDefaultAsync(); + var userChatSession = await Dao.daoDbMiaoYu.context.T_User_Chat.Where(it => it.CharacterId == characterId && it.UserId == _UserId && !it.IsDelete && it.TotalCount > 0).FirstOrDefaultAsync(); if (userChatSession == null) { userChatSession = new T_User_Chat() @@ -67,6 +67,7 @@ public class ChatBLL : MiaoYuBase TenantId = charact.TenantId, UserId = _UserId, TotalToken = 0, + TotalCount = 0, }; Dao.daoDbMiaoYu.context.T_User_Chat.Add(userChatSession); Dao.daoDbMiaoYu.context.SaveChanges(); @@ -228,6 +229,7 @@ public class ChatBLL : MiaoYuBase TenantId = charact.TenantId, UserId = _UserId, TotalToken = 0, + TotalCount = 0, }; Dao.daoDbMiaoYu.context.T_User_Chat.Add(userChatSession); Dao.daoDbMiaoYu.context.SaveChanges(); @@ -328,13 +330,10 @@ public class ChatBLL : MiaoYuBase t_Character.Token = charact.Token; } } - t_Chat1.Tokens = claudeChatResponse.InputTokens ; + t_Chat1.Tokens = claudeChatResponse.InputTokens; t_Chat1.Input_tokens = claudeChatResponse.InputTokens; //设置消耗的总token - if (userChatSession.TotalToken == null) - { - userChatSession.TotalToken = 0; - } + userChatSession.TotalCount++; userChatSession.TotalToken += claudeChatResponse.InputTokens + claudeChatResponse.OutputTokens; Dao.daoDbMiaoYu.context.Add(t_Chat1); Dao.daoDbMiaoYu.context.Add(t_Chat); diff --git a/src/0-core/HuanMeng.MiaoYu.Code/Users/UserBLL.cs b/src/0-core/HuanMeng.MiaoYu.Code/Users/UserBLL.cs index 4c75ea7..99259bd 100644 --- a/src/0-core/HuanMeng.MiaoYu.Code/Users/UserBLL.cs +++ b/src/0-core/HuanMeng.MiaoYu.Code/Users/UserBLL.cs @@ -127,7 +127,7 @@ namespace HuanMeng.MiaoYu.Code.Users var memoryCard = Dao.daoDbMiaoYu.context.T_User_MemoryCard.Where(it => it.UserId == _UserId && it.CharacterId == 0).Count(); //var memoryCard = user.GetUserCurrencyMoney(UserCurrencyType.记忆卡, Dao); //获取聊天次数 - var hasTalked = Dao.daoDbMiaoYu.context.T_User_Chat.Where(it => it.UserId == _UserId && !it.IsDelete ).Count(); + var hasTalked = Dao.daoDbMiaoYu.context.T_User_Chat.Where(it => it.UserId == _UserId && !it.IsDelete && it.TotalCount > 0).Count(); List characters = new List(); return new BaseResponse(ResonseCode.Success, "请求成功", new ResponseUserInfo { diff --git a/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/MiaoYuContext.cs b/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/MiaoYuContext.cs index 6f8c56e..3184476 100644 --- a/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/MiaoYuContext.cs +++ b/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/MiaoYuContext.cs @@ -1066,6 +1066,7 @@ public partial class MiaoYuContext : MultiTenantDbContext//DbContext .HasMaxLength(50) .HasComment("会话名称"); entity.Property(e => e.TenantId).HasComment("租户"); + entity.Property(e => e.TotalCount).HasComment("聊天次数"); entity.Property(e => e.TotalToken).HasComment("消耗的总token"); entity.Property(e => e.UpdateAt) .HasComment("修改时间") diff --git a/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/T_User_Chat.cs b/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/T_User_Chat.cs index cbc1b42..3badad9 100644 --- a/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/T_User_Chat.cs +++ b/src/0-core/HuanMeng.MiaoYu.Model/DbSqlServer/Db_MiaoYu/T_User_Chat.cs @@ -59,5 +59,10 @@ public partial class T_User_Chat: MultiTenantEntity /// /// 消耗的总token /// - public virtual int? TotalToken { get; set; } + public virtual int TotalToken { get; set; } + + /// + /// 聊天次数 + /// + public virtual int TotalCount { get; set; } }