|
|
@@ -152,29 +152,43 @@ public class MirrorController {
|
|
|
ChatgptUser user = chatGptAccountService.findByUserTokenAndExpireTimeAfter(userToken, LocalDateTime.now());
|
|
|
//3.如果记录不存在,返回状态码 401
|
|
|
if (user == null) {
|
|
|
- response.setStatus(401);
|
|
|
- }
|
|
|
- if (StringUtils.isNotBlank(conversationRequest.getCarId())) {
|
|
|
- //4.获取gpt-4 的规则限制
|
|
|
- //text-davinci-002-render-sha 3.5
|
|
|
- ConversationLimitResponse conversationLimitResponse = chatGptAccountService.conversationLimit(userToken, conversationRequest.getModel(), conversationRequest.getCarId(), user, isCar);
|
|
|
-
|
|
|
- if (conversationLimitResponse.isLimited()) {
|
|
|
+ response.setStatus(400);
|
|
|
+ ChatgptConversionLimitView chatgptConversionLimitView = new ChatgptConversionLimitView();
|
|
|
+ ChatgptConversionLimitView.Detail detail = new ChatgptConversionLimitView.Detail();
|
|
|
+ detail.setMessage("看来您还没车票呢,是不是还没登录呀,赶紧去车票内重新选择上车 \uD83D\uDE97 [点击直达](https://nf.video/ticket)");
|
|
|
+ chatgptConversionLimitView.setDetail(detail);
|
|
|
+ return chatgptConversionLimitView;
|
|
|
+ }else {
|
|
|
+ if (user.getIsBlock() != null && user.getIsBlock()) {
|
|
|
response.setStatus(400);
|
|
|
- //String json = "{\"detail\":{\"message\":\"您的账号已达到GPT-4的使用上限。您现在可以继续使用默认模型,或者重试在\",\"code\":\"model_cap_exceeded\",\"clears_in\":2687}}";
|
|
|
ChatgptConversionLimitView chatgptConversionLimitView = new ChatgptConversionLimitView();
|
|
|
ChatgptConversionLimitView.Detail detail = new ChatgptConversionLimitView.Detail();
|
|
|
- String url = "[点击此处升级](https://nf.video/ticket?relationId=%d&pType=pay)";
|
|
|
-
|
|
|
- String format = String.format(url, user.getRelationId());
|
|
|
- detail.setMessage("您目前的套餐已达到GPT-4的使用上限。您可以继续使用3.5或4o-mini,预计 " + DateUtil.format(new Date(conversationLimitResponse.getNextAvailableTime()), "yyyy-MM-dd HH:mm:ss") + " 恢复" + ",如需增加滚动时间内可询问次数," + format);
|
|
|
+ detail.setMessage("抱歉,您因违反银河录像局使用政策已被封禁.");
|
|
|
chatgptConversionLimitView.setDetail(detail);
|
|
|
return chatgptConversionLimitView;
|
|
|
- } else {
|
|
|
- response.setStatus(200);
|
|
|
}
|
|
|
- //5.获取 conversationRequest 中的model 字段,判断是否为 gpt-4 如果为gpt-4 执行 查看是否达到限制方法
|
|
|
- //6.如果达到限制,返回状态码 429 并返回文本 xxx
|
|
|
+ if (StringUtils.isNotBlank(conversationRequest.getCarId())) {
|
|
|
+ //4.获取gpt-4 的规则限制
|
|
|
+ //text-davinci-002-render-sha 3.5
|
|
|
+ ConversationLimitResponse conversationLimitResponse = chatGptAccountService.conversationLimit(userToken, conversationRequest.getModel(), conversationRequest.getCarId(), user, isCar);
|
|
|
+
|
|
|
+ if (conversationLimitResponse.isLimited()) {
|
|
|
+ response.setStatus(400);
|
|
|
+ //String json = "{\"detail\":{\"message\":\"您的账号已达到GPT-4的使用上限。您现在可以继续使用默认模型,或者重试在\",\"code\":\"model_cap_exceeded\",\"clears_in\":2687}}";
|
|
|
+ ChatgptConversionLimitView chatgptConversionLimitView = new ChatgptConversionLimitView();
|
|
|
+ ChatgptConversionLimitView.Detail detail = new ChatgptConversionLimitView.Detail();
|
|
|
+ String url = "[点击此处升级](https://nf.video/ticket?relationId=%d&pType=pay)";
|
|
|
+
|
|
|
+ String format = String.format(url, user.getRelationId());
|
|
|
+ detail.setMessage("您目前的套餐已达到GPT-4的使用上限。您可以继续使用3.5或4o-mini,预计 " + DateUtil.format(new Date(conversationLimitResponse.getNextAvailableTime()), "yyyy-MM-dd HH:mm:ss") + " 恢复" + ",如需增加滚动时间内可询问次数," + format);
|
|
|
+ chatgptConversionLimitView.setDetail(detail);
|
|
|
+ return chatgptConversionLimitView;
|
|
|
+ } else {
|
|
|
+ response.setStatus(200);
|
|
|
+ }
|
|
|
+ //5.获取 conversationRequest 中的model 字段,判断是否为 gpt-4 如果为gpt-4 执行 查看是否达到限制方法
|
|
|
+ //6.如果达到限制,返回状态码 429 并返回文本 xxx
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return new ChatgptConversionLimitView();
|