diff --git a/modules/combat/api_challengereceive.go b/modules/combat/api_challengereceive.go index a566aecef..747ab4962 100644 --- a/modules/combat/api_challengereceive.go +++ b/modules/combat/api_challengereceive.go @@ -88,7 +88,7 @@ func (this *apiComp) ChallengeReceive(session comm.IUserSession, req *pb.CombatC return } this.module.DispenseRes(session, level.Award, true) - this.module.ModuleRtask.SendToRtask(session, comm.Rtype140, level.Id) + this.module.ModuleRtask.SendToRtask(session, comm.Rtype140, 1, level.Id) } } diff --git a/modules/combat/api_drop.go b/modules/combat/api_drop.go index 32717e106..ed9ec4f3e 100644 --- a/modules/combat/api_drop.go +++ b/modules/combat/api_drop.go @@ -94,7 +94,7 @@ func (this *apiComp) Drop(session comm.IUserSession, req *pb.CombatDropReq) (cod return } this.module.DispenseRes(session, level.Award, true) - this.module.ModuleRtask.SendToRtask(session, comm.Rtype140, level.Id) + this.module.ModuleRtask.SendToRtask(session, comm.Rtype140, 1, level.Id) } session.SendMsg(string(this.module.GetType()), "drop", &pb.CombatDropResp{Code: code, Atns: atns, Pass: pass}) diff --git a/modules/worldtask/api_finish.go b/modules/worldtask/api_finish.go index e7fc92019..8a3cbdd60 100644 --- a/modules/worldtask/api_finish.go +++ b/modules/worldtask/api_finish.go @@ -80,14 +80,15 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe var nextTaskId int32 finishCall := func() { - defer func() { - this.module.Debug("世界任务完成", log.Fields{"uid": uid, "params": req}) - }() nextTaskId = curTaskConf.IdAfter + defer func() { + this.module.Debug("世界任务完成", log.Fields{"uid": uid, "params": req, "nextTaskId": nextTaskId}) + }() + // 完成任务 if err := this.module.modelWorldtask.finishTask(req.GroupId, req.TaskId, userTask); err != nil { code = pb.ErrorCode_WorldtaskFinish - this.module.Error("finishTask", log.Fields{"uid": uid, "groupId": req.GroupId, "taskId": req.TaskId, "err": err.Error()}) + this.module.Error("完成任务失败", log.Fields{"uid": uid, "groupId": req.GroupId, "taskId": req.TaskId, "err": err.Error()}) return } // 发奖 @@ -99,6 +100,10 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe if curTaskConf.Completetask != 0 { if c := this.module.ModuleRtask.CheckCondi(uid, curTaskConf.Completetask); c == pb.ErrorCode_Success { finishCall() + } else { + this.module.Debug("任务完成条件未通过", log.Fields{"uid": uid, "condiId": curTaskConf.Completetask}) + code = pb.ErrorCode_WorldtaskNoComplete + return } } else { finishCall() @@ -113,8 +118,9 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe code = pb.ErrorCode_SystemError } - // 任务完成推送 + // 世界任务类型 if curTaskConf.Des == 2 { + // 任务完成推送 if err := session.SendMsg(string(this.module.GetType()), WorldtaskNexttaskPush, &pb.WorldtaskNexttaskPush{ NextTaskId: nextTaskId, }); err != nil { diff --git a/modules/worldtask/model_worldtask.go b/modules/worldtask/model_worldtask.go index 8ea374fe7..4570e231a 100644 --- a/modules/worldtask/model_worldtask.go +++ b/modules/worldtask/model_worldtask.go @@ -52,7 +52,7 @@ func (this *ModelWorldtask) IsPreFinished(userTask *pb.DBWorldtask, curTaskConf } for _, t := range userTask.TaskList { - if lastTaskId == t.TaskId{ + if lastTaskId == t.TaskId { preTaskFinished = true } } @@ -87,10 +87,10 @@ func (this *ModelWorldtask) finishTask(groupId, taskId int32, task *pb.DBWorldta update["uid"] = task.Uid wt := &pb.Worldtask{ - TaskId: taskId, + TaskId: taskId, TaskType: taskConf.Des, } - task.TaskList = append(task.TaskList,wt) + task.TaskList = append(task.TaskList, wt) task.LastTaskIds[groupId] = wt update["taskList"] = task.TaskList @@ -102,7 +102,7 @@ func (this *ModelWorldtask) finishTask(groupId, taskId int32, task *pb.DBWorldta if module, err := this.service.GetModule(comm.ModuleLinestory); err == nil { if iLinestory, ok := module.(comm.ILinestory); ok { if err := iLinestory.TaskFinishNotify(task.Uid, taskId, groupId); err != nil { - log.Error("世界任务完成通知支线剧情任务", log.Fields{"uid": task.Uid, "groupId": groupId, "taskId": taskId, "err": err.Error()}) + log.Debug("世界任务完成通知支线剧情任务", log.Fields{"uid": task.Uid, "groupId": groupId, "taskId": taskId, "err": err.Error()}) } } }