group-ratio.go 632 B

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