|
@@ -238,9 +238,12 @@ func preConsumeQuota(c *gin.Context, preConsumedQuota int, relayInfo *relaycommo
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return 0, 0, service.OpenAIErrorWrapperLocal(err, "get_user_quota_failed", http.StatusInternalServerError)
|
|
return 0, 0, service.OpenAIErrorWrapperLocal(err, "get_user_quota_failed", http.StatusInternalServerError)
|
|
|
}
|
|
}
|
|
|
- if userQuota <= 0 || userQuota-preConsumedQuota < 0 {
|
|
|
|
|
|
|
+ if userQuota <= 0 {
|
|
|
return 0, 0, service.OpenAIErrorWrapperLocal(errors.New("user quota is not enough"), "insufficient_user_quota", http.StatusForbidden)
|
|
return 0, 0, service.OpenAIErrorWrapperLocal(errors.New("user quota is not enough"), "insufficient_user_quota", http.StatusForbidden)
|
|
|
}
|
|
}
|
|
|
|
|
+ if userQuota-preConsumedQuota < 0 {
|
|
|
|
|
+ return 0, 0, service.OpenAIErrorWrapperLocal(errors.New("pre-consumed quota is more than user quota"), "insufficient_user_quota", http.StatusForbidden)
|
|
|
|
|
+ }
|
|
|
err = model.CacheDecreaseUserQuota(relayInfo.UserId, preConsumedQuota)
|
|
err = model.CacheDecreaseUserQuota(relayInfo.UserId, preConsumedQuota)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return 0, 0, service.OpenAIErrorWrapperLocal(err, "decrease_user_quota_failed", http.StatusInternalServerError)
|
|
return 0, 0, service.OpenAIErrorWrapperLocal(err, "decrease_user_quota_failed", http.StatusInternalServerError)
|