From bdaad954b8b273d9d7ab6926a13973703b60b42a Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Sat, 11 Mar 2023 17:47:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=B6=88=E6=81=AF=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/rtask/module.go | 114 ++++++++++++++++++------------------ modules/worldtask/module.go | 3 + 2 files changed, 60 insertions(+), 57 deletions(-) diff --git a/modules/rtask/module.go b/modules/rtask/module.go index 89cc0eacc..a39a2e777 100644 --- a/modules/rtask/module.go +++ b/modules/rtask/module.go @@ -410,78 +410,78 @@ func (this *ModuleRtask) SendToRtask(session comm.IUserSession, rtaskType comm.T } //任务完成则推送 - if code := this.CheckCondi(uid, conf.Id); code == pb.ErrorCode_Success { + if code = this.CheckCondi(uid, conf.Id); code == pb.ErrorCode_Success { module, err := this.service.GetModule(comm.ModuleWorldtask) if err == nil { - go func() { - defer func() { - if r := recover(); r != nil { - log.Errorf("[worldtask ] err:%v ", r) - } - }() - // 世界任务 - if worldtask, ok := module.(comm.IWorldtask); ok { - if err := worldtask.TaskcondNotify(session, conf.Id); err != nil { - var customErr = new(comm.CustomError) - if errors.As(err, &customErr) { - notifyErr := &pb.NotifyErrorNotifyPush{ - ReqMainType: string(comm.ModuleWorldtask), - ReqSubType: "finish", - Message: "", - } + // go func() { + // defer func() { + // if r := recover(); r != nil { + // log.Errorf("[worldtask ] err:%v ", r) + // } + // }() + // 世界任务 + if worldtask, ok := module.(comm.IWorldtask); ok { + if err := worldtask.TaskcondNotify(session, conf.Id); err != nil { + var customErr = new(comm.CustomError) + if errors.As(err, &customErr) { + notifyErr := &pb.NotifyErrorNotifyPush{ + ReqMainType: string(comm.ModuleWorldtask), + ReqSubType: "finish", + Message: "", + } - if customErr.Code == pb.ErrorCode_WorldtaskLvNotEnough { - notifyErr.Code = pb.ErrorCode_WorldtaskLvNotEnough - session.SendMsg(string(comm.ModuleWorldtask), "finish", notifyErr) - } else if customErr.Code == pb.ErrorCode_UserSessionNobeing { - notifyErr.Code = pb.ErrorCode_UserSessionNobeing - session.SendMsg(string(comm.ModuleWorldtask), "finish", notifyErr) - } else { - log.Error("任务条件达成通知", - log.Field{Key: "uid", Value: uid}, - log.Field{Key: "condId", Value: conf.Id}, - log.Field{Key: "err", Value: err.Error()}, - ) - } + if customErr.Code == pb.ErrorCode_WorldtaskLvNotEnough { + notifyErr.Code = pb.ErrorCode_WorldtaskLvNotEnough + session.SendMsg(string(comm.ModuleWorldtask), "finish", notifyErr) + } else if customErr.Code == pb.ErrorCode_UserSessionNobeing { + notifyErr.Code = pb.ErrorCode_UserSessionNobeing + session.SendMsg(string(comm.ModuleWorldtask), "finish", notifyErr) + } else { + log.Error("任务条件达成通知", + log.Field{Key: "uid", Value: uid}, + log.Field{Key: "condId", Value: conf.Id}, + log.Field{Key: "err", Value: err.Error()}, + ) } } } - }() + } + // }() } userModule, err := this.service.GetModule(comm.ModuleUser) if err == nil { - go func() { - defer func() { //程序异常 收集异常信息传递给前端显示 - if r := recover(); r != nil { - log.Errorf("[sociatytask ] err:%v ", r) + // go func() { + // defer func() { //程序异常 收集异常信息传递给前端显示 + // if r := recover(); r != nil { + // log.Errorf("[sociatytask ] err:%v ", r) + // } + // }() + // 公会 + if user, ok := userModule.(comm.IUser); ok { + ex, err := user.GetUserExpand(session.GetUserId()) + if err == nil && ex.SociatyId != "" { + sociatyModule, err := this.service.GetModule(comm.ModuleSociaty) + if err != nil { + return } - }() - // 公会 - if user, ok := userModule.(comm.IUser); ok { - ex, err := user.GetUserExpand(session.GetUserId()) - if err == nil && ex.SociatyId != "" { - sociatyModule, err := this.service.GetModule(comm.ModuleSociaty) - if err != nil { - return + if sociaty, ok := sociatyModule.(comm.ISociaty); ok { + if err2 := sociaty.TaskcondNotify(uid, ex.SociatyId, conf.Id); err2 != nil { + log.Error("公会任务条件达成通知", + log.Field{Key: "uid", Value: uid}, + log.Field{Key: "sociatyId", Value: ex.SociatyId}, + log.Field{Key: "condId", Value: conf.Id}, + log.Field{Key: "err", Value: err2.Error()}, + ) } - if sociaty, ok := sociatyModule.(comm.ISociaty); ok { - if err2 := sociaty.TaskcondNotify(uid, ex.SociatyId, conf.Id); err2 != nil { - log.Error("公会任务条件达成通知", - log.Field{Key: "uid", Value: uid}, - log.Field{Key: "sociatyId", Value: ex.SociatyId}, - log.Field{Key: "condId", Value: conf.Id}, - log.Field{Key: "err", Value: err2.Error()}, - ) - } - if module, err := this.service.GetModule(comm.ModuleRtask); err == nil { - if iRtask, ok := module.(comm.IRtask); ok { - iRtask.SendToRtask(session, comm.Rtype156, 1) - } + if module, err := this.service.GetModule(comm.ModuleRtask); err == nil { + if iRtask, ok := module.(comm.IRtask); ok { + iRtask.SendToRtask(session, comm.Rtype156, 1) } } } } - }() + } + // }() } } } diff --git a/modules/worldtask/module.go b/modules/worldtask/module.go index 93a607e27..d825c681c 100644 --- a/modules/worldtask/module.go +++ b/modules/worldtask/module.go @@ -99,6 +99,7 @@ func (this *Worldtask) TaskcondNotify(session comm.IUserSession, condId int32) e this.Error("world_task config not found", logFields...) return err } + logFields = append(logFields, log.Field{Key: "id_after", Value: taskConf.IdAfter}, log.Field{Key: "des", Value: taskConf.Des}) if taskConf != nil { if taskConf.Des == 2 { //只有世界任务才校验前置 if !this.modelWorldtask.IsPreFinished(userTask, taskConf) { @@ -136,6 +137,8 @@ func (this *Worldtask) TaskcondNotify(session comm.IUserSession, condId int32) e }); err != nil { logFields = append(logFields, log.Field{Key: "err", Value: err.Error()}) log.Error("任务条件达成推送", logFields...) + } else { + this.Debug("推送任务", log.Field{Key: "NextTaskId", Value: nextTaskId}) } } else { this.Debug("已经是最后一个任务了", logFields...)