feat: add cancel task api
This commit is contained in:
parent
ad4b1d9fe0
commit
302c2b15dc
|
@ -94,4 +94,11 @@ public class ProjectController {
|
||||||
@RequestBody ProjectTaskListCondition condition) {
|
@RequestBody ProjectTaskListCondition condition) {
|
||||||
return JsonData.ok(projectService.listManualTasks(projectId, condition));
|
return JsonData.ok(projectService.listManualTasks(projectId, condition));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PatchMapping(Routes.GroupProject.CANCEL_MANUAL_TASK)
|
||||||
|
public JsonData<Void> cancelTask(@PathVariable Integer projectId,
|
||||||
|
@PathVariable Integer taskId) {
|
||||||
|
projectService.cancelTask(projectId, taskId);
|
||||||
|
return JsonData.ok();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,6 +72,8 @@ public interface Routes {
|
||||||
String TEST_CONNECTION = BASE + "/projects/test_connection";
|
String TEST_CONNECTION = BASE + "/projects/test_connection";
|
||||||
|
|
||||||
String LIST_MANUAL_TASKS = BASE + "/projects/{projectId}/list_manual_tasks";
|
String LIST_MANUAL_TASKS = BASE + "/projects/{projectId}/list_manual_tasks";
|
||||||
|
|
||||||
|
String CANCEL_MANUAL_TASK = BASE + "/projects/{projectId}/tasks/{taskId}/cancel";
|
||||||
}
|
}
|
||||||
|
|
||||||
interface Document {
|
interface Document {
|
||||||
|
|
|
@ -207,4 +207,15 @@ public class ProjectService {
|
||||||
var tasks = projectSyncTaskDao.selectList(condition.toCondition(projectId));
|
var tasks = projectSyncTaskDao.selectList(condition.toCondition(projectId));
|
||||||
return projectSimpleTaskResponseConverter.of(tasks);
|
return projectSimpleTaskResponseConverter.of(tasks);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void cancelTask(Integer projectId, Integer taskId) {
|
||||||
|
if (!projectDao.existsById(projectId)) {
|
||||||
|
throw DomainErrors.PROJECT_NOT_FOUND.exception();
|
||||||
|
}
|
||||||
|
projectSyncTaskDao.selectOptionalById(taskId).ifPresent(task -> {
|
||||||
|
if (task.getStatus() == ProjectSyncTaskStatus.NEW || task.getStatus() == ProjectSyncTaskStatus.RUNNING) {
|
||||||
|
projectSyncTaskDao.updateStatusAndResultById(taskId, ProjectSyncTaskStatus.CANCELED, "主动取消");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,5 +5,5 @@ public enum ProjectSyncTaskStatus {
|
||||||
RUNNING,
|
RUNNING,
|
||||||
FINISHED,
|
FINISHED,
|
||||||
FAILED,
|
FAILED,
|
||||||
CANCELLED
|
CANCELED
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue