53 lines
982 B
Go
53 lines
982 B
Go
![]() |
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()
|
||
|
}
|