diff --git a/modules/arena/api_info.go b/modules/arena/api_info.go index 1101900c6..eb9d73da5 100644 --- a/modules/arena/api_info.go +++ b/modules/arena/api_info.go @@ -53,6 +53,10 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.ArenaInfoReq) (code Ticket: 10, Record: make([]*pb.DBArenaBattleRecord, 0), } + if info.Dan, err = this.module.modelArena.computedan(info.Integral); err != nil { + code = pb.ErrorCode_ConfigNoFound + return + } if err = this.module.modelArena.Add(session.GetUserId(), info); err != nil { this.module.Errorln(err) } diff --git a/modules/arena/modelarena.go b/modules/arena/modelarena.go index 08be4e333..dae108015 100644 --- a/modules/arena/modelarena.go +++ b/modules/arena/modelarena.go @@ -85,17 +85,14 @@ func (this *modelArena) queryUserHeros(uid string, heroids []string) (results [] ///保存用户竞技场信息 func (this *modelArena) updateArenaUserInfo(info *pb.DBArenaUser) (err error) { var ( - active *cfg.GameArenaActiveRewardData + dan int32 ) - - if active, err = this.module.configure.getActiveReward(info.Integral); err != nil { - this.module.Errorln(err) + if dan, err = this.computedan(info.Integral); err != nil { return } - this.Change(info.Uid, map[string]interface{}{ "integral": info.Integral, - "dan": active.LvId, + "dan": dan, "attack": info.Attack, "defend": info.Defend, "streak": info.Streak, @@ -103,6 +100,19 @@ func (this *modelArena) updateArenaUserInfo(info *pb.DBArenaUser) (err error) { return } +func (this *modelArena) computedan(integral int32) (dan int32, err error) { + var ( + active *cfg.GameArenaActiveRewardData + ) + + if active, err = this.module.configure.getActiveReward(integral); err != nil { + this.module.Errorln(err) + return + } + dan = active.LvId + return +} + //获取目标去陪数据 // func (this *modelArena) matchePlayer(integral int32) (results []*pb.DBArenaUser, err error) { // var (