|
@@ -64,7 +64,7 @@ public class WorkflowTaskServiceImpl implements WorkflowTaskService {
|
|
|
public void create(CommonRequest<WorkflowTaskCreateParam> request) {
|
|
public void create(CommonRequest<WorkflowTaskCreateParam> request) {
|
|
|
WorkflowTaskCreateParam params = request.getParams();
|
|
WorkflowTaskCreateParam params = request.getParams();
|
|
|
SdWorkflowTask sdWorkflowTask = new SdWorkflowTask();
|
|
SdWorkflowTask sdWorkflowTask = new SdWorkflowTask();
|
|
|
- sdWorkflowTask.setTaskNo(IdGeneratorUtil.generateTaskNo());
|
|
|
|
|
|
|
+ sdWorkflowTask.setTaskNo(IdGeneratorUtil.generateWorkflowTaskNo());
|
|
|
String taskName = params.getTaskName();
|
|
String taskName = params.getTaskName();
|
|
|
if (Objects.isNull(taskName) || taskName.trim().isEmpty()) {
|
|
if (Objects.isNull(taskName) || taskName.trim().isEmpty()) {
|
|
|
taskName = PREFIX_TASK_NAME + Constant.LINE + DateUtil.formatLocalDateTime(LocalDateTime.now(), TASK_NAME_DATETIME_PATTEN);
|
|
taskName = PREFIX_TASK_NAME + Constant.LINE + DateUtil.formatLocalDateTime(LocalDateTime.now(), TASK_NAME_DATETIME_PATTEN);
|
|
@@ -81,10 +81,10 @@ public class WorkflowTaskServiceImpl implements WorkflowTaskService {
|
|
|
sdWorkflowTask.setStrategyId(params.getStrategyId());
|
|
sdWorkflowTask.setStrategyId(params.getStrategyId());
|
|
|
TaskTypeEnum taskTypeEnum = TaskTypeEnum.getInstance(params.getTaskType());
|
|
TaskTypeEnum taskTypeEnum = TaskTypeEnum.getInstance(params.getTaskType());
|
|
|
if (Objects.isNull(taskTypeEnum)) {
|
|
if (Objects.isNull(taskTypeEnum)) {
|
|
|
- throw new BizException(ExceptionEnum.NOT_SUPPORT_TASK_TYPE);
|
|
|
|
|
|
|
+ throw new BizException(ExceptionEnum.NOT_SUPPORT_WORKFLOW_TASK_TYPE);
|
|
|
}
|
|
}
|
|
|
// sdWorkflowTask.setTaskType(params.getTaskType());
|
|
// sdWorkflowTask.setTaskType(params.getTaskType());
|
|
|
- sdWorkflowTask.setTaskStatus(TaskStatusEnum.INIT.getValue());
|
|
|
|
|
|
|
+ sdWorkflowTask.setTaskStatus(WorkflowTaskStatusEnum.INIT.getValue());
|
|
|
int rows = sdWorkflowTaskMapper.insert(sdWorkflowTask);
|
|
int rows = sdWorkflowTaskMapper.insert(sdWorkflowTask);
|
|
|
log.info("create insert task rows = {}", rows);
|
|
log.info("create insert task rows = {}", rows);
|
|
|
if (rows <= 0) {
|
|
if (rows <= 0) {
|
|
@@ -94,10 +94,10 @@ public class WorkflowTaskServiceImpl implements WorkflowTaskService {
|
|
|
int total = 0;
|
|
int total = 0;
|
|
|
for (Long videoId : params.getVideoIds()) {
|
|
for (Long videoId : params.getVideoIds()) {
|
|
|
SdExecutionTask sdExecutionTask = new SdExecutionTask();
|
|
SdExecutionTask sdExecutionTask = new SdExecutionTask();
|
|
|
- String executionTaskNo = IdGeneratorUtil.generateSubTaskNo(sdWorkflowTask.getTaskNo());
|
|
|
|
|
|
|
+ String executionTaskNo = IdGeneratorUtil.generateExecutionTaskNo();
|
|
|
sdExecutionTask.setTaskNo(executionTaskNo);
|
|
sdExecutionTask.setTaskNo(executionTaskNo);
|
|
|
sdExecutionTask.setContentId(String.valueOf(videoId));
|
|
sdExecutionTask.setContentId(String.valueOf(videoId));
|
|
|
- sdExecutionTask.setTaskStatus(TaskStatusEnum.INIT.getValue());
|
|
|
|
|
|
|
+ sdExecutionTask.setTaskStatus(WorkflowTaskStatusEnum.INIT.getValue());
|
|
|
int subRows = sdExecutionTaskMapper.insert(sdExecutionTask);
|
|
int subRows = sdExecutionTaskMapper.insert(sdExecutionTask);
|
|
|
total += subRows;
|
|
total += subRows;
|
|
|
log.info("create ExecutionTask rows = {}", subRows);
|
|
log.info("create ExecutionTask rows = {}", subRows);
|
|
@@ -139,9 +139,9 @@ public class WorkflowTaskServiceImpl implements WorkflowTaskService {
|
|
|
for (SdWorkflowTask sdWorkflowTask : pageList.getRecords()) {
|
|
for (SdWorkflowTask sdWorkflowTask : pageList.getRecords()) {
|
|
|
SdWorkflowTaskVO sdWorkflowTaskVO = new SdWorkflowTaskVO();
|
|
SdWorkflowTaskVO sdWorkflowTaskVO = new SdWorkflowTaskVO();
|
|
|
BeanUtils.copyProperties(sdWorkflowTask, sdWorkflowTaskVO);
|
|
BeanUtils.copyProperties(sdWorkflowTask, sdWorkflowTaskVO);
|
|
|
- TaskStatusEnum taskStatusEnum = TaskStatusEnum.getInstance(sdWorkflowTask.getTaskStatus());
|
|
|
|
|
- if (Objects.nonNull(taskStatusEnum)) {
|
|
|
|
|
- sdWorkflowTaskVO.setTaskStatusLabel(taskStatusEnum.getDesc());
|
|
|
|
|
|
|
+ WorkflowTaskStatusEnum workflowTaskStatusEnum = WorkflowTaskStatusEnum.getInstance(sdWorkflowTask.getTaskStatus());
|
|
|
|
|
+ if (Objects.nonNull(workflowTaskStatusEnum)) {
|
|
|
|
|
+ sdWorkflowTaskVO.setTaskStatusLabel(workflowTaskStatusEnum.getDesc());
|
|
|
}
|
|
}
|
|
|
String strategyName = strategyMap.get(sdWorkflowTask.getStrategyId());
|
|
String strategyName = strategyMap.get(sdWorkflowTask.getStrategyId());
|
|
|
if (Objects.nonNull(strategyName)) {
|
|
if (Objects.nonNull(strategyName)) {
|
|
@@ -168,8 +168,8 @@ public class WorkflowTaskServiceImpl implements WorkflowTaskService {
|
|
|
.minusHours(6)
|
|
.minusHours(6)
|
|
|
.atZone(ZoneId.systemDefault())
|
|
.atZone(ZoneId.systemDefault())
|
|
|
.toInstant());
|
|
.toInstant());
|
|
|
- List<Integer> taskStatusList = Arrays.asList(TaskStatusEnum.INIT.getValue(),
|
|
|
|
|
- TaskStatusEnum.PRE_PROCESSING.getValue());
|
|
|
|
|
|
|
+ List<Integer> taskStatusList = Arrays.asList(WorkflowTaskStatusEnum.INIT.getValue(),
|
|
|
|
|
+ WorkflowTaskStatusEnum.PRE_PROCESSING.getValue());
|
|
|
LambdaQueryWrapper<SdWorkflowTask> wrapper = Wrappers.lambdaQuery(SdWorkflowTask.class)
|
|
LambdaQueryWrapper<SdWorkflowTask> wrapper = Wrappers.lambdaQuery(SdWorkflowTask.class)
|
|
|
.eq(SdWorkflowTask::getIsDeleted, IsDeleteEnum.NORMAL.getValue())
|
|
.eq(SdWorkflowTask::getIsDeleted, IsDeleteEnum.NORMAL.getValue())
|
|
|
.in(SdWorkflowTask::getTaskStatus, taskStatusList)
|
|
.in(SdWorkflowTask::getTaskStatus, taskStatusList)
|
|
@@ -180,11 +180,11 @@ public class WorkflowTaskServiceImpl implements WorkflowTaskService {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
for (SdWorkflowTask sdWorkflowTask : tasks) {
|
|
for (SdWorkflowTask sdWorkflowTask : tasks) {
|
|
|
- TaskStatusEnum taskStatusEnum = TaskStatusEnum.getInstance(sdWorkflowTask.getTaskStatus());
|
|
|
|
|
- if (Objects.isNull(taskStatusEnum)) {
|
|
|
|
|
|
|
+ WorkflowTaskStatusEnum workflowTaskStatusEnum = WorkflowTaskStatusEnum.getInstance(sdWorkflowTask.getTaskStatus());
|
|
|
|
|
+ if (Objects.isNull(workflowTaskStatusEnum)) {
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
- switch (taskStatusEnum) {
|
|
|
|
|
|
|
+ switch (workflowTaskStatusEnum) {
|
|
|
case INIT:
|
|
case INIT:
|
|
|
initTaskStatusCheck(sdWorkflowTask);
|
|
initTaskStatusCheck(sdWorkflowTask);
|
|
|
break;
|
|
break;
|
|
@@ -203,9 +203,9 @@ public class WorkflowTaskServiceImpl implements WorkflowTaskService {
|
|
|
private void preProcessingTaskStatsCheck(SdWorkflowTask sdWorkflowTask) {
|
|
private void preProcessingTaskStatsCheck(SdWorkflowTask sdWorkflowTask) {
|
|
|
try {
|
|
try {
|
|
|
//获取完成任务数
|
|
//获取完成任务数
|
|
|
- List<Integer> finishTaskStatusList = Arrays.asList(TaskStatusEnum.SUCCESS.getValue(),
|
|
|
|
|
- TaskStatusEnum.FAILED.getValue(),
|
|
|
|
|
- TaskStatusEnum.TIMEOUT.getValue());
|
|
|
|
|
|
|
+ List<Integer> finishTaskStatusList = Arrays.asList(WorkflowTaskStatusEnum.SUCCESS.getValue(),
|
|
|
|
|
+ WorkflowTaskStatusEnum.FAILED.getValue(),
|
|
|
|
|
+ WorkflowTaskStatusEnum.TIMEOUT.getValue());
|
|
|
LambdaQueryWrapper<SdExecutionTask> wrapper = Wrappers.lambdaQuery(SdExecutionTask.class)
|
|
LambdaQueryWrapper<SdExecutionTask> wrapper = Wrappers.lambdaQuery(SdExecutionTask.class)
|
|
|
.eq(SdExecutionTask::getIsDeleted, IsDeleteEnum.NORMAL.getValue())
|
|
.eq(SdExecutionTask::getIsDeleted, IsDeleteEnum.NORMAL.getValue())
|
|
|
// .eq(SdExecutionTask::getTaskId, sdworkflowTask.getId())
|
|
// .eq(SdExecutionTask::getTaskId, sdworkflowTask.getId())
|
|
@@ -223,10 +223,10 @@ public class WorkflowTaskServiceImpl implements WorkflowTaskService {
|
|
|
updateTask.setFinishedExecutionTaskCount(finishCount.intValue());
|
|
updateTask.setFinishedExecutionTaskCount(finishCount.intValue());
|
|
|
//如果全部完成,更新状态
|
|
//如果全部完成,更新状态
|
|
|
if (allFinished) {
|
|
if (allFinished) {
|
|
|
- updateTask.setTaskStatus(TaskStatusEnum.READY.getValue());
|
|
|
|
|
|
|
+ updateTask.setTaskStatus(WorkflowTaskStatusEnum.READY.getValue());
|
|
|
}
|
|
}
|
|
|
int updateRows = sdWorkflowTaskMapper.updateById(updateTask);
|
|
int updateRows = sdWorkflowTaskMapper.updateById(updateTask);
|
|
|
- log.info("preProcessingTaskStatsCheck status:{} task update rows:{}", TaskStatusEnum.PRE_PROCESSING.getDesc(), updateRows);
|
|
|
|
|
|
|
+ log.info("preProcessingTaskStatsCheck status:{} task update rows:{}", WorkflowTaskStatusEnum.PRE_PROCESSING.getDesc(), updateRows);
|
|
|
}
|
|
}
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
log.error("preProcessingTaskStatsCheck error", e);
|
|
log.error("preProcessingTaskStatsCheck error", e);
|
|
@@ -248,9 +248,9 @@ public class WorkflowTaskServiceImpl implements WorkflowTaskService {
|
|
|
if (Objects.nonNull(count) && count > 0) {
|
|
if (Objects.nonNull(count) && count > 0) {
|
|
|
SdWorkflowTask updateTask = new SdWorkflowTask();
|
|
SdWorkflowTask updateTask = new SdWorkflowTask();
|
|
|
updateTask.setId(sdTask.getId());
|
|
updateTask.setId(sdTask.getId());
|
|
|
- updateTask.setTaskStatus(TaskStatusEnum.PRE_PROCESSING.getValue());
|
|
|
|
|
|
|
+ updateTask.setTaskStatus(WorkflowTaskStatusEnum.PRE_PROCESSING.getValue());
|
|
|
int updateRows = sdWorkflowTaskMapper.updateById(updateTask);
|
|
int updateRows = sdWorkflowTaskMapper.updateById(updateTask);
|
|
|
- log.info("initTaskStatusCheck status:{} task update rows:{}", TaskStatusEnum.INIT.getDesc(), updateRows);
|
|
|
|
|
|
|
+ log.info("initTaskStatusCheck status:{} task update rows:{}", WorkflowTaskStatusEnum.INIT.getDesc(), updateRows);
|
|
|
}
|
|
}
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
log.error("initTaskStatusCheck error", e);
|
|
log.error("initTaskStatusCheck error", e);
|
|
@@ -264,7 +264,7 @@ public class WorkflowTaskServiceImpl implements WorkflowTaskService {
|
|
|
//查询可以执行的任务
|
|
//查询可以执行的任务
|
|
|
LambdaQueryWrapper<SdWorkflowTask> wrapper = Wrappers.lambdaQuery(SdWorkflowTask.class)
|
|
LambdaQueryWrapper<SdWorkflowTask> wrapper = Wrappers.lambdaQuery(SdWorkflowTask.class)
|
|
|
.eq(SdWorkflowTask::getIsDeleted, IsDeleteEnum.NORMAL.getValue())
|
|
.eq(SdWorkflowTask::getIsDeleted, IsDeleteEnum.NORMAL.getValue())
|
|
|
- .eq(SdWorkflowTask::getTaskStatus, TaskStatusEnum.READY.getValue());
|
|
|
|
|
|
|
+ .eq(SdWorkflowTask::getTaskStatus, WorkflowTaskStatusEnum.READY.getValue());
|
|
|
List<SdWorkflowTask> tasks = sdWorkflowTaskMapper.selectList(wrapper);
|
|
List<SdWorkflowTask> tasks = sdWorkflowTaskMapper.selectList(wrapper);
|
|
|
if (Objects.isNull(tasks) || tasks.isEmpty()) {
|
|
if (Objects.isNull(tasks) || tasks.isEmpty()) {
|
|
|
log.info("workflowTaskExecuteHandler tasks is empty");
|
|
log.info("workflowTaskExecuteHandler tasks is empty");
|
|
@@ -284,7 +284,7 @@ public class WorkflowTaskServiceImpl implements WorkflowTaskService {
|
|
|
if (Objects.isNull(strategyResultDTO)) {
|
|
if (Objects.isNull(strategyResultDTO)) {
|
|
|
SdWorkflowTask updateTask = new SdWorkflowTask();
|
|
SdWorkflowTask updateTask = new SdWorkflowTask();
|
|
|
updateTask.setId(sdWorkflowTask.getId());
|
|
updateTask.setId(sdWorkflowTask.getId());
|
|
|
- updateTask.setTaskStatus(TaskStatusEnum.FAILED.getValue());
|
|
|
|
|
|
|
+ updateTask.setTaskStatus(WorkflowTaskStatusEnum.FAILED.getValue());
|
|
|
updateTask.setErrorMsg("");
|
|
updateTask.setErrorMsg("");
|
|
|
int updateRows = sdWorkflowTaskMapper.updateById(updateTask);
|
|
int updateRows = sdWorkflowTaskMapper.updateById(updateTask);
|
|
|
log.info("");
|
|
log.info("");
|
|
@@ -299,7 +299,7 @@ public class WorkflowTaskServiceImpl implements WorkflowTaskService {
|
|
|
if (rows > 0) {
|
|
if (rows > 0) {
|
|
|
SdWorkflowTask updateTask = new SdWorkflowTask();
|
|
SdWorkflowTask updateTask = new SdWorkflowTask();
|
|
|
updateTask.setId(sdWorkflowTask.getId());
|
|
updateTask.setId(sdWorkflowTask.getId());
|
|
|
- updateTask.setTaskStatus(TaskStatusEnum.SUCCESS.getValue());
|
|
|
|
|
|
|
+ updateTask.setTaskStatus(WorkflowTaskStatusEnum.SUCCESS.getValue());
|
|
|
int updateRows = sdWorkflowTaskMapper.updateById(updateTask);
|
|
int updateRows = sdWorkflowTaskMapper.updateById(updateTask);
|
|
|
log.info("task success update rows:{}", updateRows);
|
|
log.info("task success update rows:{}", updateRows);
|
|
|
}
|
|
}
|