| | package controller |
| |
|
| | import ( |
| | "github.com/gin-gonic/gin" |
| | "one-api/model" |
| | "one-api/setting" |
| | "one-api/setting/operation_setting" |
| | ) |
| |
|
| | func GetPricing(c *gin.Context) { |
| | pricing := model.GetPricing() |
| | userId, exists := c.Get("id") |
| | usableGroup := map[string]string{} |
| | groupRatio := map[string]float64{} |
| | for s, f := range setting.GetGroupRatioCopy() { |
| | groupRatio[s] = f |
| | } |
| | var group string |
| | if exists { |
| | user, err := model.GetUserCache(userId.(int)) |
| | if err == nil { |
| | group = user.Group |
| | } |
| | } |
| |
|
| | usableGroup = setting.GetUserUsableGroups(group) |
| | |
| | for group := range setting.GetGroupRatioCopy() { |
| | if _, ok := usableGroup[group]; !ok { |
| | delete(groupRatio, group) |
| | } |
| | } |
| |
|
| | c.JSON(200, gin.H{ |
| | "success": true, |
| | "data": pricing, |
| | "group_ratio": groupRatio, |
| | "usable_group": usableGroup, |
| | }) |
| | } |
| |
|
| | func ResetModelRatio(c *gin.Context) { |
| | defaultStr := operation_setting.DefaultModelRatio2JSONString() |
| | err := model.UpdateOption("ModelRatio", defaultStr) |
| | if err != nil { |
| | c.JSON(200, gin.H{ |
| | "success": false, |
| | "message": err.Error(), |
| | }) |
| | return |
| | } |
| | err = operation_setting.UpdateModelRatioByJSONString(defaultStr) |
| | if err != nil { |
| | c.JSON(200, gin.H{ |
| | "success": false, |
| | "message": err.Error(), |
| | }) |
| | return |
| | } |
| | c.JSON(200, gin.H{ |
| | "success": true, |
| | "message": "重置模型倍率成功", |
| | }) |
| | } |
| |
|