| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package controller
- import (
- "one-api/model"
- "one-api/setting"
- "one-api/setting/ratio_setting"
- "github.com/gin-gonic/gin"
- )
- 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 ratio_setting.GetGroupRatioCopy() {
- groupRatio[s] = f
- }
- var group string
- if exists {
- user, err := model.GetUserCache(userId.(int))
- if err == nil {
- group = user.Group
- for g := range groupRatio {
- ratio, ok := ratio_setting.GetGroupGroupRatio(group, g)
- if ok {
- groupRatio[g] = ratio
- }
- }
- }
- }
- usableGroup = setting.GetUserUsableGroups(group)
- // check groupRatio contains usableGroup
- for group := range ratio_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 := ratio_setting.DefaultModelRatio2JSONString()
- err := model.UpdateOption("ModelRatio", defaultStr)
- if err != nil {
- c.JSON(200, gin.H{
- "success": false,
- "message": err.Error(),
- })
- return
- }
- err = ratio_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": "重置模型倍率成功",
- })
- }
|