diff --git a/modules/worldtask/api_finish.go b/modules/worldtask/api_finish.go index 5772a883c..ff9900e83 100644 --- a/modules/worldtask/api_finish.go +++ b/modules/worldtask/api_finish.go @@ -103,23 +103,25 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe if mc := iwt.CheckCondi(uid, condiId); mc != pb.ErrorCode_Success { this.module.Debug("任务完成条件不满足", log.Field{Key: "uid", Value: uid}, - log.Field{Key: "taskId", Value: req.TaskId}, + log.Field{Key: "taskId", Value: nextTaskId}, log.Field{Key: "condiId", Value: condiId}, ) rsp.CondiId = condiId - rsp.TaskId = req.TaskId + rsp.TaskId = nextTaskId } else { - _, ok := userTask.CurrentTask[nextTaskConf.Group] + nwt, ok := userTask.CurrentTask[nextTaskConf.Group] if ok { - userTask.CurrentTask[nextTaskConf.Group].CondiIds = append(userTask.CurrentTask[req.GroupId].CondiIds, condiId) + nwt.CondiIds = append(nwt.CondiIds, condiId) } else { condiIds := []int32{condiId} - userTask.CurrentTask[nextTaskConf.Group].CondiIds = condiIds + nwt = &pb.Worldtask{ + TaskId: nextTaskId, + TaskType: nextTaskConf.Des, + CondiIds: condiIds, + } } + userTask.CurrentTask[nextTaskConf.Group] = nwt } - - userTask.CurrentTask[nextTaskConf.Group].TaskId = nextTaskId - userTask.CurrentTask[nextTaskConf.Group].TaskType = nextTaskConf.Des } } }