From 70d9a32a143336f7c218cc7a2e6aa37941ce25b4 Mon Sep 17 00:00:00 2001 From: liwei <2211068034@qq.com> Date: Tue, 18 Jul 2023 16:22:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=B4=BE=E9=81=A3=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E6=B6=88=E8=80=97=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/dispatch/api_refresh.go | 57 ++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/modules/dispatch/api_refresh.go b/modules/dispatch/api_refresh.go index 76cd6c367..d7561cc34 100644 --- a/modules/dispatch/api_refresh.go +++ b/modules/dispatch/api_refresh.go @@ -9,14 +9,17 @@ import ( ) // 刷新 -func (a *apiComp) RefreshCheck(session comm.IUserSession, req *pb.DispatchRefreshReq) (errdata *pb.ErrorData) { +func (this *apiComp) RefreshCheck(session comm.IUserSession, req *pb.DispatchRefreshReq) (errdata *pb.ErrorData) { return } -func (a *apiComp) Refresh(session comm.IUserSession, req *pb.DispatchRefreshReq) (errdata *pb.ErrorData) { - - d := a.module.modelDispatch.getDBDispatch(session.GetUserId()) - if d == nil { +func (this *apiComp) Refresh(session comm.IUserSession, req *pb.DispatchRefreshReq) (errdata *pb.ErrorData) { + var ( + info *pb.DBDispatch + need []*cfg.Gameatn + ) + info = this.module.modelDispatch.getDBDispatch(session.GetUserId()) + if info == nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DataNotFound, Title: pb.ErrorCode_DataNotFound.ToString(), @@ -24,10 +27,10 @@ func (a *apiComp) Refresh(session comm.IUserSession, req *pb.DispatchRefreshReq) return } - if d.Nb != nil { - if d.Nb.FreeCount > 0 { + if info.Nb != nil { + if info.Nb.FreeCount > 0 { //更新刷新次数 - if err := a.module.modelDispatch.updateFreeCount(session.GetUserId(), d.Nb); err != nil { + if err := this.module.modelDispatch.updateFreeCount(session.GetUserId(), info.Nb); err != nil { var customer = new(comm.CustomError) var code pb.ErrorCode if errors.As(err, &customer) { @@ -47,24 +50,28 @@ func (a *apiComp) Refresh(session comm.IUserSession, req *pb.DispatchRefreshReq) return } } else { - refreshCount := a.module.ModuleTools.GetGlobalConf().DispatchRefreshtimes - if d.Nb.RefreshCount >= refreshCount { + refreshCount := this.module.ModuleTools.GetGlobalConf().DispatchRefreshtimes + if info.Nb.RefreshCount >= refreshCount { errdata = &pb.ErrorData{ - Code: pb.ErrorCode_DispatchRefreshMax, - Title: pb.ErrorCode_DispatchRefreshMax.ToString(), + Code: pb.ErrorCode_DispatchRefreshMax, + Title: pb.ErrorCode_DispatchRefreshMax.ToString(), } return } - //消耗金币 - money := a.module.ModuleTools.GetGlobalConf().DispatchCheckmoney - if errdata = a.module.CheckRes(session, []*cfg.Gameatn{money}); errdata != nil { - return - } + need = make([]*cfg.Gameatn, 0) + money := this.module.ModuleTools.GetGlobalConf().DispatchCheckmoney - if errdata = a.module.ConsumeRes(session, []*cfg.Gameatn{money}, true); errdata != nil { + need = append(need, &cfg.Gameatn{ + A: money.A, + T: money.T, + N: money.N * (info.Nb.RefreshCount + 1), + }) + //消耗金币 + + if errdata = this.module.ConsumeRes(session, need, true); errdata != nil { return } - if err := a.module.modelDispatch.updateRefreshCount(session.GetUserId(), d.Nb); err != nil { + if err := this.module.modelDispatch.updateRefreshCount(session.GetUserId(), info.Nb); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Title: pb.ErrorCode_DBError.ToString(), @@ -76,22 +83,22 @@ func (a *apiComp) Refresh(session comm.IUserSession, req *pb.DispatchRefreshReq) } //刷新公告(随机新的任务 包括未领取和正在进行的任务) - tasks, err := a.module.modelDispatch.taskRandom(session.GetUserId(), d) + tasks, err := this.module.modelDispatch.taskRandom(session.GetUserId(), info) if err != nil { return } //更新公告任务 - if err := a.module.modelDispatch.updateTasks(session.GetUserId(), d.Nb, tasks); err != nil { - a.module.Debug("更新公告失败", log.Field{Key: "uid", Value: session.GetUserId()}) + if err := this.module.modelDispatch.updateTasks(session.GetUserId(), info.Nb, tasks); err != nil { + this.module.Debug("更新公告失败", log.Field{Key: "uid", Value: session.GetUserId()}) return } rsp := &pb.DispatchRefreshResp{ - FreeCount: d.Nb.FreeCount, - RefreshCount: d.Nb.RefreshCount, + FreeCount: info.Nb.FreeCount, + RefreshCount: info.Nb.RefreshCount, } - session.SendMsg(string(a.module.GetType()), "refresh", rsp) + session.SendMsg(string(this.module.GetType()), "refresh", rsp) return }