From 6a2ebf757830a10c21f83ee9d3be0a7b7d496f49 Mon Sep 17 00:00:00 2001 From: CaIon <1808837298@qq.com> Date: Tue, 5 Dec 2023 17:11:37 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E6=89=A3=E8=B4=B9=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=BD=99=E9=A2=9D=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/relay-text.go | 4 ++-- controller/relay-utils.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/controller/relay-text.go b/controller/relay-text.go index 9b68504a..66fc492d 100644 --- a/controller/relay-text.go +++ b/controller/relay-text.go @@ -221,7 +221,7 @@ func relayTextHelper(c *gin.Context, relayMode int) *OpenAIErrorWithStatusCode { if err != nil { return errorWrapper(err, "get_user_quota_failed", http.StatusInternalServerError) } - if userQuota-preConsumedQuota < 0 { + if userQuota < 0 || userQuota-preConsumedQuota < 0 { return errorWrapper(errors.New("user quota is not enough"), "insufficient_user_quota", http.StatusForbidden) } err = model.CacheDecreaseUserQuota(userId, preConsumedQuota) @@ -232,7 +232,7 @@ func relayTextHelper(c *gin.Context, relayMode int) *OpenAIErrorWithStatusCode { // in this case, we do not pre-consume quota // because the user has enough quota preConsumedQuota = 0 - //common.LogInfo(c.Request.Context(), fmt.Sprintf("user %d has enough quota %d, trusted and no need to pre-consume", userId, userQuota)) + common.LogInfo(c.Request.Context(), fmt.Sprintf("user %d has enough quota %d, trusted and no need to pre-consume", userId, userQuota)) } if preConsumedQuota > 0 { userQuota, err = model.PreConsumeTokenQuota(tokenId, preConsumedQuota) diff --git a/controller/relay-utils.go b/controller/relay-utils.go index 4b92aa42..733be4d2 100644 --- a/controller/relay-utils.go +++ b/controller/relay-utils.go @@ -233,7 +233,7 @@ func shouldDisableChannel(err *OpenAIError, statusCode int) bool { if statusCode == http.StatusUnauthorized { return true } - if err.Type == "insufficient_quota" || err.Code == "invalid_api_key" || err.Code == "account_deactivated" { + if err.Type == "insufficient_quota" || err.Code == "invalid_api_key" || err.Code == "account_deactivated" || err.Code == "billing_not_active" { return true } return false