2024-04-05 17:02:35 +00:00
|
|
|
package billing
|
2023-06-11 03:08:16 +00:00
|
|
|
|
2024-01-21 15:21:42 +00:00
|
|
|
import (
|
|
|
|
"encoding/json"
|
2024-01-28 11:38:58 +00:00
|
|
|
"github.com/songquanpeng/one-api/common/logger"
|
2024-01-21 15:21:42 +00:00
|
|
|
)
|
2023-06-11 03:08:16 +00:00
|
|
|
|
|
|
|
var GroupRatio = map[string]float64{
|
|
|
|
"default": 1,
|
|
|
|
"vip": 1,
|
|
|
|
"svip": 1,
|
|
|
|
}
|
|
|
|
|
|
|
|
func GroupRatio2JSONString() string {
|
|
|
|
jsonBytes, err := json.Marshal(GroupRatio)
|
|
|
|
if err != nil {
|
2024-01-21 15:21:42 +00:00
|
|
|
logger.SysError("error marshalling model ratio: " + err.Error())
|
2023-06-11 03:08:16 +00:00
|
|
|
}
|
|
|
|
return string(jsonBytes)
|
|
|
|
}
|
|
|
|
|
|
|
|
func UpdateGroupRatioByJSONString(jsonStr string) error {
|
2023-06-12 01:11:48 +00:00
|
|
|
GroupRatio = make(map[string]float64)
|
2023-06-11 03:08:16 +00:00
|
|
|
return json.Unmarshal([]byte(jsonStr), &GroupRatio)
|
|
|
|
}
|
|
|
|
|
|
|
|
func GetGroupRatio(name string) float64 {
|
|
|
|
ratio, ok := GroupRatio[name]
|
|
|
|
if !ok {
|
2024-01-21 15:21:42 +00:00
|
|
|
logger.SysError("group ratio not found: " + name)
|
2023-06-11 03:08:16 +00:00
|
|
|
return 1
|
|
|
|
}
|
|
|
|
return ratio
|
|
|
|
}
|