diff --git a/modules/worldtask/api_finish.go b/modules/worldtask/api_finish.go index a02a70b1f..213067df9 100644 --- a/modules/worldtask/api_finish.go +++ b/modules/worldtask/api_finish.go @@ -116,47 +116,6 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe } } - // var condiFlag bool - // 检查当前任务的完成条件 - // for _, condId := range curTaskConf.Completetask { - // if v, ok := userTask.CurrentTask[req.GroupId]; ok { - // if _, ok := utils.Findx(v.CondiIds, condId); !ok { - // conds, err := this.module.ModuleBuried.CheckCondition(uid, condId) - // if err != nil { - // errdata = &pb.ErrorData{ - // Code: pb.ErrorCode_ExternalModule, - // Title: pb.ErrorCode_ExternalModule.ToString(), - // Message: comm.NewExternalModuleErr("Buried", "CheckCondition", uid, condId).Error(), - // } - // return - // } - // for _, cond := range conds { - // if cond.Conid == condId && cond.State == pb.BuriedItemFinishState_buried_finish { - // condiFlag = true - // } - // } - // } else { - // condiFlag = true - // } - // ======= - // conds, err := this.module.ModuleBuried.CheckCondition(uid, curTaskConf.Completetask...) - // if err != nil { - // code = pb.ErrorCode_ExternalModule - // data = &pb.ErrorData{ - // Title: code.ToString(), - // Message: comm.NewExternalModuleErr("Buried", "CheckCondition", uid, curTaskConf.Completetask).Error(), - // >>>>>>> 2f603a49 (更新当前任务包含进度值) - // } - // return - // } - - // <<<<<<< HEAD - // if !condiFlag { - // errdata = &pb.ErrorData{ - // Code: pb.ErrorCode_RtaskCondiNoReach, - // Title: pb.ErrorCode_RtaskCondiNoReach.ToString(), - // } - conds, err := this.module.ModuleBuried.CheckCondition(uid, curTaskConf.Completetask...) if err != nil { errdata = &pb.ErrorData{ diff --git a/modules/worldtask/api_mine.go b/modules/worldtask/api_mine.go index 5ae900fef..662565a9e 100644 --- a/modules/worldtask/api_mine.go +++ b/modules/worldtask/api_mine.go @@ -66,7 +66,9 @@ func (this *apiComp) Mine(session comm.IUserSession, req *pb.WorldtaskMineReq) ( } condIds = utils.RemoveDuplicate(condIds) + this.module.modelWorldtask.updateRandomTask(uid, myWorldtask) + // 查询任务的条件进度 conds, err := this.module.ModuleBuried.CheckCondition(uid, condIds...) if err != nil { errdata = &pb.ErrorData{ @@ -86,8 +88,6 @@ func (this *apiComp) Mine(session comm.IUserSession, req *pb.WorldtaskMineReq) ( } } - this.module.modelWorldtask.updateRandomTask(uid, myWorldtask) - rsp := &pb.WorldtaskMineResp{ Task: myWorldtask, } diff --git a/modules/worldtask/model_worldtask.go b/modules/worldtask/model_worldtask.go index 8679e7fb5..c7ca16cfb 100644 --- a/modules/worldtask/model_worldtask.go +++ b/modules/worldtask/model_worldtask.go @@ -141,7 +141,6 @@ func (this *ModelWorldtask) findNextTasks(parentTaskId int32) (taskIds []int32) return } - // 更新当前任务的完成条件 func (this *ModelWorldtask) updateCurrentTaskCond(uid string, userLv int32, userTask *pb.DBWorldtask, nextTaskId int32) *pb.DBWorldtask { //检查下个任务的完成条件 diff --git a/modules/worldtask/module.go b/modules/worldtask/module.go index 7026b021a..5c4c24b67 100644 --- a/modules/worldtask/module.go +++ b/modules/worldtask/module.go @@ -122,7 +122,6 @@ func (this *Worldtask) TCondFinishNotify(uid string, conds []*pb.ConIProgress) { var groupId, taskId int32 // 检索condId是否是世界任务的完成条件 - finishedCondIds := []*pb.ConIProgress{} for _, cfg := range worldtaskConf.GetDataList() { for _, condId := range cfg.Completetask { @@ -165,8 +164,14 @@ func (this *Worldtask) TCondFinishNotify(uid string, conds []*pb.ConIProgress) { wt = &pb.Worldtask{} } - for _, condId := range finishedCondIds { - wt.Conds = append(wt.Conds, condId) + for _, cond1 := range finishedCondIds { + for _, cond2 := range wt.Conds { + if cond2.Conid == cond1.Conid { + cond2 = cond1 + } else { + wt.Conds = append(wt.Conds, cond1) + } + } } userTask.CurrentTask[groupId] = wt