From c7d0e9337ad62ca2776464c0b8ab3ba2d7a652df Mon Sep 17 00:00:00 2001
From: ageer <ageerle@163.com>
Date: 星期六, 17 五月 2025 12:51:29 +0800
Subject: [PATCH] fix: 修复聊天记录保存异常

---
 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java
index be99044..5c51af7 100644
--- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java
+++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java
@@ -54,14 +54,18 @@
         String modelName = chatRequest.getModel();
 
         ChatMessageBo chatMessageBo = new ChatMessageBo();
-        chatMessageBo.setSessionId(chatRequest.getSessionId());
+
+        if(chatRequest.getSessionId() == null){
+            Object sessionId = LocalCache.CACHE.get("sessionId");
+            chatRequest.setSessionId((Long) sessionId);
+        }
 
         Object userId = LocalCache.CACHE.get("userId");
-        if(userId!=null){
-            chatMessageBo.setUserId((Long) userId);
-        }else {
-            chatMessageBo.setUserId(getUserId());
-        }
+        chatMessageBo.setUserId((Long) userId);
+
+        chatMessageBo.setSessionId(chatRequest.getSessionId());
+        chatMessageBo.setContent(chatRequest.getPrompt());
+
         // 璁$畻鎬籺oken鏁�
         ChatToken chatToken = chatTokenService.queryByUserId(chatMessageBo.getUserId(), modelName);
         if (chatToken == null) {
@@ -95,7 +99,7 @@
                 deductUserBalance(chatMessageBo.getUserId(), numberCost);
                 chatMessageBo.setDeductCost(numberCost);
             }
-            chatMessageBo.setContent(chatRequest.getPrompt());
+
         } else {
             deductUserBalance(chatMessageBo.getUserId(), 0.0);
             chatMessageBo.setDeductCost(0d);

--
Gitblit v1.9.3