From d162992167c8ba2b6e31c54af667959e66bfd32a Mon Sep 17 00:00:00 2001 From: zhuangdashia Date: Thu, 19 Jun 2025 14:26:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E9=A1=B5=E5=A2=9E=E5=8A=A0=E7=89=88=E6=9C=AC=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/web/controller/WorkflowController.java | 7 +++++++ .../server/web/service/WorkflowService.java | 2 ++ .../web/service/impl/WorkflowServiceImpl.java | 13 +++++++++++-- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/WorkflowController.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/WorkflowController.java index b3906a4a4..afe627ebe 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/WorkflowController.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/WorkflowController.java @@ -72,6 +72,13 @@ public class WorkflowController { return workflowService.getWorkflowHistoryDetail(id,version); } + @GetMapping("/history/del/{id}") + @LoginRequired(role = RoleEnum.USER) + public Boolean deleteById(@PathVariable("id") Long id, @RequestParam("version") String version) { + return workflowService.deleteHistoryById(id,version); + } + + @PutMapping @LoginRequired(role = RoleEnum.USER) public Boolean updateWorkflow(@RequestBody @Validated WorkflowRequestVO workflowRequestVO) { diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/WorkflowService.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/WorkflowService.java index 6f72458ab..b6a59c308 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/WorkflowService.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/WorkflowService.java @@ -47,4 +47,6 @@ public interface WorkflowService { List getWorkflowHistory(Long id); WorkflowDetailResponseVO getWorkflowHistoryDetail(Long id, String version); + + Boolean deleteHistoryById(Long id, String version); } diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/WorkflowServiceImpl.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/WorkflowServiceImpl.java index f4cd514f2..a7a6aba32 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/WorkflowServiceImpl.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/WorkflowServiceImpl.java @@ -60,6 +60,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; +import java.time.LocalDateTime; import java.util.*; import java.util.concurrent.LinkedBlockingDeque; import java.util.stream.Collectors; @@ -247,7 +248,7 @@ public class WorkflowServiceImpl implements WorkflowService { WorkflowHistory history = new WorkflowHistory(); Workflow workflow1 = workflowMapper.selectById(workflow.getId()); BeanUtils.copyProperties(workflow1, history); - + history.setCreateDt(LocalDateTime.now()); Assert.isTrue(1 == workflowHistoryMapper.insert(history), () -> new SnailJobServerException("Failed to save workflowHistory graph")); return Boolean.TRUE; @@ -397,7 +398,7 @@ public class WorkflowServiceImpl implements WorkflowService { @Override public List getWorkflowHistory(Long id) { - return workflowHistoryMapper.selectList(new LambdaQueryWrapper().eq(WorkflowHistory::getId, id)); + return workflowHistoryMapper.selectList(new LambdaQueryWrapper().eq(WorkflowHistory::getId, id).orderByDesc(WorkflowHistory::getCreateDt)); } @Override @@ -416,6 +417,14 @@ public class WorkflowServiceImpl implements WorkflowService { return doGetWorkflowDetail(workflow); } + @Override + public Boolean deleteHistoryById(Long id, String version) { + + return workflowHistoryMapper.delete(new LambdaQueryWrapper() + .eq(WorkflowHistory::getId, id) + .eq(WorkflowHistory::getVersion, version)) > 0; + } + private void batchSaveWorkflowTask(final List workflowRequestVOList, final String namespaceId) { Set groupNameSet = StreamUtils.toSet(workflowRequestVOList, WorkflowRequestVO::getGroupName);