package model import ( "context" "encoding/json" "fmt" "github.com/go-redis/redis/v8" "samba/pkg/log" "samba/stub" _ "samba/util/rdbkey" "strconv" ) type BankruptConfigOp struct { rdb *redis.Client key string } func NewBankruptConfigOp() *BankruptConfigOp { return &BankruptConfigOp{rdb: rdbConfig, key: "bankrupt"} } func (t *BankruptConfigOp) Load() { table, err := t.rdb.HGetAll(context.TODO(), t.key).Result() if err != nil { log.Error(fmt.Sprintf("key: %s, err: %s", t.key, err.Error())) return } bankruptId := int64(0) clear(stub.Bankrupts) for k, v := range table { bankruptId, err = strconv.ParseInt(k, 10, 64) if err != nil { log.Error(err.Error()) continue } br := &stub.Bankrupt{} if err = json.Unmarshal([]byte(v), br); err != nil { log.Error(err.Error()) continue } stub.Bankrupts[int(bankruptId)] = br } stub.BankruptCoin, err = t.rdb.Get(context.TODO(), "bankrupt|coin").Int64() if err != nil { log.Error(err.Error()) return } return }