package player import ( "fmt" "github.com/go-redis/redis" "github.com/tomas-qstarrs/redimo" "mongo.games.com/game/gamesrv/slotspkg/internal/generic/ddb" "mongo.games.com/game/gamesrv/slotspkg/internal/generic/global" "time" ) var PlayerMgrSington = &PlayerMgr{ Client: ddb.RedimoClient(), } const ( PLAYER_INFO = "PLAYERINFO[%v-%v]" ) type PlayerMgr struct { *redimo.Client Redis *redis.Client } func (p *PlayerMgr) ModuleName() string { return "PlayerMgr" } func (p *PlayerMgr) Init() { p.Redis = global.RedisClient } func (p *PlayerMgr) getKey(tn string) string { return fmt.Sprintf("%v.%v.Platform[%v]", global.Project, global.Game, tn) } func (p *PlayerMgr) GetPlayerUid(tn, ops string) uint64 { val, err := p.HGET(p.getKey(tn), ops) if err != nil { logger.Logger.Errorf("get player info error: %v", err) return 0 } return uint64(val.Int()) } func (p *PlayerMgr) SetPlayer(tn, ops string, uid uint64) bool { _, err := p.HSETNX(p.getKey(tn), ops, redimo.IntValue{I: int64(uid)}) if err != nil { logger.Logger.Errorf("set player err:%v", err) return false } return true } func (p *PlayerMgr) Update() { } func (p *PlayerMgr) Shutdown() { } func init() { module.RegisteModule(PlayerMgrSington, time.Hour, 0) }