fix: 扣费时无法获取用户id

This commit is contained in:
ageerle
2025-04-22 10:43:54 +08:00
parent 1b793e822a
commit c5c375dc6d

View File

@@ -61,7 +61,7 @@ public class ChatCostServiceImpl implements IChatCostService {
chatMessageBo.setUserId(getUserId()); chatMessageBo.setUserId(getUserId());
} }
// 计算总token数 // 计算总token数
ChatToken chatToken = chatTokenService.queryByUserId(getUserId(), modelName); ChatToken chatToken = chatTokenService.queryByUserId(chatMessageBo.getUserId(), modelName);
if (chatToken == null) { if (chatToken == null) {
chatToken = new ChatToken(); chatToken = new ChatToken();
chatToken.setToken(0); chatToken.setToken(0);
@@ -75,17 +75,17 @@ public class ChatCostServiceImpl implements IChatCostService {
if (token2 > 0) { if (token2 > 0) {
// 保存剩余tokens // 保存剩余tokens
chatToken.setModelName(modelName); chatToken.setModelName(modelName);
chatToken.setUserId(getUserId()); chatToken.setUserId(chatMessageBo.getUserId());
chatToken.setToken(token2); chatToken.setToken(token2);
chatTokenService.editToken(chatToken); chatTokenService.editToken(chatToken);
} else { } else {
chatTokenService.resetToken(getUserId(), modelName); chatTokenService.resetToken(chatMessageBo.getUserId(), modelName);
} }
ChatModelVo chatModelVo = chatModelService.selectModelByName(modelName); ChatModelVo chatModelVo = chatModelService.selectModelByName(modelName);
double cost = chatModelVo.getModelPrice(); double cost = chatModelVo.getModelPrice();
if (BillingType.TIMES.getCode().equals(chatModelVo.getModelType())) { if (BillingType.TIMES.getCode().equals(chatModelVo.getModelType())) {
// 按次数扣费 // 按次数扣费
deductUserBalance(getUserId(), cost); deductUserBalance(chatMessageBo.getUserId(), cost);
chatMessageBo.setDeductCost(cost); chatMessageBo.setDeductCost(cost);
}else { }else {
// 按token扣费 // 按token扣费
@@ -95,7 +95,7 @@ public class ChatCostServiceImpl implements IChatCostService {
} }
chatMessageBo.setContent(chatRequest.getPrompt()); chatMessageBo.setContent(chatRequest.getPrompt());
} else { } else {
deductUserBalance(getUserId(), 0.0); deductUserBalance(chatMessageBo.getUserId(), 0.0);
chatMessageBo.setDeductCost(0d); chatMessageBo.setDeductCost(0d);
chatMessageBo.setRemark("不满1kToken,计入下一次!"); chatMessageBo.setRemark("不满1kToken,计入下一次!");
chatToken.setToken(totalTokens); chatToken.setToken(totalTokens);