优化获取任务模型兼容历史情况

This commit is contained in:
hubin 2024-04-11 13:41:05 +08:00
parent c4c05fb12a
commit 5401795039
5 changed files with 20 additions and 16 deletions

View File

@ -43,6 +43,7 @@ public class TaskServiceImpl implements TaskService {
private final FlwProcessMapper processMapper;
private final TaskListener taskListener;
private final FlwInstanceMapper instanceMapper;
private final FlwExtInstanceMapper extInstanceMapper;
private final FlwHisInstanceMapper hisInstanceMapper;
private final FlwTaskMapper taskMapper;
private final FlwTaskActorMapper taskActorMapper;
@ -50,13 +51,14 @@ public class TaskServiceImpl implements TaskService {
private final FlwHisTaskActorMapper hisTaskActorMapper;
public TaskServiceImpl(TaskAccessStrategy taskAccessStrategy, TaskListener taskListener, FlwProcessMapper processMapper,
FlwInstanceMapper instanceMapper, FlwHisInstanceMapper hisInstanceMapper, FlwTaskMapper taskMapper,
FlwTaskActorMapper taskActorMapper, FlwHisTaskMapper hisTaskMapper,
FlwInstanceMapper instanceMapper, FlwExtInstanceMapper extInstanceMapper, FlwHisInstanceMapper hisInstanceMapper,
FlwTaskMapper taskMapper, FlwTaskActorMapper taskActorMapper, FlwHisTaskMapper hisTaskMapper,
FlwHisTaskActorMapper hisTaskActorMapper) {
this.taskAccessStrategy = taskAccessStrategy;
this.processMapper = processMapper;
this.taskListener = taskListener;
this.instanceMapper = instanceMapper;
this.extInstanceMapper = extInstanceMapper;
this.hisInstanceMapper = hisInstanceMapper;
this.taskMapper = taskMapper;
this.taskActorMapper = taskActorMapper;
@ -560,11 +562,12 @@ public class TaskServiceImpl implements TaskService {
*/
@Override
public NodeModel getTaskModel(Long taskId) {
FlwTask flwTask = hisTaskMapper.getCheckById(taskId);
FlwInstance flwInstance = hisInstanceMapper.selectById(flwTask.getInstanceId());
Assert.isNull(flwInstance);
FlwProcess process = processMapper.selectById(flwInstance.getProcessId());
ProcessModel model = process.model();
FlwTask flwTask = hisTaskMapper.selectById(taskId);
if (null == flwTask) {
flwTask = taskMapper.getCheckById(taskId);
}
FlwExtInstance extInstance = extInstanceMapper.selectById(flwTask.getInstanceId());
ProcessModel model = extInstance.model();
NodeModel nodeModel = model.getNode(flwTask.getTaskName());
Assert.isNull(nodeModel, "任务ID无法找到节点模型.");
return nodeModel;

View File

@ -48,10 +48,10 @@ public class FlowLongAutoConfiguration {
@Bean
@Condition(onMissingBean = TaskService.class)
public TaskService taskService(@Inject(required = false) TaskAccessStrategy taskAccessStrategy, @Inject(required = false) TaskListener taskListener,
FlwProcessMapper processMapper, FlwInstanceMapper instanceMapper, FlwHisInstanceMapper hisInstanceMapper,
FlwTaskMapper taskMapper, FlwTaskActorMapper taskActorMapper, FlwHisTaskMapper hisTaskMapper,
FlwHisTaskActorMapper hisTaskActorMapper) {
return new TaskServiceImpl(taskAccessStrategy, taskListener, processMapper, instanceMapper, hisInstanceMapper,
FlwProcessMapper processMapper, FlwInstanceMapper instanceMapper, FlwExtInstanceMapper extInstanceMapper,
FlwHisInstanceMapper hisInstanceMapper, FlwTaskMapper taskMapper, FlwTaskActorMapper taskActorMapper,
FlwHisTaskMapper hisTaskMapper, FlwHisTaskActorMapper hisTaskActorMapper) {
return new TaskServiceImpl(taskAccessStrategy, taskListener, processMapper, instanceMapper, extInstanceMapper, hisInstanceMapper,
taskMapper, taskActorMapper, hisTaskMapper, hisTaskActorMapper);
}

View File

@ -54,10 +54,10 @@ public class FlowLongAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public TaskService taskService(@Autowired(required = false) TaskAccessStrategy taskAccessStrategy, @Autowired(required = false) TaskListener taskListener,
FlwProcessMapper processMapper, FlwInstanceMapper instanceMapper, FlwHisInstanceMapper hisInstanceMapper,
FlwTaskMapper taskMapper, FlwTaskActorMapper taskActorMapper, FlwHisTaskMapper hisTaskMapper,
FlwHisTaskActorMapper hisTaskActorMapper) {
return new TaskServiceImpl(taskAccessStrategy, taskListener, processMapper, instanceMapper, hisInstanceMapper,
FlwProcessMapper processMapper, FlwInstanceMapper instanceMapper, FlwExtInstanceMapper extInstanceMapper,
FlwHisInstanceMapper hisInstanceMapper, FlwTaskMapper taskMapper, FlwTaskActorMapper taskActorMapper,
FlwHisTaskMapper hisTaskMapper, FlwHisTaskActorMapper hisTaskActorMapper) {
return new TaskServiceImpl(taskAccessStrategy, taskListener, processMapper, instanceMapper, extInstanceMapper, hisInstanceMapper,
taskMapper, taskActorMapper, hisTaskMapper, hisTaskActorMapper);
}

View File

@ -21,7 +21,6 @@ import java.util.function.Consumer;
/**
* Mysql 测试基类
*/
@Transactional
@ExtendWith(SpringExtension.class)
@ContextConfiguration(locations = {"classpath:spring-test-mysql.xml"})
public class MysqlTest extends TestFlowLong {

View File

@ -5,6 +5,7 @@ import com.aizuda.bpm.engine.entity.FlwInstance;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.transaction.annotation.Transactional;
import java.util.Optional;
@ -14,6 +15,7 @@ import java.util.Optional;
* @author songyinyin
* @since 2024/4/8 上午9:52
*/
@Transactional
public class TestRedeployProcess extends MysqlTest {
@BeforeEach