diff --git a/modules/web/handler/activity.go b/modules/web/handler/activity.go index 0a33ed9..01b6acc 100644 --- a/modules/web/handler/activity.go +++ b/modules/web/handler/activity.go @@ -27,11 +27,15 @@ func GetUserTaskStatus(a *app.Gin) (ret []*values.OneTask) { taskCfgs := call.GetConfigTask() taskMap := make(map[int]*common.ConfigTaskStr) // 任务列表 userTaskMap := make(map[int]*common.TaskData) + preTask := make(map[int]struct{}) var update bool for _, v := range taskCfgs { taskMap[v.TaskID] = &common.ConfigTaskStr{ ConfigTask: v, } + if v.PreTaskId > 0 { + preTask[v.PreTaskId] = struct{}{} + } } for _, v := range userTask { if _, ok := taskMap[v.TaskID]; !ok { // 不存在则删除 @@ -96,6 +100,9 @@ func GetUserTaskStatus(a *app.Gin) (ret []*values.OneTask) { if taskMap[v.TaskID].PreTaskId > 0 && userTaskMap[taskMap[v.TaskID].PreTaskId].TaskStatus != 2 { continue } + if _, ok := preTask[v.TaskID]; ok && v.TaskStatus == 2 { + continue + } oneTask := &values.OneTask{ TaskID: v.TaskID, Progress: int64(v.TaskValue),