mirror of
https://gitcode.com/ageerle/ruoyi-ai.git
synced 2026-03-26 19:13:46 +08:00
fix: 修复聊天记录保存异常
This commit is contained in:
@@ -43,6 +43,7 @@ public class ChatMessageBo extends BaseEntity {
|
||||
/**
|
||||
* 会话id
|
||||
*/
|
||||
@NotBlank(message = "会话id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long sessionId;
|
||||
|
||||
/**
|
||||
|
||||
@@ -54,14 +54,18 @@ public class ChatCostServiceImpl implements IChatCostService {
|
||||
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());
|
||||
|
||||
// 计算总token数
|
||||
ChatToken chatToken = chatTokenService.queryByUserId(chatMessageBo.getUserId(), modelName);
|
||||
if (chatToken == null) {
|
||||
@@ -95,7 +99,7 @@ public class ChatCostServiceImpl implements IChatCostService {
|
||||
deductUserBalance(chatMessageBo.getUserId(), numberCost);
|
||||
chatMessageBo.setDeductCost(numberCost);
|
||||
}
|
||||
chatMessageBo.setContent(chatRequest.getPrompt());
|
||||
|
||||
} else {
|
||||
deductUserBalance(chatMessageBo.getUserId(), 0.0);
|
||||
chatMessageBo.setDeductCost(0d);
|
||||
|
||||
@@ -89,6 +89,7 @@ public class SseServiceImpl implements ISseService {
|
||||
chatSessionService.insertByBo(chatSessionBo);
|
||||
chatRequest.setSessionId(chatSessionBo.getId());
|
||||
}
|
||||
LocalCache.CACHE.put("sessionId", chatRequest.getSessionId());
|
||||
// 保存消息记录 并扣除费用
|
||||
chatCostService.deductToken(chatRequest);
|
||||
// 根据模型分类调用不同的处理逻辑
|
||||
|
||||
Reference in New Issue
Block a user