feat(REQ-3383) - 优化机器人节点完成时,可能导致数据一致的问题

This commit is contained in:
wangli 2024-12-10 11:23:20 +08:00
parent a26557305c
commit cc1c6d9920
3 changed files with 11 additions and 2 deletions

View File

@ -136,7 +136,7 @@ public class CustomCreateDummyTaskCmd extends AbstractCommand<String> implements
CustomTaskHelper.createExtTaskInst(extAxHiTaskInstService, processInstanceId, task.getId(), CustomTaskHelper.createExtTaskInst(extAxHiTaskInstService, processInstanceId, task.getId(),
NODE_ROBOT.getType(), NODE_ROBOT.getType(),
Objects.isNull(operator) ? BpmnTaskDelegateAssigner.buildDummyAssigner("system", Objects.isNull(operator) ? BpmnTaskDelegateAssigner.buildDummyAssigner("system",
TASK_ASSIGNEE_SKIP_FLAT, "系统") : operator, TASK_ASSIGNEE_SKIP_FLAT, "") : operator,
BpmnProcessInstanceResultEnum.PROCESSING.getStatus()); BpmnProcessInstanceResultEnum.PROCESSING.getStatus());
return task.getId(); return task.getId();
} }

View File

@ -55,6 +55,11 @@ public interface ExtAxProcessLogService {
List<ExtAxProcessLog> genericQuery(ExtAxProcessLog query); List<ExtAxProcessLog> genericQuery(ExtAxProcessLog query);
/**
* 机器人节点会删除日志这里仅仅为了恢复日志都删除标识并更新时间
* @param processInstanceId
* @param taskId
*/
void restore(String processInstanceId, String taskId); void restore(String processInstanceId, String taskId);
void batchRestore(List<SimpleTaskDTO> tasks); void batchRestore(List<SimpleTaskDTO> tasks);

View File

@ -90,7 +90,11 @@ public class ExtAxProcessLogServiceImpl implements ExtAxProcessLogService {
if (CollectionUtils.isEmpty(tasks)) { if (CollectionUtils.isEmpty(tasks)) {
return; return;
} }
tasks.forEach(task -> extAxProcessLogMapper.restore(task.getProcessInstanceId(), task.getTaskId())); tasks.forEach(task -> {
if (StringUtils.hasText(task.getProcessInstanceId()) && StringUtils.hasText(task.getTaskId())) {
extAxProcessLogMapper.restore(task.getProcessInstanceId(), task.getTaskId());
}
});
} }
LambdaQueryWrapper<ExtAxProcessLog> buildQueryWrapper(ExtAxProcessLog log) { LambdaQueryWrapper<ExtAxProcessLog> buildQueryWrapper(ExtAxProcessLog log) {