作者 钟来

模块整理

@@ -10,7 +10,10 @@ import com.zhonglai.luhui.dao.service.PublicService; @@ -10,7 +10,10 @@ import com.zhonglai.luhui.dao.service.PublicService;
10 import com.zhonglai.luhui.openai.dto.GptMessage; 10 import com.zhonglai.luhui.openai.dto.GptMessage;
11 import com.zhonglai.luhui.openai.dto.UserFlowPacketRemainLog; 11 import com.zhonglai.luhui.openai.dto.UserFlowPacketRemainLog;
12 import com.zhonglai.luhui.openai.utils.UnitPriceCountUtil; 12 import com.zhonglai.luhui.openai.utils.UnitPriceCountUtil;
  13 +import com.zhonglai.luhui.security.dto.OpenAiLoginUser;
13 import com.zhonglai.luhui.security.dto.OpenAiUserInfo; 14 import com.zhonglai.luhui.security.dto.OpenAiUserInfo;
  15 +import com.zhonglai.luhui.security.service.TokenService;
  16 +import com.zhonglai.luhui.security.utils.SecurityUtils;
14 import org.springframework.beans.factory.annotation.Autowired; 17 import org.springframework.beans.factory.annotation.Autowired;
15 import org.springframework.stereotype.Service; 18 import org.springframework.stereotype.Service;
16 19
@@ -26,6 +29,10 @@ public class CompleteCallbackImpl implements CompleteCallback { @@ -26,6 +29,10 @@ public class CompleteCallbackImpl implements CompleteCallback {
26 @Autowired 29 @Autowired
27 private VipServiceImpl vipService; 30 private VipServiceImpl vipService;
28 31
  32 +
  33 + @Autowired
  34 + private TokenService tokenService;
  35 +
29 @Override 36 @Override
30 public void sseChatEnd(int recordId,long tokens,String contents) { 37 public void sseChatEnd(int recordId,long tokens,String contents) {
31 BigDecimal[] bs = vipService.getUnitprice(); 38 BigDecimal[] bs = vipService.getUnitprice();
@@ -66,8 +73,9 @@ public class CompleteCallbackImpl implements CompleteCallback { @@ -66,8 +73,9 @@ public class CompleteCallbackImpl implements CompleteCallback {
66 stringBuffer.append(gptMessage.getCompletion_tokens()); 73 stringBuffer.append(gptMessage.getCompletion_tokens());
67 stringBuffer.append(";"); 74 stringBuffer.append(";");
68 OpenAiUserInfo openAiUserInfo = publicService.getObjectForTableName(OpenAiUserInfo.class,"id",gptMessage.getUser_id()+"","`lk_openai`.`user_info`"); 75 OpenAiUserInfo openAiUserInfo = publicService.getObjectForTableName(OpenAiUserInfo.class,"id",gptMessage.getUser_id()+"","`lk_openai`.`user_info`");
  76 + openAiUserInfo.setFlow_packet_remain(openAiUserInfo.getFlow_packet_remain()-upGptMessage.getTotal_tokens().intValue());
69 stringBuffer.append("剩余代币:"); 77 stringBuffer.append("剩余代币:");
70 - stringBuffer.append(openAiUserInfo.getFlow_packet_remain()-upGptMessage.getTotal_tokens()); 78 + stringBuffer.append(openAiUserInfo.getFlow_packet_remain());
71 79
72 UserFlowPacketRemainLog userFlowPacketRemainLog = new UserFlowPacketRemainLog(); 80 UserFlowPacketRemainLog userFlowPacketRemainLog = new UserFlowPacketRemainLog();
73 userFlowPacketRemainLog.setDescribe(stringBuffer.toString()); 81 userFlowPacketRemainLog.setDescribe(stringBuffer.toString());
@@ -79,6 +87,9 @@ public class CompleteCallbackImpl implements CompleteCallback { @@ -79,6 +87,9 @@ public class CompleteCallbackImpl implements CompleteCallback {
79 87
80 publicService.updateBySql("UPDATE `lk_openai`.`user_info` SET flow_packet_remain=flow_packet_remain-" + userFlowPacketRemainLog.getTotal_tokens() + " WHERE id=" + gptMessage.getUser_id()); 88 publicService.updateBySql("UPDATE `lk_openai`.`user_info` SET flow_packet_remain=flow_packet_remain-" + userFlowPacketRemainLog.getTotal_tokens() + " WHERE id=" + gptMessage.getUser_id());
81 89
  90 + OpenAiLoginUser userInfo = (OpenAiLoginUser) SecurityUtils.getLoginUser();
  91 + userInfo.setOpenAiUserInfo(openAiUserInfo);
  92 + tokenService.setLoginUser(userInfo);
82 } 93 }
83 94
84 @Override 95 @Override