diff --git a/modules/worldtask/api_accept.go b/modules/worldtask/api_accept.go index 13129e926..6ddabed81 100644 --- a/modules/worldtask/api_accept.go +++ b/modules/worldtask/api_accept.go @@ -95,6 +95,7 @@ func (a *apiComp) Accept(session comm.IUserSession, req *pb.WorldtaskAcceptReq) // 检查当前任务的完成条件 func (this *apiComp) checkCurrentCompleteCond(uid string, completeCondIds []int32, userTask *pb.DBWorldtask) (condIds []int32) { + for _, condId := range completeCondIds { if condId == 0 { continue diff --git a/modules/worldtask/api_finish.go b/modules/worldtask/api_finish.go index f2a8fa037..4997db0c2 100644 --- a/modules/worldtask/api_finish.go +++ b/modules/worldtask/api_finish.go @@ -77,55 +77,6 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe return } - finishRsp := func() { - this.module.modelWorldtask.updateRandomTask(session.GetUserId(), userTask) - - nextTaskIds := this.module.modelWorldtask.findNextTasks(curTaskConf.Key) - this.module.Debug("nextTaskIds", log.Field{Key: "nextTaskIds", Value: nextTaskIds}) - - nextTask := make(map[int32]*pb.Worldtask) - for _, next := range nextTaskIds { - ut := this.updateCheckCond(uid, userTask, next) - if ut != nil { - for k, v := range ut.CurrentTask { - nextTask[k] = &pb.Worldtask{ - TaskId: v.TaskId, - } - } - } - } - - if err := session.SendMsg(string(this.module.GetType()), WorldtaskSubtypeFinish, rsp); err != nil { - code = pb.ErrorCode_SystemError - return - } - - if curTaskConf.IdAfter != 0 { - // 任务完成推送 - if err := session.SendMsg(string(this.module.GetType()), WorldtaskNexttaskPush, &pb.WorldtaskNexttaskPush{ - NextTask: nextTask, - FinishedTaskIds: []int32{curTaskConf.Key}, - }); err != nil { - code = pb.ErrorCode_SystemError - return - } - } else { - // 章节完成 - if _, ok := userTask.Chapters[req.GroupId]; !ok { - delete(userTask.CurrentTask, req.GroupId) - if userTask.Chapters == nil { - userTask.Chapters = make(map[int32]int32) - } - userTask.Chapters[req.GroupId] = 1 //已解锁待领取 - update := map[string]interface{}{ - "chapters": userTask.Chapters, - "currentTask": userTask.CurrentTask, - } - this.module.modelWorldtask.Change(uid, update) - } - } - } - //判断任务是否已完成 for _, v := range userTask.TaskList { if v == req.TaskId { @@ -133,7 +84,8 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe log.Field{Key: "uid", Value: uid}, log.Field{Key: "taskId", Value: req.TaskId}, ) - finishRsp() + // finishRsp() + this.module.modelWorldtask.taskFinishPush(session, req.GroupId, userTask, curTaskConf) return } } @@ -194,7 +146,7 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe } } - finishRsp() + this.module.modelWorldtask.taskFinishPush(session, req.GroupId, userTask, curTaskConf) return }