52 lines
1012 B
Go
52 lines
1012 B
Go
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
|
|
}
|