|
@@ -103,12 +103,12 @@ func (p *actorPlayer) OnInit() {
|
|
|
//p.Timer().Add(10*time.Second, p.refreshRoll)
|
|
|
p.Timer().Add(60*time.Second, p.SetRewardToDB)
|
|
|
p.Timer().Add(1*time.Minute, p.setRedis)
|
|
|
- //p.Timer().Add(60*time.Second, p.setDb)
|
|
|
+ p.Timer().Add(60*time.Second, p.setDb)
|
|
|
//p.Timer().Add(30*time.Second, p.setInviteReward)
|
|
|
|
|
|
//p.Timer().Add(1*time.Second, p.addRoll)
|
|
|
|
|
|
- p.Timer().Add(10*time.Second, p.playerSessionClose)
|
|
|
+ p.Timer().Add(30*time.Second, p.playerSessionClose)
|
|
|
|
|
|
//p.Timer().Add(1*time.Minute, p.upatePlayerLevelStat)
|
|
|
|
|
@@ -231,14 +231,12 @@ func (p *actorPlayer) SetRewardToDB() {
|
|
|
func (p *actorPlayer) setRedisAll() {
|
|
|
if p.isOnline && p.Player != nil && p.dirty {
|
|
|
ctx := context.Background()
|
|
|
- cachePlayer := CachePlayer{Dirty: true, Player: p.Player}
|
|
|
// 将玩家信息转换为 JSON 格式并存储到 Redis
|
|
|
- jsonData, err := jsoniter.Marshal(&cachePlayer)
|
|
|
+ jsonData, err := jsoniter.Marshal(&p.Player)
|
|
|
if err != nil {
|
|
|
return
|
|
|
}
|
|
|
- mdb.RDB.HSet(ctx, fmt.Sprintf("%v:%v", constant.CNamePlayer, p.App().NodeId()), p.Player.OpenId, jsonData)
|
|
|
- p.dirty = false
|
|
|
+ mdb.RDB.Set(ctx, fmt.Sprintf("%v:%v", constant.CNamePlayer, p.Player.OpenId), jsonData, time.Hour*3*24)
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -460,29 +458,25 @@ func (p *actorPlayer) Init(req *token.Token) {
|
|
|
}
|
|
|
|
|
|
var player models.Player
|
|
|
- var cachePlayer CachePlayer
|
|
|
- play, err := mdb.RDB.HGet(ctx, fmt.Sprintf("%v:%v", constant.CNamePlayer, p.App().NodeId()), req.OpenID).Bytes()
|
|
|
+ play, err := mdb.RDB.Get(ctx, fmt.Sprintf("%v:%v", constant.CNamePlayer, req.OpenID)).Bytes()
|
|
|
if err != nil && err != redis.Nil {
|
|
|
clog.Debugf("[actorPlayer] initUser error: %v", err)
|
|
|
return
|
|
|
}
|
|
|
if len(play) > 0 {
|
|
|
- err = jsoniter.Unmarshal(play, &cachePlayer)
|
|
|
+ err = jsoniter.Unmarshal(play, &player)
|
|
|
if err != nil {
|
|
|
clog.Debugf("[actorPlayer] unmarshal player data error: %v", err)
|
|
|
return
|
|
|
}
|
|
|
- p.Player = cachePlayer.Player
|
|
|
+ p.Player = &player
|
|
|
} else {
|
|
|
mdb.MDB.Collection(constant.CNamePlayer).FindOne(context.Background(), bson.M{"userName": req.PlayerID}).Decode(&player)
|
|
|
- cachePlayer.Player = &player
|
|
|
}
|
|
|
- if cachePlayer.Player.OpenId == "" {
|
|
|
- user := models.NewPlayer(req)
|
|
|
+ if player.IsNew {
|
|
|
// go mdb.MDB.Collection(constant.CNamePlayer).InsertOne(context.Background(), user)
|
|
|
- //标记新用户
|
|
|
- mdb.RDB.HSet(ctx, constant.NewPlayers, req.OpenID, 1)
|
|
|
- p.Player = user
|
|
|
+ p.Player.NickName = req.Nickname
|
|
|
+ p.Player.IsNew = false
|
|
|
clog.Debugf("[Init] newUser userName = %s openId = %s", p.Player.UserName, p.Player.OpenId)
|
|
|
p.botInvite()
|
|
|
}
|
|
@@ -566,10 +560,6 @@ func (p *actorPlayer) login(req *token.Token) (*models.Player, int32) {
|
|
|
loginEvent := event.NewPlayerLogin(p.ActorID(), req)
|
|
|
p.PostEvent(&loginEvent)
|
|
|
|
|
|
- if len(p.Player.Password) > 0 {
|
|
|
- p.Player.IsSetPwd = true
|
|
|
- }
|
|
|
-
|
|
|
//// todo 测试代码
|
|
|
//p.Player.JoinIP = "13.229.223.106"
|
|
|
return p.Player, code.OK
|