From c3a06a86f2c56ccf42fd8dc768abd1cb4a88ab9d Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Tue, 23 Jan 2024 13:54:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A0=E5=A4=BA=E6=B6=88=E8=80=97=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E8=A7=A3=E9=94=81=E9=98=9F=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/plunder/api_getlist.go | 24 +++++++++++++++++------- modules/plunder/api_unlock.go | 16 +++++++++++----- 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/modules/plunder/api_getlist.go b/modules/plunder/api_getlist.go index 48d563e62..6e2679ac1 100644 --- a/modules/plunder/api_getlist.go +++ b/modules/plunder/api_getlist.go @@ -3,6 +3,7 @@ package plunder import ( "go_dreamfactory/comm" "go_dreamfactory/pb" + "go_dreamfactory/sys/configure" ) func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.PlunderGetListReq) (errdata *pb.ErrorData) { @@ -12,14 +13,15 @@ func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.PlunderGetL // 获取基本信息 func (this *apiComp) GetList(session comm.IUserSession, req *pb.PlunderGetListReq) (errdata *pb.ErrorData) { var ( - err error - list *pb.DBPlunder - land *pb.DBPlunderLand + err error + list *pb.DBPlunder + land *pb.DBPlunderLand + update map[string]interface{} ) if errdata = this.GetListCheck(session, req); errdata != nil { return } - + update = make(map[string]interface{}) if list, err = this.module.modelPlunder.getPlunderData(session.GetUserId()); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, @@ -49,9 +51,17 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.PlunderGetListRe if len(list.Source) == 0 { list.Source, err = this.module.modelPlunder.refreshGoodsInfo() list.Setout = []int32{} - this.module.modelPlunder.changePlunderData(session.GetUserId(), map[string]interface{}{ - "source": list.Source, - }) + update["setout"] = list.Setout + } + // 校验解锁的是否到期 + for _, v := range list.Line { + if v.Closetime > 0 && v.Closetime < configure.Now().Unix() { + v.Closetime = -1 + update["line"] = list.Line + } + } + if len(update) > 0 { + this.module.modelPlunder.changePlunderData(session.GetUserId(), update) } session.SendMsg(string(this.module.GetType()), "getlist", &pb.PlunderGetListResp{ List: list, diff --git a/modules/plunder/api_unlock.go b/modules/plunder/api_unlock.go index e9be6500e..1930475c7 100644 --- a/modules/plunder/api_unlock.go +++ b/modules/plunder/api_unlock.go @@ -3,6 +3,7 @@ package plunder import ( "go_dreamfactory/comm" "go_dreamfactory/pb" + "go_dreamfactory/sys/configure" cfg "go_dreamfactory/sys/configure/structs" ) @@ -42,12 +43,17 @@ func (this *apiComp) Unlock(session comm.IUserSession, req *pb.PlunderUnlockReq) return } // 校验数据够不够 - globalConf := this.module.ModuleTools.GetGlobalConf() - - this.module.ConsumeRes(session, []*cfg.Gameatn{globalConf.PlunderPvpCollegeNum}, true) - - session.SendMsg(string(this.module.GetType()), "unlock", &pb.PlunderUnlockReq{}) + if errdata = this.module.ConsumeRes(session, []*cfg.Gameatn{globalConf.PlunderPvpCollegeNum}, true); errdata != nil { + return + } + list.Line[req.Pos].Closetime = configure.Now().Unix() + int64(globalConf.PlunderPvpCollegeTime)*24*3600 + this.module.modelPlunder.changePlunderData(session.GetUserId(), map[string]interface{}{ + "line": list.Line, + }) + session.SendMsg(string(this.module.GetType()), "unlock", &pb.PlunderUnlockResp{ + Line: list.Line, + }) return }