Browse Source

fix: audio预扣费未返还

CaIon 1 year ago
parent
commit
b1b38a6bd4
2 changed files with 18 additions and 1 deletions
  1. 17 0
      relay/relay-audio.go
  2. 1 1
      relay/relay-image.go

+ 17 - 0
relay/relay-audio.go

@@ -100,6 +100,22 @@ func AudioHelper(c *gin.Context, relayMode int) *dto.OpenAIErrorWithStatusCode {
 		}
 		}
 	}
 	}
 
 
+	succeed := false
+	defer func() {
+		if succeed {
+			return
+		}
+		if preConsumedQuota > 0 {
+			// we need to roll back the pre-consumed quota
+			defer func() {
+				go func() {
+					// negative means add quota back for token & user
+					returnPreConsumedQuota(c, tokenId, userQuota, preConsumedQuota)
+				}()
+			}()
+		}
+	}()
+
 	// map model name
 	// map model name
 	modelMapping := c.GetString("model_mapping")
 	modelMapping := c.GetString("model_mapping")
 	if modelMapping != "" {
 	if modelMapping != "" {
@@ -163,6 +179,7 @@ func AudioHelper(c *gin.Context, relayMode int) *dto.OpenAIErrorWithStatusCode {
 	if resp.StatusCode != http.StatusOK {
 	if resp.StatusCode != http.StatusOK {
 		return relaycommon.RelayErrorHandler(resp)
 		return relaycommon.RelayErrorHandler(resp)
 	}
 	}
+	succeed = true
 
 
 	var audioResponse dto.AudioResponse
 	var audioResponse dto.AudioResponse
 
 

+ 1 - 1
relay/relay-image.go

@@ -34,7 +34,7 @@ func RelayImageHelper(c *gin.Context, relayMode int) *dto.OpenAIErrorWithStatusC
 	}
 	}
 
 
 	if imageRequest.Model == "" {
 	if imageRequest.Model == "" {
-		imageRequest.Model = "dall-e-2"
+		imageRequest.Model = "dall-e-3"
 	}
 	}
 	if imageRequest.Size == "" {
 	if imageRequest.Size == "" {
 		imageRequest.Size = "1024x1024"
 		imageRequest.Size = "1024x1024"