| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- 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)
- // check groupRatio contains usableGroup
- 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": "重置模型倍率成功",
- })
- }
|