This is an automated email from the ASF dual-hosted git repository.
SbloodyS pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new 4f42022ac7 [Improvement-18249][DAO] Route TaskInstanceMapper access
through TaskInstanceDao (#18252)
4f42022ac7 is described below
commit 4f42022ac78cbf7436ddb771fad5a931a4441b2e
Author: Wenjun Ruan <[email protected]>
AuthorDate: Fri May 15 11:37:14 2026 +0800
[Improvement-18249][DAO] Route TaskInstanceMapper access through
TaskInstanceDao (#18252)
---
.../impl/TaskInstancesAuditOperatorImpl.java | 6 +--
.../api/service/impl/DataAnalysisServiceImpl.java | 8 ++--
.../api/service/impl/TaskInstanceServiceImpl.java | 16 +++----
.../impl/WorkflowDefinitionServiceImpl.java | 6 +--
.../service/impl/WorkflowInstanceServiceImpl.java | 8 +---
.../api/service/DataAnalysisServiceTest.java | 8 ++--
.../api/service/TaskInstanceServiceTest.java | 12 ++---
.../api/service/WorkflowDefinitionServiceTest.java | 4 +-
.../api/service/WorkflowInstanceServiceTest.java | 4 --
.../dao/repository/TaskInstanceDao.java | 40 ++++++++++++++++
.../dao/repository/impl/TaskInstanceDaoImpl.java | 53 ++++++++++++++++++++++
11 files changed, 121 insertions(+), 44 deletions(-)
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/audit/operator/impl/TaskInstancesAuditOperatorImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/audit/operator/impl/TaskInstancesAuditOperatorImpl.java
index 8d888b7e57..10fcf36ac8 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/audit/operator/impl/TaskInstancesAuditOperatorImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/audit/operator/impl/TaskInstancesAuditOperatorImpl.java
@@ -19,7 +19,7 @@ package org.apache.dolphinscheduler.api.audit.operator.impl;
import org.apache.dolphinscheduler.api.audit.operator.BaseAuditOperator;
import org.apache.dolphinscheduler.dao.entity.TaskInstance;
-import org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper;
+import org.apache.dolphinscheduler.dao.repository.TaskInstanceDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -28,7 +28,7 @@ import org.springframework.stereotype.Service;
public class TaskInstancesAuditOperatorImpl extends BaseAuditOperator {
@Autowired
- private TaskInstanceMapper taskInstanceMapper;
+ private TaskInstanceDao taskInstanceDao;
@Override
protected String getObjectNameFromIdentity(Object identity) {
@@ -37,7 +37,7 @@ public class TaskInstancesAuditOperatorImpl extends
BaseAuditOperator {
return "";
}
- TaskInstance obj = taskInstanceMapper.selectById(objId);
+ TaskInstance obj = taskInstanceDao.queryById(objId);
return obj == null ? "" : obj.getName();
}
}
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
index 98aba99747..66c6ba7752 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
@@ -36,12 +36,12 @@ import org.apache.dolphinscheduler.dao.entity.Project;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.mapper.CommandMapper;
import org.apache.dolphinscheduler.dao.mapper.ErrorCommandMapper;
-import org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper;
import org.apache.dolphinscheduler.dao.mapper.WorkflowInstanceMapper;
import org.apache.dolphinscheduler.dao.model.TaskInstanceStatusCountDto;
import org.apache.dolphinscheduler.dao.model.WorkflowDefinitionCountDto;
import org.apache.dolphinscheduler.dao.model.WorkflowInstanceStatusCountDto;
import org.apache.dolphinscheduler.dao.repository.ProjectDao;
+import org.apache.dolphinscheduler.dao.repository.TaskInstanceDao;
import org.apache.dolphinscheduler.dao.repository.WorkflowDefinitionDao;
import org.apache.commons.collections4.CollectionUtils;
@@ -88,7 +88,7 @@ public class DataAnalysisServiceImpl extends BaseServiceImpl
implements DataAnal
private ErrorCommandMapper errorCommandMapper;
@Autowired
- private TaskInstanceMapper taskInstanceMapper;
+ private TaskInstanceDao taskInstanceDao;
@Override
public TaskInstanceCountVO getTaskInstanceStateCountByProject(User
loginUser,
@@ -99,7 +99,7 @@ public class DataAnalysisServiceImpl extends BaseServiceImpl
implements DataAnal
Date start = startDate == null ? null : transformDate(startDate);
Date end = endDate == null ? null : transformDate(endDate);
List<TaskInstanceStatusCountDto> taskInstanceStatusCounts =
- taskInstanceMapper.countTaskInstanceStateByProjectCodes(start,
end, Lists.newArrayList(projectCode));
+ taskInstanceDao.countTaskInstanceStateByProjectCodes(start,
end, Lists.newArrayList(projectCode));
return TaskInstanceCountVO.of(taskInstanceStatusCounts);
}
@@ -114,7 +114,7 @@ public class DataAnalysisServiceImpl extends
BaseServiceImpl implements DataAnal
Date start = startDate == null ? null : transformDate(startDate);
Date end = endDate == null ? null : transformDate(endDate);
List<TaskInstanceStatusCountDto> taskInstanceStatusCounts =
- taskInstanceMapper.countTaskInstanceStateByProjectCodes(start,
end, projectCodes);
+ taskInstanceDao.countTaskInstanceStateByProjectCodes(start,
end, projectCodes);
return TaskInstanceCountVO.of(taskInstanceStatusCounts);
}
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskInstanceServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskInstanceServiceImpl.java
index 2881d7b922..6bca977281 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskInstanceServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskInstanceServiceImpl.java
@@ -34,7 +34,6 @@ import org.apache.dolphinscheduler.dao.entity.Project;
import org.apache.dolphinscheduler.dao.entity.TaskInstance;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.entity.WorkflowInstance;
-import org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper;
import org.apache.dolphinscheduler.dao.repository.ProjectDao;
import org.apache.dolphinscheduler.dao.repository.TaskInstanceDao;
import org.apache.dolphinscheduler.dao.repository.WorkflowInstanceDao;
@@ -78,9 +77,6 @@ public class TaskInstanceServiceImpl extends BaseServiceImpl
implements TaskInst
@Autowired
ProcessService processService;
- @Autowired
- TaskInstanceMapper taskInstanceMapper;
-
@Autowired
TaskInstanceDao taskInstanceDao;
@@ -141,7 +137,7 @@ public class TaskInstanceServiceImpl extends
BaseServiceImpl implements TaskInst
IPage<TaskInstance> taskInstanceIPage;
if (taskExecuteType == TaskExecuteType.STREAM) {
// stream task without workflow instance
- taskInstanceIPage =
taskInstanceMapper.queryStreamTaskInstanceListPaging(
+ taskInstanceIPage =
taskInstanceDao.queryStreamTaskInstanceListPaging(
page,
projectCode,
workflowDefinitionName,
@@ -155,7 +151,7 @@ public class TaskInstanceServiceImpl extends
BaseServiceImpl implements TaskInst
start,
end);
} else {
- taskInstanceIPage = taskInstanceMapper.queryTaskInstanceListPaging(
+ taskInstanceIPage = taskInstanceDao.queryTaskInstanceListPaging(
page,
projectCode,
workflowInstanceId,
@@ -226,8 +222,8 @@ public class TaskInstanceServiceImpl extends
BaseServiceImpl implements TaskInst
// change the state of the task instance
task.setState(TaskExecutionStatus.FORCED_SUCCESS);
task.setEndTime(new Date());
- int changedNum = taskInstanceMapper.updateById(task);
- if (changedNum <= 0) {
+ boolean changed = taskInstanceDao.updateById(task);
+ if (!changed) {
throw new ServiceException(Status.FORCE_TASK_SUCCESS_ERROR);
}
processService.forceWorkflowInstanceSuccessByTaskInstanceId(task);
@@ -242,7 +238,7 @@ public class TaskInstanceServiceImpl extends
BaseServiceImpl implements TaskInst
// check user access for project
projectService.checkProjectAndAuthThrowException(loginUser, project,
FORCED_SUCCESS);
- TaskInstance taskInstance =
taskInstanceMapper.selectById(taskInstanceId);
+ TaskInstance taskInstance = taskInstanceDao.queryById(taskInstanceId);
if (taskInstance == null) {
log.error("Task definition can not be found, projectCode:{},
taskInstanceId:{}.", projectCode,
taskInstanceId);
@@ -266,7 +262,7 @@ public class TaskInstanceServiceImpl extends
BaseServiceImpl implements TaskInst
// check user access for project
projectService.checkProjectAndAuthThrowException(loginUser, project,
FORCED_SUCCESS);
- TaskInstance taskInstance =
taskInstanceMapper.selectById(taskInstanceId);
+ TaskInstance taskInstance = taskInstanceDao.queryById(taskInstanceId);
if (taskInstance == null) {
log.error("Task definition can not be found, projectCode:{},
taskInstanceId:{}.", projectCode,
taskInstanceId);
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkflowDefinitionServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkflowDefinitionServiceImpl.java
index eb7f4d38c3..a29947d122 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkflowDefinitionServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkflowDefinitionServiceImpl.java
@@ -79,7 +79,6 @@ import
org.apache.dolphinscheduler.dao.entity.WorkflowTaskRelation;
import org.apache.dolphinscheduler.dao.entity.WorkflowTaskRelationLog;
import org.apache.dolphinscheduler.dao.mapper.TaskDefinitionLogMapper;
import org.apache.dolphinscheduler.dao.mapper.TaskDefinitionMapper;
-import org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper;
import org.apache.dolphinscheduler.dao.mapper.UserMapper;
import org.apache.dolphinscheduler.dao.mapper.WorkflowDefinitionLogMapper;
import org.apache.dolphinscheduler.dao.mapper.WorkflowTaskRelationLogMapper;
@@ -88,6 +87,7 @@ import
org.apache.dolphinscheduler.dao.model.PageListingResult;
import org.apache.dolphinscheduler.dao.repository.ProjectDao;
import org.apache.dolphinscheduler.dao.repository.ScheduleDao;
import org.apache.dolphinscheduler.dao.repository.TaskDefinitionLogDao;
+import org.apache.dolphinscheduler.dao.repository.TaskInstanceDao;
import org.apache.dolphinscheduler.dao.repository.WorkflowDefinitionDao;
import org.apache.dolphinscheduler.dao.repository.WorkflowDefinitionLogDao;
import
org.apache.dolphinscheduler.plugin.task.api.model.ConditionDependentItem;
@@ -169,7 +169,7 @@ public class WorkflowDefinitionServiceImpl extends
BaseServiceImpl implements Wo
private WorkflowInstanceService workflowInstanceService;
@Autowired
- private TaskInstanceMapper taskInstanceMapper;
+ private TaskInstanceDao taskInstanceDao;
@Autowired
private ScheduleDao scheduleDao;
@@ -1168,7 +1168,7 @@ public class WorkflowDefinitionServiceImpl extends
BaseServiceImpl implements Wo
for (int i = limit - 1; i >= 0; i--) {
WorkflowInstance workflowInstance =
workflowInstanceList.get(i);
TaskInstance taskInstance =
-
taskInstanceMapper.queryByInstanceIdAndCode(workflowInstance.getId(), nodeCode);
+
taskInstanceDao.queryByWorkflowInstanceIdAndTaskCode(workflowInstance.getId(),
nodeCode);
if (taskInstance == null) {
treeViewDto.getInstances().add(new Instance(-1, "not
running", 0, "null"));
} else {
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkflowInstanceServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkflowInstanceServiceImpl.java
index 4a7f6a6a53..4cf2c553b9 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkflowInstanceServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkflowInstanceServiceImpl.java
@@ -67,7 +67,6 @@ import
org.apache.dolphinscheduler.dao.entity.WorkflowTaskRelationLog;
import org.apache.dolphinscheduler.dao.mapper.RelationSubWorkflowMapper;
import org.apache.dolphinscheduler.dao.mapper.TaskDefinitionLogMapper;
import org.apache.dolphinscheduler.dao.mapper.TaskDefinitionMapper;
-import org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper;
import org.apache.dolphinscheduler.dao.mapper.WorkflowDefinitionLogMapper;
import org.apache.dolphinscheduler.dao.mapper.WorkflowInstanceMapper;
import org.apache.dolphinscheduler.dao.repository.ProjectDao;
@@ -150,9 +149,6 @@ public class WorkflowInstanceServiceImpl extends
BaseServiceImpl implements Work
@Autowired
WorkflowDefinitionService workflowDefinitionService;
- @Autowired
- TaskInstanceMapper taskInstanceMapper;
-
@Autowired
WorkflowDefinitionLogMapper workflowDefinitionLogMapper;
@@ -680,7 +676,7 @@ public class WorkflowInstanceServiceImpl extends
BaseServiceImpl implements Work
// Fetch valid task instances for the workflow
List<TaskInstance> taskInstanceList =
-
taskInstanceMapper.findValidTaskListByWorkflowInstanceId(workflowInstance.getId(),
Flag.YES);
+
taskInstanceDao.queryValidTaskListByWorkflowInstanceId(workflowInstance.getId());
for (TaskInstance taskInstance : taskInstanceList) {
TaskDefinitionLog taskDefinitionLog =
taskDefinitionLogMapper.queryByDefinitionCodeAndVersion(
@@ -734,7 +730,7 @@ public class WorkflowInstanceServiceImpl extends
BaseServiceImpl implements Work
List<Task> taskList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(nodeList)) {
- List<TaskInstance> taskInstances =
taskInstanceMapper.queryByWorkflowInstanceIdsAndTaskCodes(
+ List<TaskInstance> taskInstances =
taskInstanceDao.queryByWorkflowInstanceIdsAndTaskCodes(
Collections.singletonList(workflowInstanceId), nodeList);
for (Long node : nodeList) {
TaskInstance taskInstance = null;
diff --git
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataAnalysisServiceTest.java
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataAnalysisServiceTest.java
index 82e1a12a4e..84e2e56895 100644
---
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataAnalysisServiceTest.java
+++
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/DataAnalysisServiceTest.java
@@ -46,9 +46,9 @@ import org.apache.dolphinscheduler.dao.entity.Project;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.mapper.CommandMapper;
import org.apache.dolphinscheduler.dao.mapper.ErrorCommandMapper;
-import org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper;
import org.apache.dolphinscheduler.dao.mapper.WorkflowInstanceMapper;
import org.apache.dolphinscheduler.dao.repository.ProjectDao;
+import org.apache.dolphinscheduler.dao.repository.TaskInstanceDao;
import org.apache.dolphinscheduler.dao.repository.WorkflowDefinitionDao;
import org.apache.dolphinscheduler.plugin.task.api.enums.TaskExecutionStatus;
@@ -104,7 +104,7 @@ public class DataAnalysisServiceTest {
ErrorCommandMapper errorCommandMapper;
@Mock
- TaskInstanceMapper taskInstanceMapper;
+ TaskInstanceDao taskInstanceDao;
@Mock
private ResourcePermissionCheckService resourcePermissionCheckService;
@@ -192,7 +192,7 @@ public class DataAnalysisServiceTest {
user.setUserType(UserType.GENERAL_USER);
when(resourcePermissionCheckService.userOwnedResourceIdsAcquisition(AuthorizationType.PROJECTS,
1,
serviceLogger)).thenReturn(projectIds());
- when(taskInstanceMapper.countTaskInstanceStateByProjectCodes(any(),
any(), any()))
+ when(taskInstanceDao.countTaskInstanceStateByProjectCodes(any(),
any(), any()))
.thenReturn(Collections.emptyList());
assertDoesNotThrow(() ->
dataAnalysisServiceImpl.getTaskInstanceStateCountByProject(user, 1L, null,
null));
@@ -206,7 +206,7 @@ public class DataAnalysisServiceTest {
// when instanceStateCounter return null, then return nothing
user.setUserType(UserType.GENERAL_USER);
- when(taskInstanceMapper.countTaskInstanceStateByProjectCodes(any(),
any(), any()))
+ when(taskInstanceDao.countTaskInstanceStateByProjectCodes(any(),
any(), any()))
.thenReturn(Collections.emptyList());
TaskInstanceCountVO taskInstanceStateCountByProject =
dataAnalysisServiceImpl.getTaskInstanceStateCountByProject(user, 1L, null,
null);
diff --git
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/TaskInstanceServiceTest.java
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/TaskInstanceServiceTest.java
index bed4f7fb20..a977a3a6c1 100644
---
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/TaskInstanceServiceTest.java
+++
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/TaskInstanceServiceTest.java
@@ -40,7 +40,6 @@ import org.apache.dolphinscheduler.dao.entity.Project;
import org.apache.dolphinscheduler.dao.entity.TaskInstance;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.entity.WorkflowInstance;
-import org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper;
import org.apache.dolphinscheduler.dao.repository.ProjectDao;
import org.apache.dolphinscheduler.dao.repository.TaskInstanceDao;
import org.apache.dolphinscheduler.dao.repository.WorkflowInstanceDao;
@@ -83,9 +82,6 @@ public class TaskInstanceServiceTest {
@Mock
ProcessService processService;
- @Mock
- TaskInstanceMapper taskInstanceMapper;
-
@Mock
UsersService usersService;
@@ -156,7 +152,7 @@ public class TaskInstanceServiceTest {
doNothing().when(projectService).checkProjectAndAuthThrowException(loginUser,
projectCode, TASK_INSTANCE);
when(usersService.queryUser(loginUser.getId())).thenReturn(loginUser);
when(usersService.getUserIdByName(loginUser.getUserName())).thenReturn(loginUser.getId());
- when(taskInstanceMapper.queryTaskInstanceListPaging(
+ when(taskInstanceDao.queryTaskInstanceListPaging(
Mockito.any(),
Mockito.any(),
Mockito.any(),
@@ -194,7 +190,7 @@ public class TaskInstanceServiceTest {
Assertions.assertEquals(Status.SUCCESS.getCode(), (int)
successRes.getCode());
// executor name empty
- when(taskInstanceMapper.queryTaskInstanceListPaging(
+ when(taskInstanceDao.queryTaskInstanceListPaging(
Mockito.any(Page.class), eq(project.getCode()), eq(1),
eq(""), eq(""), eq(""), eq(null),
eq(""), Mockito.any(), eq("192.168.xx.xx"),
eq(TaskExecuteType.BATCH), eq(start), eq(end)))
@@ -215,7 +211,7 @@ public class TaskInstanceServiceTest {
Assertions.assertEquals(Status.SUCCESS.getCode(), (int)
executorNullRes.getCode());
// start/end date null
-
when(taskInstanceMapper.queryTaskInstanceListPaging(Mockito.any(Page.class),
eq(project.getCode()), eq(1),
+
when(taskInstanceDao.queryTaskInstanceListPaging(Mockito.any(Page.class),
eq(project.getCode()), eq(1),
eq(""), eq(""), eq(""), eq(null),
eq(""), Mockito.any(), eq("192.168.xx.xx"),
eq(TaskExecuteType.BATCH), any(), any()))
.thenReturn(pageReturn);
@@ -224,7 +220,7 @@ public class TaskInstanceServiceTest {
Assertions.assertEquals(Status.SUCCESS.getCode(), (int)
executorNullDateRes.getCode());
// start date error format
-
when(taskInstanceMapper.queryTaskInstanceListPaging(Mockito.any(Page.class),
eq(project.getCode()), eq(1),
+
when(taskInstanceDao.queryTaskInstanceListPaging(Mockito.any(Page.class),
eq(project.getCode()), eq(1),
eq(""), eq(""), eq(""), eq(null),
eq(""), Mockito.any(), eq("192.168.xx.xx"),
eq(TaskExecuteType.BATCH), any(), any()))
.thenReturn(pageReturn);
diff --git
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/WorkflowDefinitionServiceTest.java
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/WorkflowDefinitionServiceTest.java
index 8fb69e278b..860b40002e 100644
---
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/WorkflowDefinitionServiceTest.java
+++
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/WorkflowDefinitionServiceTest.java
@@ -62,7 +62,6 @@ import
org.apache.dolphinscheduler.dao.entity.WorkflowDefinition;
import org.apache.dolphinscheduler.dao.entity.WorkflowTaskRelation;
import org.apache.dolphinscheduler.dao.mapper.TaskDefinitionLogMapper;
import org.apache.dolphinscheduler.dao.mapper.TaskDefinitionMapper;
-import org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper;
import org.apache.dolphinscheduler.dao.mapper.UserMapper;
import org.apache.dolphinscheduler.dao.mapper.WorkflowDefinitionLogMapper;
import org.apache.dolphinscheduler.dao.mapper.WorkflowTaskRelationLogMapper;
@@ -71,6 +70,7 @@ import
org.apache.dolphinscheduler.dao.model.PageListingResult;
import org.apache.dolphinscheduler.dao.repository.ProjectDao;
import org.apache.dolphinscheduler.dao.repository.ScheduleDao;
import org.apache.dolphinscheduler.dao.repository.TaskDefinitionLogDao;
+import org.apache.dolphinscheduler.dao.repository.TaskInstanceDao;
import org.apache.dolphinscheduler.dao.repository.WorkflowDefinitionDao;
import org.apache.dolphinscheduler.dao.repository.WorkflowDefinitionLogDao;
import org.apache.dolphinscheduler.dao.utils.WorkerGroupUtils;
@@ -174,7 +174,7 @@ public class WorkflowDefinitionServiceTest extends
BaseServiceTestTool {
private WorkflowInstanceService workflowInstanceService;
@Mock
- private TaskInstanceMapper taskInstanceMapper;
+ private TaskInstanceDao taskInstanceDao;
@Mock
private TaskDefinitionLogDao taskDefinitionLogDao;
diff --git
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/WorkflowInstanceServiceTest.java
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/WorkflowInstanceServiceTest.java
index 8f1416692b..d633083ab7 100644
---
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/WorkflowInstanceServiceTest.java
+++
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/WorkflowInstanceServiceTest.java
@@ -58,7 +58,6 @@ import
org.apache.dolphinscheduler.dao.entity.WorkflowDefinition;
import org.apache.dolphinscheduler.dao.entity.WorkflowDefinitionLog;
import org.apache.dolphinscheduler.dao.entity.WorkflowInstance;
import org.apache.dolphinscheduler.dao.mapper.TaskDefinitionMapper;
-import org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper;
import org.apache.dolphinscheduler.dao.mapper.TenantMapper;
import org.apache.dolphinscheduler.dao.mapper.WorkflowDefinitionLogMapper;
import org.apache.dolphinscheduler.dao.mapper.WorkflowInstanceMapper;
@@ -149,9 +148,6 @@ public class WorkflowInstanceServiceTest {
@Mock
private TaskInstanceContextDao taskInstanceContextDao;
- @Mock
- TaskInstanceMapper taskInstanceMapper;
-
@Mock
CuringParamsService curingGlobalParamsService;
diff --git
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/TaskInstanceDao.java
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/TaskInstanceDao.java
index 39b2a073d7..978dc0103b 100644
---
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/TaskInstanceDao.java
+++
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/TaskInstanceDao.java
@@ -17,13 +17,19 @@
package org.apache.dolphinscheduler.dao.repository;
+import org.apache.dolphinscheduler.common.enums.TaskExecuteType;
import org.apache.dolphinscheduler.dao.entity.TaskInstance;
import org.apache.dolphinscheduler.dao.entity.WorkflowInstance;
+import org.apache.dolphinscheduler.dao.model.TaskInstanceStatusCountDto;
import org.apache.dolphinscheduler.plugin.task.api.enums.TaskExecutionStatus;
+import java.util.Collection;
+import java.util.Date;
import java.util.List;
import java.util.Set;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
public interface TaskInstanceDao extends IDao<TaskInstance> {
/**
@@ -101,4 +107,38 @@ public interface TaskInstanceDao extends
IDao<TaskInstance> {
void updateTaskInstanceState(Integer taskInstanceId, TaskExecutionStatus
originState,
TaskExecutionStatus targetState);
+
+ List<TaskInstanceStatusCountDto> countTaskInstanceStateByProjectCodes(Date
startTime,
+ Date
endTime,
+
Collection<Long> projectCodes);
+
+ List<TaskInstance> queryByWorkflowInstanceIdsAndTaskCodes(List<Integer>
workflowInstanceIds,
+ List<Long>
taskCodes);
+
+ IPage<TaskInstance> queryTaskInstanceListPaging(IPage<TaskInstance> page,
+ Long projectCode,
+ Integer workflowInstanceId,
+ String
workflowInstanceName,
+ String searchVal,
+ String taskName,
+ Long taskCode,
+ String executorName,
+ int[] statusArray,
+ String host,
+ TaskExecuteType
taskExecuteType,
+ Date startTime,
+ Date endTime);
+
+ IPage<TaskInstance> queryStreamTaskInstanceListPaging(IPage<TaskInstance>
page,
+ Long projectCode,
+ String
workflowDefinitionName,
+ String searchVal,
+ String taskName,
+ Long taskCode,
+ String executorName,
+ int[] statusArray,
+ String host,
+ TaskExecuteType
taskExecuteType,
+ Date startTime,
+ Date endTime);
}
diff --git
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/TaskInstanceDaoImpl.java
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/TaskInstanceDaoImpl.java
index c675f502aa..893ab06e5f 100644
---
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/TaskInstanceDaoImpl.java
+++
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/repository/impl/TaskInstanceDaoImpl.java
@@ -19,17 +19,20 @@ package org.apache.dolphinscheduler.dao.repository.impl;
import org.apache.dolphinscheduler.common.enums.FailureStrategy;
import org.apache.dolphinscheduler.common.enums.Flag;
+import org.apache.dolphinscheduler.common.enums.TaskExecuteType;
import org.apache.dolphinscheduler.common.enums.WorkflowExecutionStatus;
import org.apache.dolphinscheduler.dao.entity.TaskInstance;
import org.apache.dolphinscheduler.dao.entity.WorkflowInstance;
import org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper;
import org.apache.dolphinscheduler.dao.mapper.WorkflowInstanceMapper;
+import org.apache.dolphinscheduler.dao.model.TaskInstanceStatusCountDto;
import org.apache.dolphinscheduler.dao.repository.BaseDao;
import org.apache.dolphinscheduler.dao.repository.TaskInstanceDao;
import org.apache.dolphinscheduler.plugin.task.api.enums.TaskExecutionStatus;
import org.apache.commons.collections4.CollectionUtils;
+import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Set;
@@ -40,6 +43,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
/**
* Task Instance DAO implementation
*/
@@ -179,4 +184,52 @@ public class TaskInstanceDaoImpl extends
BaseDao<TaskInstance, TaskInstanceMappe
TaskExecutionStatus targetState) {
mybatisMapper.updateTaskInstanceState(taskInstanceId,
originState.getCode(), targetState.getCode());
}
+
+ @Override
+ public List<TaskInstanceStatusCountDto>
countTaskInstanceStateByProjectCodes(Date startTime,
+
Date endTime,
+
Collection<Long> projectCodes) {
+ return mybatisMapper.countTaskInstanceStateByProjectCodes(startTime,
endTime, projectCodes);
+ }
+
+ @Override
+ public List<TaskInstance>
queryByWorkflowInstanceIdsAndTaskCodes(List<Integer> workflowInstanceIds,
+
List<Long> taskCodes) {
+ return
mybatisMapper.queryByWorkflowInstanceIdsAndTaskCodes(workflowInstanceIds,
taskCodes);
+ }
+
+ @Override
+ public IPage<TaskInstance> queryTaskInstanceListPaging(IPage<TaskInstance>
page,
+ Long projectCode,
+ Integer
workflowInstanceId,
+ String
workflowInstanceName,
+ String searchVal,
+ String taskName,
+ Long taskCode,
+ String executorName,
+ int[] statusArray,
+ String host,
+ TaskExecuteType
taskExecuteType,
+ Date startTime,
+ Date endTime) {
+ return mybatisMapper.queryTaskInstanceListPaging(page, projectCode,
workflowInstanceId, workflowInstanceName,
+ searchVal, taskName, taskCode, executorName, statusArray,
host, taskExecuteType, startTime, endTime);
+ }
+
+ @Override
+ public IPage<TaskInstance>
queryStreamTaskInstanceListPaging(IPage<TaskInstance> page,
+ Long
projectCode,
+ String
workflowDefinitionName,
+ String
searchVal,
+ String
taskName,
+ Long taskCode,
+ String
executorName,
+ int[]
statusArray,
+ String host,
+
TaskExecuteType taskExecuteType,
+ Date
startTime,
+ Date endTime)
{
+ return mybatisMapper.queryStreamTaskInstanceListPaging(page,
projectCode, workflowDefinitionName, searchVal,
+ taskName, taskCode, executorName, statusArray, host,
taskExecuteType, startTime, endTime);
+ }
}