|
|
@@ -11,11 +11,11 @@ import com.tzld.piaoquan.sde.integration.OpenRouterClient;
|
|
|
import com.tzld.piaoquan.sde.mapper.*;
|
|
|
import com.tzld.piaoquan.sde.model.dto.StrategyResultDTO;
|
|
|
import com.tzld.piaoquan.sde.model.entity.*;
|
|
|
-import com.tzld.piaoquan.sde.model.request.TaskCreateParam;
|
|
|
-import com.tzld.piaoquan.sde.model.request.TaskGetParam;
|
|
|
-import com.tzld.piaoquan.sde.model.request.TaskListParam;
|
|
|
-import com.tzld.piaoquan.sde.model.vo.SdTaskVO;
|
|
|
-import com.tzld.piaoquan.sde.service.TaskService;
|
|
|
+import com.tzld.piaoquan.sde.model.request.WorkflowTaskCreateParam;
|
|
|
+import com.tzld.piaoquan.sde.model.request.WorkflowTaskGetParam;
|
|
|
+import com.tzld.piaoquan.sde.model.request.WorkflowTaskListParam;
|
|
|
+import com.tzld.piaoquan.sde.model.vo.SdWorkflowTaskVO;
|
|
|
+import com.tzld.piaoquan.sde.service.WorkflowTaskService;
|
|
|
import com.tzld.piaoquan.sde.service.strategy.DeconstructStrategy;
|
|
|
import com.tzld.piaoquan.sde.service.strategy.DemandExtractionStrategy;
|
|
|
import com.tzld.piaoquan.sde.util.DateUtil;
|
|
|
@@ -36,21 +36,21 @@ import java.util.stream.Collectors;
|
|
|
*/
|
|
|
@Slf4j
|
|
|
@Service
|
|
|
-public class TaskServiceImpl implements TaskService {
|
|
|
+public class WorkflowTaskServiceImpl implements WorkflowTaskService {
|
|
|
|
|
|
private static final String PREFIX_TASK_NAME = "供给需求任务";
|
|
|
private static final String TASK_NAME_DATETIME_PATTEN = "yyyyMMddHHmmss";
|
|
|
|
|
|
@Autowired
|
|
|
- private SdTaskMapper sdTaskMapper;
|
|
|
+ private SdWorkflowTaskMapper sdWorkflowTaskMapper;
|
|
|
@Autowired
|
|
|
- private SdSubTaskMapper sdSubTaskMapper;
|
|
|
+ private SdExecutionTaskMapper sdExecutionTaskMapper;
|
|
|
@Autowired
|
|
|
private SdStrategyMapper sdStrategyMapper;
|
|
|
@Autowired
|
|
|
private SdPromptTemplateMapper sdPromptTemplateMapper;
|
|
|
@Autowired
|
|
|
- private SdSubTaskResultItemMapper sdSubTaskResultItemMapper;
|
|
|
+ private SdExecutionTaskResultItemMapper sdExecutionTaskResultItemMapper;
|
|
|
@Autowired
|
|
|
private OpenRouterClient openRouterServiceClient;
|
|
|
@Autowired
|
|
|
@@ -58,18 +58,18 @@ public class TaskServiceImpl implements TaskService {
|
|
|
@Autowired
|
|
|
private Map<Integer, DeconstructStrategy> strategyMap;
|
|
|
@Autowired
|
|
|
- private SdTaskResultMapper sdTaskResultMapper;
|
|
|
+ private SdWorkflowTaskResultMapper sdWorkflowTaskResultMapper;
|
|
|
|
|
|
@Override
|
|
|
- public void create(CommonRequest<TaskCreateParam> request) {
|
|
|
- TaskCreateParam params = request.getParams();
|
|
|
- SdTask sdTask = new SdTask();
|
|
|
- sdTask.setTaskNo(IdGeneratorUtil.generateTaskNo());
|
|
|
+ public void create(CommonRequest<WorkflowTaskCreateParam> request) {
|
|
|
+ WorkflowTaskCreateParam params = request.getParams();
|
|
|
+ SdWorkflowTask sdWorkflowTask = new SdWorkflowTask();
|
|
|
+ sdWorkflowTask.setTaskNo(IdGeneratorUtil.generateTaskNo());
|
|
|
String taskName = params.getTaskName();
|
|
|
if (Objects.isNull(taskName) || taskName.trim().isEmpty()) {
|
|
|
taskName = PREFIX_TASK_NAME + Constant.LINE + DateUtil.formatLocalDateTime(LocalDateTime.now(), TASK_NAME_DATETIME_PATTEN);
|
|
|
}
|
|
|
- sdTask.setTaskName(taskName);
|
|
|
+ sdWorkflowTask.setTaskName(taskName);
|
|
|
//校验策略是否存在
|
|
|
Long strategyId = params.getStrategyId();
|
|
|
LambdaQueryWrapper<SdStrategy> wrapper = new LambdaQueryWrapper<>();
|
|
|
@@ -78,14 +78,14 @@ public class TaskServiceImpl implements TaskService {
|
|
|
if (!strategyIdExists) {
|
|
|
throw new BizException(ExceptionEnum.DATA_NOT_EXIST, "该策略不存在");
|
|
|
}
|
|
|
- sdTask.setStrategyId(params.getStrategyId());
|
|
|
+ sdWorkflowTask.setStrategyId(params.getStrategyId());
|
|
|
TaskTypeEnum taskTypeEnum = TaskTypeEnum.getInstance(params.getTaskType());
|
|
|
if (Objects.isNull(taskTypeEnum)) {
|
|
|
throw new BizException(ExceptionEnum.NOT_SUPPORT_TASK_TYPE);
|
|
|
}
|
|
|
- sdTask.setTaskType(params.getTaskType());
|
|
|
- sdTask.setTaskStatus(TaskStatusEnum.INIT.getValue());
|
|
|
- int rows = sdTaskMapper.insert(sdTask);
|
|
|
+// sdWorkflowTask.setTaskType(params.getTaskType());
|
|
|
+ sdWorkflowTask.setTaskStatus(TaskStatusEnum.INIT.getValue());
|
|
|
+ int rows = sdWorkflowTaskMapper.insert(sdWorkflowTask);
|
|
|
log.info("create insert task rows = {}", rows);
|
|
|
if (rows <= 0) {
|
|
|
throw new BizException(ExceptionEnum.DATA_INSERT_ERROR);
|
|
|
@@ -93,27 +93,26 @@ public class TaskServiceImpl implements TaskService {
|
|
|
//子任务创建
|
|
|
int total = 0;
|
|
|
for (Long videoId : params.getVideoIds()) {
|
|
|
- SdSubTask sdSubTask = new SdSubTask();
|
|
|
- sdSubTask.setTaskId(sdTask.getId());
|
|
|
- String subTaskNo = IdGeneratorUtil.generateSubTaskNo(sdTask.getTaskNo());
|
|
|
- sdSubTask.setSubTaskNo(subTaskNo);
|
|
|
- sdSubTask.setContentId(String.valueOf(videoId));
|
|
|
- sdSubTask.setTaskStatus(TaskStatusEnum.INIT.getValue());
|
|
|
- int subRows = sdSubTaskMapper.insert(sdSubTask);
|
|
|
+ SdExecutionTask sdExecutionTask = new SdExecutionTask();
|
|
|
+ String executionTaskNo = IdGeneratorUtil.generateSubTaskNo(sdWorkflowTask.getTaskNo());
|
|
|
+ sdExecutionTask.setTaskNo(executionTaskNo);
|
|
|
+ sdExecutionTask.setContentId(String.valueOf(videoId));
|
|
|
+ sdExecutionTask.setTaskStatus(TaskStatusEnum.INIT.getValue());
|
|
|
+ int subRows = sdExecutionTaskMapper.insert(sdExecutionTask);
|
|
|
total += subRows;
|
|
|
- log.info("create subTask rows = {}", subRows);
|
|
|
+ log.info("create ExecutionTask rows = {}", subRows);
|
|
|
}
|
|
|
//更新子任务数
|
|
|
- SdTask updateTask = new SdTask();
|
|
|
- updateTask.setId(sdTask.getId());
|
|
|
- updateTask.setSubTaskCount(total);
|
|
|
- int updateRows = sdTaskMapper.updateById(updateTask);
|
|
|
- log.info("create update task rows = {}, total = {}", updateRows, total);
|
|
|
+ SdWorkflowTask updateTask = new SdWorkflowTask();
|
|
|
+ updateTask.setId(sdWorkflowTask.getId());
|
|
|
+ updateTask.setExecutionTaskCount(total);
|
|
|
+ int updateRows = sdWorkflowTaskMapper.updateById(updateTask);
|
|
|
+ log.info("create update WorkflowTask rows = {}, total = {}", updateRows, total);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Page<SdTaskVO> list(CommonRequest<TaskListParam> request) {
|
|
|
- TaskListParam params = request.getParams();
|
|
|
+ public Page<SdWorkflowTaskVO> list(CommonRequest<WorkflowTaskListParam> request) {
|
|
|
+ WorkflowTaskListParam params = request.getParams();
|
|
|
int pageNo = params.getPageNo();
|
|
|
int pageSize = params.getPageSize();
|
|
|
String taskNo = params.getTaskNo();
|
|
|
@@ -121,53 +120,48 @@ public class TaskServiceImpl implements TaskService {
|
|
|
Integer taskType = params.getTaskType();
|
|
|
Long strategyId = params.getStrategyId();
|
|
|
|
|
|
- LambdaQueryWrapper<SdTask> wrapper = Wrappers.lambdaQuery(SdTask.class)
|
|
|
- .eq(Objects.nonNull(taskNo), SdTask::getTaskNo, taskNo)
|
|
|
- .eq(Objects.nonNull(taskType), SdTask::getTaskType, taskType)
|
|
|
- .eq(Objects.nonNull(strategyId), SdTask::getStrategyId, strategyId)
|
|
|
- .like(Objects.nonNull(taskName) && !taskName.isEmpty(), SdTask::getTaskName, taskName)
|
|
|
- .eq(SdTask::getIsDeleted, IsDeleteEnum.NORMAL.getValue())
|
|
|
- .orderByDesc(SdTask::getId);
|
|
|
+ LambdaQueryWrapper<SdWorkflowTask> wrapper = Wrappers.lambdaQuery(SdWorkflowTask.class)
|
|
|
+ .eq(Objects.nonNull(taskNo), SdWorkflowTask::getTaskNo, taskNo)
|
|
|
+ .eq(Objects.nonNull(strategyId), SdWorkflowTask::getStrategyId, strategyId)
|
|
|
+ .like(Objects.nonNull(taskName) && !taskName.isEmpty(), SdWorkflowTask::getTaskName, taskName)
|
|
|
+ .eq(SdWorkflowTask::getIsDeleted, IsDeleteEnum.NORMAL.getValue())
|
|
|
+ .orderByDesc(SdWorkflowTask::getId);
|
|
|
|
|
|
- Page<SdTask> page = new Page<>(pageNo, pageSize);
|
|
|
- Page<SdTask> pageList = sdTaskMapper.selectPage(page, wrapper);
|
|
|
- Page<SdTaskVO> pageVO = new Page<>();
|
|
|
+ Page<SdWorkflowTask> page = new Page<>(pageNo, pageSize);
|
|
|
+ Page<SdWorkflowTask> pageList = sdWorkflowTaskMapper.selectPage(page, wrapper);
|
|
|
+ Page<SdWorkflowTaskVO> pageVO = new Page<>();
|
|
|
if (Objects.isNull(pageList) || pageList.getTotal() == 0) {
|
|
|
return pageVO;
|
|
|
}
|
|
|
- List<Long> strategyIds = pageList.getRecords().stream().map(SdTask::getStrategyId).collect(Collectors.toList());
|
|
|
+ List<Long> strategyIds = pageList.getRecords().stream().map(SdWorkflowTask::getStrategyId).collect(Collectors.toList());
|
|
|
List<SdStrategy> strategyList = sdStrategyMapper.selectList(Wrappers.<SdStrategy>lambdaQuery().in(SdStrategy::getId, strategyIds));
|
|
|
Map<Long, String> strategyMap = strategyList.stream().collect(Collectors.toMap(SdStrategy::getId, SdStrategy::getStrategyName));
|
|
|
- for (SdTask sdTask : pageList.getRecords()) {
|
|
|
- SdTaskVO sdTaskVO = new SdTaskVO();
|
|
|
- BeanUtils.copyProperties(sdTask, sdTaskVO);
|
|
|
- TaskTypeEnum taskTypeEnum = TaskTypeEnum.getInstance(sdTask.getTaskType());
|
|
|
- if (Objects.nonNull(taskTypeEnum)) {
|
|
|
- sdTaskVO.setTaskTypeLabel(taskTypeEnum.getDesc());
|
|
|
- }
|
|
|
- TaskStatusEnum taskStatusEnum = TaskStatusEnum.getInstance(sdTask.getTaskStatus());
|
|
|
+ for (SdWorkflowTask sdWorkflowTask : pageList.getRecords()) {
|
|
|
+ SdWorkflowTaskVO sdWorkflowTaskVO = new SdWorkflowTaskVO();
|
|
|
+ BeanUtils.copyProperties(sdWorkflowTask, sdWorkflowTaskVO);
|
|
|
+ TaskStatusEnum taskStatusEnum = TaskStatusEnum.getInstance(sdWorkflowTask.getTaskStatus());
|
|
|
if (Objects.nonNull(taskStatusEnum)) {
|
|
|
- sdTaskVO.setTaskStatusLabel(taskStatusEnum.getDesc());
|
|
|
+ sdWorkflowTaskVO.setTaskStatusLabel(taskStatusEnum.getDesc());
|
|
|
}
|
|
|
- String strategyName = strategyMap.get(sdTask.getStrategyId());
|
|
|
+ String strategyName = strategyMap.get(sdWorkflowTask.getStrategyId());
|
|
|
if (Objects.nonNull(strategyName)) {
|
|
|
- sdTaskVO.setStrategyName(strategyName);
|
|
|
+ sdWorkflowTaskVO.setStrategyName(strategyName);
|
|
|
}
|
|
|
- pageVO.getRecords().add(sdTaskVO);
|
|
|
+ pageVO.getRecords().add(sdWorkflowTaskVO);
|
|
|
}
|
|
|
return pageVO;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public SdTask get(CommonRequest<TaskGetParam> request) {
|
|
|
+ public SdWorkflowTask get(CommonRequest<WorkflowTaskGetParam> request) {
|
|
|
Long id = request.getParams().getId();
|
|
|
- return sdTaskMapper.selectById(id);
|
|
|
+ return sdWorkflowTaskMapper.selectById(id);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void taskStatusCheckHandler() {
|
|
|
+ public void workflowTaskStatusCheckHandler() {
|
|
|
long start = System.nanoTime();
|
|
|
- log.info("taskStatusCheckHandler start");
|
|
|
+ log.info("workflowTaskStatusCheckHandler start");
|
|
|
// 6 小时前
|
|
|
Date hourAgo = Date.from(
|
|
|
LocalDateTime.now()
|
|
|
@@ -176,26 +170,26 @@ public class TaskServiceImpl implements TaskService {
|
|
|
.toInstant());
|
|
|
List<Integer> taskStatusList = Arrays.asList(TaskStatusEnum.INIT.getValue(),
|
|
|
TaskStatusEnum.PRE_PROCESSING.getValue());
|
|
|
- LambdaQueryWrapper<SdTask> wrapper = Wrappers.lambdaQuery(SdTask.class)
|
|
|
- .eq(SdTask::getIsDeleted, IsDeleteEnum.NORMAL.getValue())
|
|
|
- .in(SdTask::getTaskStatus, taskStatusList)
|
|
|
- .ge(SdTask::getCreateTime, hourAgo);
|
|
|
- List<SdTask> tasks = sdTaskMapper.selectList(wrapper);
|
|
|
+ LambdaQueryWrapper<SdWorkflowTask> wrapper = Wrappers.lambdaQuery(SdWorkflowTask.class)
|
|
|
+ .eq(SdWorkflowTask::getIsDeleted, IsDeleteEnum.NORMAL.getValue())
|
|
|
+ .in(SdWorkflowTask::getTaskStatus, taskStatusList)
|
|
|
+ .ge(SdWorkflowTask::getCreateTime, hourAgo);
|
|
|
+ List<SdWorkflowTask> tasks = sdWorkflowTaskMapper.selectList(wrapper);
|
|
|
if (Objects.isNull(tasks) || tasks.isEmpty()) {
|
|
|
- log.info("taskStatusCheckHandler tasks is empty");
|
|
|
+ log.info("workflowTaskStatusCheckHandler tasks is empty");
|
|
|
return;
|
|
|
}
|
|
|
- for (SdTask sdTask : tasks) {
|
|
|
- TaskStatusEnum taskStatusEnum = TaskStatusEnum.getInstance(sdTask.getTaskStatus());
|
|
|
+ for (SdWorkflowTask sdWorkflowTask : tasks) {
|
|
|
+ TaskStatusEnum taskStatusEnum = TaskStatusEnum.getInstance(sdWorkflowTask.getTaskStatus());
|
|
|
if (Objects.isNull(taskStatusEnum)) {
|
|
|
continue;
|
|
|
}
|
|
|
switch (taskStatusEnum) {
|
|
|
case INIT:
|
|
|
- initTaskStatusCheck(sdTask);
|
|
|
+ initTaskStatusCheck(sdWorkflowTask);
|
|
|
break;
|
|
|
case PRE_PROCESSING:
|
|
|
- preProcessingTaskStatsCheck(sdTask);
|
|
|
+ preProcessingTaskStatsCheck(sdWorkflowTask);
|
|
|
break;
|
|
|
default:
|
|
|
//其他状态不在这里处理
|
|
|
@@ -203,35 +197,35 @@ public class TaskServiceImpl implements TaskService {
|
|
|
}
|
|
|
}
|
|
|
long costMs = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - start);
|
|
|
- log.info("taskStatusCheckHandler finish cost={}ms", costMs);
|
|
|
+ log.info("workflowTaskStatusCheckHandler finish cost={}ms", costMs);
|
|
|
}
|
|
|
|
|
|
- private void preProcessingTaskStatsCheck(SdTask sdTask) {
|
|
|
+ private void preProcessingTaskStatsCheck(SdWorkflowTask sdWorkflowTask) {
|
|
|
try {
|
|
|
//获取完成任务数
|
|
|
List<Integer> finishTaskStatusList = Arrays.asList(TaskStatusEnum.SUCCESS.getValue(),
|
|
|
TaskStatusEnum.FAILED.getValue(),
|
|
|
TaskStatusEnum.TIMEOUT.getValue());
|
|
|
- LambdaQueryWrapper<SdSubTask> wrapper = Wrappers.lambdaQuery(SdSubTask.class)
|
|
|
- .eq(SdSubTask::getIsDeleted, IsDeleteEnum.NORMAL.getValue())
|
|
|
- .eq(SdSubTask::getTaskId, sdTask.getId())
|
|
|
- .in(SdSubTask::getTaskStatus, finishTaskStatusList);
|
|
|
- Long finishCount = sdSubTaskMapper.selectCount(wrapper);
|
|
|
+ LambdaQueryWrapper<SdExecutionTask> wrapper = Wrappers.lambdaQuery(SdExecutionTask.class)
|
|
|
+ .eq(SdExecutionTask::getIsDeleted, IsDeleteEnum.NORMAL.getValue())
|
|
|
+// .eq(SdExecutionTask::getTaskId, sdworkflowTask.getId())
|
|
|
+ .in(SdExecutionTask::getTaskStatus, finishTaskStatusList);
|
|
|
+ Long finishCount = sdExecutionTaskMapper.selectCount(wrapper);
|
|
|
//更新主任务
|
|
|
if (Objects.isNull(finishCount)) {
|
|
|
return;
|
|
|
}
|
|
|
- boolean needUpdateFinishedCount = finishCount.intValue() > sdTask.getFinishedSubTaskCount();
|
|
|
- boolean allFinished = finishCount.intValue() == sdTask.getSubTaskCount();
|
|
|
+ boolean needUpdateFinishedCount = finishCount.intValue() > sdWorkflowTask.getFinishedExecutionTaskCount();
|
|
|
+ boolean allFinished = finishCount.intValue() == sdWorkflowTask.getExecutionTaskCount();
|
|
|
if (needUpdateFinishedCount || allFinished) {
|
|
|
- SdTask updateTask = new SdTask();
|
|
|
- updateTask.setId(sdTask.getId());
|
|
|
- updateTask.setFinishedSubTaskCount(finishCount.intValue());
|
|
|
+ SdWorkflowTask updateTask = new SdWorkflowTask();
|
|
|
+ updateTask.setId(sdWorkflowTask.getId());
|
|
|
+ updateTask.setFinishedExecutionTaskCount(finishCount.intValue());
|
|
|
//如果全部完成,更新状态
|
|
|
if (allFinished) {
|
|
|
updateTask.setTaskStatus(TaskStatusEnum.READY.getValue());
|
|
|
}
|
|
|
- int updateRows = sdTaskMapper.updateById(updateTask);
|
|
|
+ int updateRows = sdWorkflowTaskMapper.updateById(updateTask);
|
|
|
log.info("preProcessingTaskStatsCheck status:{} task update rows:{}", TaskStatusEnum.PRE_PROCESSING.getDesc(), updateRows);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
@@ -242,20 +236,20 @@ public class TaskServiceImpl implements TaskService {
|
|
|
/**
|
|
|
* 初始任务状态更新
|
|
|
*/
|
|
|
- private void initTaskStatusCheck(SdTask sdTask) {
|
|
|
+ private void initTaskStatusCheck(SdWorkflowTask sdTask) {
|
|
|
try {
|
|
|
//检查子任务状态
|
|
|
- LambdaQueryWrapper<SdSubTask> wrapper = Wrappers.lambdaQuery(SdSubTask.class)
|
|
|
- .eq(SdSubTask::getIsDeleted, IsDeleteEnum.NORMAL.getValue())
|
|
|
- .eq(SdSubTask::getTaskId, sdTask.getId())
|
|
|
- .ne(SdSubTask::getTaskStatus, SubTaskStatusEnum.INIT.getValue());
|
|
|
- Long count = sdSubTaskMapper.selectCount(wrapper);
|
|
|
+ LambdaQueryWrapper<SdExecutionTask> wrapper = Wrappers.lambdaQuery(SdExecutionTask.class)
|
|
|
+ .eq(SdExecutionTask::getIsDeleted, IsDeleteEnum.NORMAL.getValue())
|
|
|
+// .eq(SdExecutionTask::getTaskId, sdTask.getId())
|
|
|
+ .ne(SdExecutionTask::getTaskStatus, ExecutionTaskStatusEnum.INIT.getValue());
|
|
|
+ Long count = sdExecutionTaskMapper.selectCount(wrapper);
|
|
|
//更新主任务状态
|
|
|
if (Objects.nonNull(count) && count > 0) {
|
|
|
- SdTask updateTask = new SdTask();
|
|
|
+ SdWorkflowTask updateTask = new SdWorkflowTask();
|
|
|
updateTask.setId(sdTask.getId());
|
|
|
updateTask.setTaskStatus(TaskStatusEnum.PRE_PROCESSING.getValue());
|
|
|
- int updateRows = sdTaskMapper.updateById(updateTask);
|
|
|
+ int updateRows = sdWorkflowTaskMapper.updateById(updateTask);
|
|
|
log.info("initTaskStatusCheck status:{} task update rows:{}", TaskStatusEnum.INIT.getDesc(), updateRows);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
@@ -264,55 +258,56 @@ public class TaskServiceImpl implements TaskService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void taskExecuteHandler() {
|
|
|
+ public void workflowTaskExecuteHandler() {
|
|
|
long start = System.nanoTime();
|
|
|
- log.info("taskExecuteHandler start");
|
|
|
+ log.info("workflowTaskExecuteHandler start");
|
|
|
//查询可以执行的任务
|
|
|
- LambdaQueryWrapper<SdTask> wrapper = Wrappers.lambdaQuery(SdTask.class)
|
|
|
- .eq(SdTask::getIsDeleted, IsDeleteEnum.NORMAL.getValue())
|
|
|
- .eq(SdTask::getTaskStatus, TaskStatusEnum.READY.getValue());
|
|
|
- List<SdTask> tasks = sdTaskMapper.selectList(wrapper);
|
|
|
+ LambdaQueryWrapper<SdWorkflowTask> wrapper = Wrappers.lambdaQuery(SdWorkflowTask.class)
|
|
|
+ .eq(SdWorkflowTask::getIsDeleted, IsDeleteEnum.NORMAL.getValue())
|
|
|
+ .eq(SdWorkflowTask::getTaskStatus, TaskStatusEnum.READY.getValue());
|
|
|
+ List<SdWorkflowTask> tasks = sdWorkflowTaskMapper.selectList(wrapper);
|
|
|
if (Objects.isNull(tasks) || tasks.isEmpty()) {
|
|
|
- log.info("taskExecuteHandler tasks is empty");
|
|
|
+ log.info("workflowTaskExecuteHandler tasks is empty");
|
|
|
return;
|
|
|
}
|
|
|
- for (SdTask sdTask : tasks) {
|
|
|
+ for (SdWorkflowTask sdWorkflowTask : tasks) {
|
|
|
try {
|
|
|
//提取需求
|
|
|
- SdStrategy strategy = sdStrategyMapper.selectById(sdTask.getStrategyId());
|
|
|
+ SdStrategy strategy = sdStrategyMapper.selectById(sdWorkflowTask.getStrategyId());
|
|
|
if (Objects.isNull(strategy)) {
|
|
|
- log.info("taskExecuteHandler strategy is null");
|
|
|
+ log.info("workflowTaskExecuteHandler strategy is null");
|
|
|
return;
|
|
|
}
|
|
|
- DemandExtractionStrategy demandExtractionStrategy = strategyMap.get(sdTask.getTaskType());
|
|
|
- StrategyResultDTO strategyResultDTO = demandExtractionStrategy.execute(sdTask, strategy);
|
|
|
+ //TODO
|
|
|
+ DemandExtractionStrategy demandExtractionStrategy = strategyMap.get("");
|
|
|
+ StrategyResultDTO strategyResultDTO = demandExtractionStrategy.execute(sdWorkflowTask, strategy);
|
|
|
if (Objects.isNull(strategyResultDTO)) {
|
|
|
- SdTask updateTask = new SdTask();
|
|
|
- updateTask.setId(sdTask.getId());
|
|
|
+ SdWorkflowTask updateTask = new SdWorkflowTask();
|
|
|
+ updateTask.setId(sdWorkflowTask.getId());
|
|
|
updateTask.setTaskStatus(TaskStatusEnum.FAILED.getValue());
|
|
|
updateTask.setErrorMsg("");
|
|
|
- int updateRows = sdTaskMapper.updateById(updateTask);
|
|
|
+ int updateRows = sdWorkflowTaskMapper.updateById(updateTask);
|
|
|
log.info("");
|
|
|
continue;
|
|
|
}
|
|
|
//成功
|
|
|
- SdTaskResult sdTaskResult = new SdTaskResult();
|
|
|
- sdTaskResult.setTaskId(sdTask.getId());
|
|
|
+ SdWorkflowTaskResult sdTaskResult = new SdWorkflowTaskResult();
|
|
|
+// sdTaskResult.setTaskId(sdTask.getId());
|
|
|
sdTaskResult.setResult(strategyResultDTO.getResult());
|
|
|
- int rows = sdTaskResultMapper.insert(sdTaskResult);
|
|
|
+ int rows = sdWorkflowTaskResultMapper.insert(sdTaskResult);
|
|
|
log.info("taskResult insert rows:{}", rows);
|
|
|
if (rows > 0) {
|
|
|
- SdTask updateTask = new SdTask();
|
|
|
- updateTask.setId(sdTask.getId());
|
|
|
+ SdWorkflowTask updateTask = new SdWorkflowTask();
|
|
|
+ updateTask.setId(sdWorkflowTask.getId());
|
|
|
updateTask.setTaskStatus(TaskStatusEnum.SUCCESS.getValue());
|
|
|
- int updateRows = sdTaskMapper.updateById(updateTask);
|
|
|
+ int updateRows = sdWorkflowTaskMapper.updateById(updateTask);
|
|
|
log.info("task success update rows:{}", updateRows);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
- log.error("taskExecuteHandler error", e);
|
|
|
+ log.error("workflowTaskExecuteHandler error", e);
|
|
|
}
|
|
|
}
|
|
|
long costMs = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - start);
|
|
|
- log.info("taskExecuteHandler finish cost={}ms", costMs);
|
|
|
+ log.info("workflowTaskExecuteHandler finish cost={}ms", costMs);
|
|
|
}
|
|
|
}
|