From dd910fd977b6044f31885fcfbf7b3a4090240523 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Wed, 29 Mar 2023 10:58:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=AD=A6=E9=A6=86=E9=9B=95?= =?UTF-8?q?=E5=83=8F=E5=88=B7=E6=96=B0=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/practice/api_info.go | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/modules/practice/api_info.go b/modules/practice/api_info.go index ca8276ab2..149252c45 100644 --- a/modules/practice/api_info.go +++ b/modules/practice/api_info.go @@ -18,8 +18,9 @@ func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.PracticeInfoRe ///练功请求 func (this *apiComp) Info(session comm.IUserSession, req *pb.PracticeInfoReq) (code pb.ErrorCode, data proto.Message) { var ( - err error - room *pb.DBPracticeRoom + err error + room *pb.DBPracticeRoom + update map[string]interface{} = make(map[string]interface{}) ) if room, err = this.module.modelPandata.queryUserMartialhall(session.GetUserId()); err != nil { code = pb.ErrorCode_DBError @@ -30,6 +31,15 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.PracticeInfoReq) (c this.module.modelPandata.refreshnpc(room) } + for i := 0; i < len(room.Statuers); { + if time.Unix(room.Statuers[i].End, 0).After(configure.Now()) { //过期 + room.Statuers = append(room.Statuers[:i], room.Statuers[i+1:]...) + update["statuers"] = room.Statuers + } else { + i++ + } + } + if room.Npcstate == 3 { //CD中 cd := int32(configure.Now().Sub(time.Unix(room.Refresh, 0)).Seconds()) if cd >= this.module.configure.GetGlobalConf().PandamasChallengeCd { @@ -38,16 +48,16 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.PracticeInfoReq) (c code = pb.ErrorCode_DBError return } - this.module.modelPandata.Change(session.GetUserId(), map[string]interface{}{ - "npcstate": room.Npcstate, - "refresh": room.Refresh, - "battlenum": room.Battlenum, - "captain": room.Captain, - "formation": room.Formation, - }) + update["npcstate"] = room.Npcstate + update["refresh"] = room.Refresh + update["battlenum"] = room.Battlenum + update["captain"] = room.Captain + update["formation"] = room.Formation } } - + if len(update) > 0 { + this.module.modelPandata.Change(session.GetUserId(), update) + } session.SendMsg(string(this.module.GetType()), "info", &pb.PracticeInfoResp{Info: room}) return }