| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package common
- import (
- "encoding/json"
- "sync"
- )
- var topupGroupRatio = map[string]float64{
- "default": 1,
- "vip": 1,
- "svip": 1,
- }
- var topupGroupRatioMutex sync.RWMutex
- func TopupGroupRatio2JSONString() string {
- topupGroupRatioMutex.RLock()
- defer topupGroupRatioMutex.RUnlock()
- jsonBytes, err := json.Marshal(topupGroupRatio)
- if err != nil {
- SysError("error marshalling topup group ratio: " + err.Error())
- }
- return string(jsonBytes)
- }
- func UpdateTopupGroupRatioByJSONString(jsonStr string) error {
- topupGroupRatioMutex.Lock()
- defer topupGroupRatioMutex.Unlock()
- topupGroupRatio = make(map[string]float64)
- return json.Unmarshal([]byte(jsonStr), &topupGroupRatio)
- }
- func GetTopupGroupRatio(name string) float64 {
- topupGroupRatioMutex.RLock()
- defer topupGroupRatioMutex.RUnlock()
- ratio, ok := topupGroupRatio[name]
- if !ok {
- SysError("topup group ratio not found: " + name)
- return 1
- }
- return ratio
- }
|