group-ratio.go 627 B

12345678910111213141516171819202122232425262728293031
  1. package common
  2. import "encoding/json"
  3. var GroupRatio = map[string]float64{
  4. "default": 1,
  5. "vip": 1,
  6. "svip": 1,
  7. }
  8. func GroupRatio2JSONString() string {
  9. jsonBytes, err := json.Marshal(GroupRatio)
  10. if err != nil {
  11. SysError("error marshalling model ratio: " + err.Error())
  12. }
  13. return string(jsonBytes)
  14. }
  15. func UpdateGroupRatioByJSONString(jsonStr string) error {
  16. GroupRatio = make(map[string]float64)
  17. return json.Unmarshal([]byte(jsonStr), &GroupRatio)
  18. }
  19. func GetGroupRatio(name string) float64 {
  20. ratio, ok := GroupRatio[name]
  21. if !ok {
  22. SysError("group ratio not found: " + name)
  23. return 1
  24. }
  25. return ratio
  26. }