From d240c1a37769a4bc7280421c2600821b8b300005 Mon Sep 17 00:00:00 2001 From: q4speed Date: Tue, 26 May 2020 13:12:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E9=A1=B9=E7=9B=AE=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=88=A0=E9=99=A4=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E8=B5=84=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/APITestController.java | 2 +- .../api/service/APITestService.java | 8 ++++---- .../metersphere/service/ProjectService.java | 20 ++++++++++++++----- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/backend/src/main/java/io/metersphere/api/controller/APITestController.java b/backend/src/main/java/io/metersphere/api/controller/APITestController.java index 8d29f8dc44..92360d6e14 100644 --- a/backend/src/main/java/io/metersphere/api/controller/APITestController.java +++ b/backend/src/main/java/io/metersphere/api/controller/APITestController.java @@ -61,7 +61,7 @@ public class APITestController { @PostMapping("/delete") public void delete(@RequestBody DeleteAPITestRequest request) { - apiTestService.delete(request); + apiTestService.delete(request.getId()); } @PostMapping(value = "/run") diff --git a/backend/src/main/java/io/metersphere/api/service/APITestService.java b/backend/src/main/java/io/metersphere/api/service/APITestService.java index 8b731ab3ee..ce3c6ba6a1 100644 --- a/backend/src/main/java/io/metersphere/api/service/APITestService.java +++ b/backend/src/main/java/io/metersphere/api/service/APITestService.java @@ -73,10 +73,10 @@ public class APITestService { return apiTestMapper.selectByPrimaryKey(id); } - public void delete(DeleteAPITestRequest request) { - deleteFileByTestId(request.getId()); - apiReportService.deleteByTestId(request.getId()); - apiTestMapper.deleteByPrimaryKey(request.getId()); + public void delete(String testId) { + deleteFileByTestId(testId); + apiReportService.deleteByTestId(testId); + apiTestMapper.deleteByPrimaryKey(testId); } public String run(SaveAPITestRequest request) { diff --git a/backend/src/main/java/io/metersphere/service/ProjectService.java b/backend/src/main/java/io/metersphere/service/ProjectService.java index 5b6af3319f..9bcee0e33a 100644 --- a/backend/src/main/java/io/metersphere/service/ProjectService.java +++ b/backend/src/main/java/io/metersphere/service/ProjectService.java @@ -1,5 +1,7 @@ package io.metersphere.service; +import io.metersphere.api.dto.QueryAPITestRequest; +import io.metersphere.api.service.APITestService; import io.metersphere.base.domain.LoadTest; import io.metersphere.base.domain.LoadTestExample; import io.metersphere.base.domain.Project; @@ -14,8 +16,6 @@ import io.metersphere.dto.ProjectDTO; import io.metersphere.dto.ProjectRelatedResourceDTO; import io.metersphere.i18n.Translator; import io.metersphere.performance.service.PerformanceTestService; -import io.metersphere.track.dto.TestPlanDTO; -import io.metersphere.track.request.testcase.QueryTestCaseRequest; import io.metersphere.track.request.testcase.QueryTestPlanRequest; import io.metersphere.track.request.testplan.DeleteTestPlanRequest; import io.metersphere.track.service.TestCaseService; @@ -24,12 +24,12 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.annotation.Resource; -import java.util.Arrays; import java.util.List; import java.util.UUID; import java.util.stream.Collectors; +import javax.annotation.Resource; + @Service @Transactional(rollbackFor = Exception.class) public class ProjectService { @@ -53,6 +53,8 @@ public class ProjectService { private TestPlanService testPlanService; @Resource private TestCaseService testCaseService; + @Resource + private APITestService apiTestService; public Project addProject(Project project) { if (StringUtils.isBlank(project.getName())) { @@ -98,7 +100,7 @@ public class ProjectService { deleteTrackResourceByProjectId(projectId); // TODO 删除项目下 接口测试 相关 - + deleteAPIResourceByProjectId(projectId); // delete project projectMapper.deleteByPrimaryKey(projectId); } @@ -112,6 +114,14 @@ public class ProjectService { testCaseService.deleteTestCaseByProjectId(projectId); } + private void deleteAPIResourceByProjectId(String projectId) { + QueryAPITestRequest request = new QueryAPITestRequest(); + request.setProjectId(projectId); + apiTestService.list(request).forEach(test -> { + apiTestService.delete(test.getId()); + }); + } + public void updateProject(Project project) { project.setCreateTime(null); project.setUpdateTime(System.currentTimeMillis());