diff --git a/pkg/cron/task.go b/pkg/cron/task.go index 7892717..8797de2 100644 --- a/pkg/cron/task.go +++ b/pkg/cron/task.go @@ -419,53 +419,56 @@ func ScheduledPublishTask() { } func TaskStatus() { - resp, err := service.CastProvider.ListTaskList(context.Background(), &cast.ListTaskListReq{ - Action: "publishBatch", - Status: 1, - Page: 1, - PageSize: 100, - }) - if err != nil { - zap.L().Error("获取任务列表失败", zap.Error(err)) - return - } - for _, v := range resp.Data { - var extraData modelCast.PublishTaskDto - if v.ExtraData == "" { - continue + var actions []string = []string{"publishBatch1", "publishBatch2"} + for _, action := range actions { + resp, err := service.CastProvider.ListTaskList(context.Background(), &cast.ListTaskListReq{ + Action: action, + Status: 1, + Page: 1, + PageSize: 100, + }) + if err != nil { + zap.L().Error("获取任务列表失败", zap.Error(err)) + return } - _ = json.Unmarshal([]byte(v.ExtraData), &extraData) - var allDone = true - for _, workUuid := range extraData.WorkUuids { - infoResp, _err := service.CastProvider.WorkInfo(context.Background(), &cast.WorkInfoReq{WorkUuid: workUuid}) - if _err != nil { - zap.L().Error("获取作品信息失败", zap.Error(_err)) - allDone = false - break - } - if infoResp.PublishStatus != cast.PublishStatusENUM_PublishMediaStatus_DONE { - allDone = false - break - } - } - var excelUrl string - if allDone { - excelUrl, err = serverCast.PublishTaskExcel(extraData.WorkUuids, true, v.Action) - if err != nil { - zap.L().Error("生成发布任务Excel失败", zap.Error(err)) + for _, v := range resp.Data { + var extraData modelCast.PublishTaskDto + if v.ExtraData == "" { continue } - _, err = service.CastProvider.UpsertTaskList(context.Background(), &cast.UpsertTaskListReq{ - Uuid: v.Uuid, - Action: v.Action, - Url: excelUrl, - Status: 3, - }) - if err != nil { - zap.L().Error("更新任务状态失败", zap.Error(err)) - continue + _ = json.Unmarshal([]byte(v.ExtraData), &extraData) + var allDone = true + for _, workUuid := range extraData.WorkUuids { + infoResp, _err := service.CastProvider.WorkInfo(context.Background(), &cast.WorkInfoReq{WorkUuid: workUuid}) + if _err != nil { + zap.L().Error("获取作品信息失败", zap.Error(_err)) + allDone = false + break + } + if infoResp.PublishStatus != cast.PublishStatusENUM_PublishMediaStatus_DONE { + allDone = false + break + } + } + var excelUrl string + if allDone { + excelUrl, err = serverCast.PublishTaskExcel(extraData.WorkUuids, true, v.Action) + if err != nil { + zap.L().Error("生成发布任务Excel失败", zap.Error(err)) + continue + } + _, err = service.CastProvider.UpsertTaskList(context.Background(), &cast.UpsertTaskListReq{ + Uuid: v.Uuid, + Action: v.Action, + Url: excelUrl, + Status: 3, + }) + if err != nil { + zap.L().Error("更新任务状态失败", zap.Error(err)) + continue + } + zap.L().Info("任务已完成,更新状态为完成", zap.String("task_uuid", v.Uuid), zap.String("excel_url", excelUrl)) } - zap.L().Info("任务已完成,更新状态为完成", zap.String("task_uuid", v.Uuid), zap.String("excel_url", excelUrl)) } } }