mirror of
https://github.com/songquanpeng/one-api.git
synced 2025-09-19 18:16:38 +08:00
fix: token update issue when status is not enabled
This commit is contained in:
parent
6ab87f8a08
commit
423c11987b
@ -2,6 +2,9 @@ package controller
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"net/http"
|
||||||
|
"strconv"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/songquanpeng/one-api/common/config"
|
"github.com/songquanpeng/one-api/common/config"
|
||||||
"github.com/songquanpeng/one-api/common/ctxkey"
|
"github.com/songquanpeng/one-api/common/ctxkey"
|
||||||
@ -9,8 +12,6 @@ import (
|
|||||||
"github.com/songquanpeng/one-api/common/network"
|
"github.com/songquanpeng/one-api/common/network"
|
||||||
"github.com/songquanpeng/one-api/common/random"
|
"github.com/songquanpeng/one-api/common/random"
|
||||||
"github.com/songquanpeng/one-api/model"
|
"github.com/songquanpeng/one-api/model"
|
||||||
"net/http"
|
|
||||||
"strconv"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func GetAllTokens(c *gin.Context) {
|
func GetAllTokens(c *gin.Context) {
|
||||||
@ -213,22 +214,37 @@ func UpdateToken(c *gin.Context) {
|
|||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if token.Status == model.TokenStatusEnabled {
|
|
||||||
if cleanToken.Status == model.TokenStatusExpired && cleanToken.ExpiredTime <= helper.GetTimestamp() && cleanToken.ExpiredTime != -1 {
|
switch token.Status {
|
||||||
|
case model.TokenStatusEnabled:
|
||||||
|
if cleanToken.Status == model.TokenStatusExpired &&
|
||||||
|
cleanToken.ExpiredTime <= helper.GetTimestamp() && cleanToken.ExpiredTime != -1 &&
|
||||||
|
token.ExpiredTime != -1 && token.ExpiredTime < helper.GetTimestamp() {
|
||||||
c.JSON(http.StatusOK, gin.H{
|
c.JSON(http.StatusOK, gin.H{
|
||||||
"success": false,
|
"success": false,
|
||||||
"message": "令牌已过期,无法启用,请先修改令牌过期时间,或者设置为永不过期",
|
"message": "令牌已过期,无法启用,请先修改令牌过期时间,或者设置为永不过期",
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if cleanToken.Status == model.TokenStatusExhausted && cleanToken.RemainQuota <= 0 && !cleanToken.UnlimitedQuota {
|
if cleanToken.Status == model.TokenStatusExhausted &&
|
||||||
|
cleanToken.RemainQuota <= 0 && !cleanToken.UnlimitedQuota &&
|
||||||
|
token.RemainQuota <= 0 && !token.UnlimitedQuota {
|
||||||
c.JSON(http.StatusOK, gin.H{
|
c.JSON(http.StatusOK, gin.H{
|
||||||
"success": false,
|
"success": false,
|
||||||
"message": "令牌可用额度已用尽,无法启用,请先修改令牌剩余额度,或者设置为无限额度",
|
"message": "令牌可用额度已用尽,无法启用,请先修改令牌剩余额度,或者设置为无限额度",
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
case model.TokenStatusExhausted:
|
||||||
|
if token.RemainQuota > 0 || token.UnlimitedQuota {
|
||||||
|
token.Status = model.TokenStatusEnabled
|
||||||
}
|
}
|
||||||
|
case model.TokenStatusExpired:
|
||||||
|
if token.ExpiredTime == -1 || token.ExpiredTime > helper.GetTimestamp() {
|
||||||
|
token.Status = model.TokenStatusEnabled
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if statusOnly != "" {
|
if statusOnly != "" {
|
||||||
cleanToken.Status = token.Status
|
cleanToken.Status = token.Status
|
||||||
} else {
|
} else {
|
||||||
@ -239,6 +255,8 @@ func UpdateToken(c *gin.Context) {
|
|||||||
cleanToken.UnlimitedQuota = token.UnlimitedQuota
|
cleanToken.UnlimitedQuota = token.UnlimitedQuota
|
||||||
cleanToken.Models = token.Models
|
cleanToken.Models = token.Models
|
||||||
cleanToken.Subnet = token.Subnet
|
cleanToken.Subnet = token.Subnet
|
||||||
|
cleanToken.RemainQuota = token.RemainQuota
|
||||||
|
cleanToken.Status = token.Status
|
||||||
}
|
}
|
||||||
err = cleanToken.Update()
|
err = cleanToken.Update()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -4,10 +4,10 @@ var ModelList = []string{
|
|||||||
"claude-instant-1.2", "claude-2.0", "claude-2.1",
|
"claude-instant-1.2", "claude-2.0", "claude-2.1",
|
||||||
"claude-3-haiku-20240307",
|
"claude-3-haiku-20240307",
|
||||||
"claude-3-5-haiku-20241022",
|
"claude-3-5-haiku-20241022",
|
||||||
|
"claude-3-5-haiku-latest",
|
||||||
"claude-3-sonnet-20240229",
|
"claude-3-sonnet-20240229",
|
||||||
"claude-3-opus-20240229",
|
|
||||||
"claude-3-5-sonnet-20240620",
|
"claude-3-5-sonnet-20240620",
|
||||||
"claude-3-5-sonnet-20241022",
|
"claude-3-5-sonnet-20241022",
|
||||||
"claude-3-5-sonnet-latest",
|
"claude-3-5-sonnet-latest",
|
||||||
"claude-3-5-haiku-20241022",
|
"claude-3-opus-20240229",
|
||||||
}
|
}
|
||||||
|
@ -80,10 +80,13 @@ var ModelRatio = map[string]float64{
|
|||||||
"claude-2.1": 8.0 / 1000 * USD,
|
"claude-2.1": 8.0 / 1000 * USD,
|
||||||
"claude-3-haiku-20240307": 0.25 / 1000 * USD,
|
"claude-3-haiku-20240307": 0.25 / 1000 * USD,
|
||||||
"claude-3-5-haiku-20241022": 1.0 / 1000 * USD,
|
"claude-3-5-haiku-20241022": 1.0 / 1000 * USD,
|
||||||
|
"claude-3-5-haiku-latest": 1.0 / 1000 * USD,
|
||||||
"claude-3-sonnet-20240229": 3.0 / 1000 * USD,
|
"claude-3-sonnet-20240229": 3.0 / 1000 * USD,
|
||||||
"claude-3-5-sonnet-20240620": 3.0 / 1000 * USD,
|
"claude-3-5-sonnet-20240620": 3.0 / 1000 * USD,
|
||||||
"claude-3-5-sonnet-20241022": 3.0 / 1000 * USD,
|
"claude-3-5-sonnet-20241022": 3.0 / 1000 * USD,
|
||||||
|
"claude-3-5-sonnet-latest": 3.0 / 1000 * USD,
|
||||||
"claude-3-opus-20240229": 15.0 / 1000 * USD,
|
"claude-3-opus-20240229": 15.0 / 1000 * USD,
|
||||||
|
"claude-3-opus-latest": 15.0 / 1000 * USD,
|
||||||
// https://cloud.baidu.com/doc/WENXINWORKSHOP/s/hlrk4akp7
|
// https://cloud.baidu.com/doc/WENXINWORKSHOP/s/hlrk4akp7
|
||||||
"ERNIE-4.0-8K": 0.120 * RMB,
|
"ERNIE-4.0-8K": 0.120 * RMB,
|
||||||
"ERNIE-3.5-8K": 0.012 * RMB,
|
"ERNIE-3.5-8K": 0.012 * RMB,
|
||||||
|
Loading…
Reference in New Issue
Block a user