|
...
|
...
|
@@ -10,7 +10,10 @@ import com.zhonglai.luhui.dao.service.PublicService; |
|
|
|
import com.zhonglai.luhui.openai.dto.GptMessage;
|
|
|
|
import com.zhonglai.luhui.openai.dto.UserFlowPacketRemainLog;
|
|
|
|
import com.zhonglai.luhui.openai.utils.UnitPriceCountUtil;
|
|
|
|
import com.zhonglai.luhui.security.dto.OpenAiLoginUser;
|
|
|
|
import com.zhonglai.luhui.security.dto.OpenAiUserInfo;
|
|
|
|
import com.zhonglai.luhui.security.service.TokenService;
|
|
|
|
import com.zhonglai.luhui.security.utils.SecurityUtils;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
...
|
...
|
@@ -26,6 +29,10 @@ public class CompleteCallbackImpl implements CompleteCallback { |
|
|
|
@Autowired
|
|
|
|
private VipServiceImpl vipService;
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
private TokenService tokenService;
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void sseChatEnd(int recordId,long tokens,String contents) {
|
|
|
|
BigDecimal[] bs = vipService.getUnitprice();
|
|
...
|
...
|
@@ -66,8 +73,9 @@ public class CompleteCallbackImpl implements CompleteCallback { |
|
|
|
stringBuffer.append(gptMessage.getCompletion_tokens());
|
|
|
|
stringBuffer.append(";");
|
|
|
|
OpenAiUserInfo openAiUserInfo = publicService.getObjectForTableName(OpenAiUserInfo.class,"id",gptMessage.getUser_id()+"","`lk_openai`.`user_info`");
|
|
|
|
openAiUserInfo.setFlow_packet_remain(openAiUserInfo.getFlow_packet_remain()-upGptMessage.getTotal_tokens().intValue());
|
|
|
|
stringBuffer.append("剩余代币:");
|
|
|
|
stringBuffer.append(openAiUserInfo.getFlow_packet_remain()-upGptMessage.getTotal_tokens());
|
|
|
|
stringBuffer.append(openAiUserInfo.getFlow_packet_remain());
|
|
|
|
|
|
|
|
UserFlowPacketRemainLog userFlowPacketRemainLog = new UserFlowPacketRemainLog();
|
|
|
|
userFlowPacketRemainLog.setDescribe(stringBuffer.toString());
|
|
...
|
...
|
@@ -79,6 +87,9 @@ public class CompleteCallbackImpl implements CompleteCallback { |
|
|
|
|
|
|
|
publicService.updateBySql("UPDATE `lk_openai`.`user_info` SET flow_packet_remain=flow_packet_remain-" + userFlowPacketRemainLog.getTotal_tokens() + " WHERE id=" + gptMessage.getUser_id());
|
|
|
|
|
|
|
|
OpenAiLoginUser userInfo = (OpenAiLoginUser) SecurityUtils.getLoginUser();
|
|
|
|
userInfo.setOpenAiUserInfo(openAiUserInfo);
|
|
|
|
tokenService.setLoginUser(userInfo);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
...
|
...
|
|