package model import ( "context" "encoding/json" "github.com/go-redis/redis/v8" "samba/pkg/log" "samba/stub" "strconv" ) type RoomConfigOp struct { rdb *redis.Client key string } func NewRoomConfigOp() *RoomConfigOp { return &RoomConfigOp{rdb: rdbConfig, key: "room"} } func (t *RoomConfigOp) Load() { table, err := t.rdb.HGetAll(context.Background(), t.key).Result() if err != nil { log.Error(err.Error()) return } roomId := int64(0) for k, v := range table { roomId, err = strconv.ParseInt(k, 10, 64) if err != nil { log.Error(err.Error()) continue } room := &stub.Room{} if err = json.Unmarshal([]byte(v), room); err != nil { log.Error(err.Error()) continue } stub.Rooms[int(roomId)] = room } return } func InitStub() { NewRoomConfigOp().Load() NewClubRobotConfigOp().Load() NewGlobalConfigOp().Load() NewGlobalAIConfigOp().Load() NewGamePlayTypeConfigOp().Load() NewEmoteConfigOp().Load() NewBankruptConfigOp().Load() }