🐛 fix: 修复余额的问题

This commit is contained in:
MartialBE
2023-12-02 19:54:21 +08:00
parent 58fc40a744
commit c97c8a0f65
14 changed files with 158 additions and 37 deletions

View File

@@ -0,0 +1,30 @@
package aigc2d
import (
"errors"
"one-api/common"
"one-api/model"
"one-api/providers/base"
)
func (p *Aigc2dProvider) Balance(channel *model.Channel) (float64, error) {
fullRequestURL := p.GetFullRequestURL("/dashboard/billing/credit_grants", "")
headers := p.GetRequestHeaders()
client := common.NewClient()
req, err := client.NewRequest("GET", fullRequestURL, common.WithHeader(headers))
if err != nil {
return 0, err
}
// 发送请求
var response base.BalanceResponse
_, errWithCode := common.SendRequest(req, &response, false)
if errWithCode != nil {
return 0, errors.New(errWithCode.OpenAIError.Message)
}
channel.UpdateBalance(response.TotalAvailable)
return response.TotalAvailable, nil
}

20
providers/aigc2d/base.go Normal file
View File

@@ -0,0 +1,20 @@
package aigc2d
import (
"one-api/providers/base"
"one-api/providers/openai"
"github.com/gin-gonic/gin"
)
type Aigc2dProviderFactory struct{}
func (f Aigc2dProviderFactory) Create(c *gin.Context) base.ProviderInterface {
return &Aigc2dProvider{
OpenAIProvider: openai.CreateOpenAIProvider(c, "https://api.aigc2d.com"),
}
}
type Aigc2dProvider struct {
*openai.OpenAIProvider
}