diff --git a/backend/src/main/java/io/metersphere/api/service/ApiAutomationService.java b/backend/src/main/java/io/metersphere/api/service/ApiAutomationService.java index f108e33d01..8213d3c0f7 100644 --- a/backend/src/main/java/io/metersphere/api/service/ApiAutomationService.java +++ b/backend/src/main/java/io/metersphere/api/service/ApiAutomationService.java @@ -578,6 +578,7 @@ public class ApiAutomationService { List ids = list.stream().map(ApiScenarioReport::getId).collect(Collectors.toList()); APIReportBatchRequest reportRequest = new APIReportBatchRequest(); reportRequest.setIds(ids); + reportRequest.setCaseType(ReportTypeConstants.SCENARIO.name()); apiReportService.deleteAPIReportBatch(reportRequest); } diff --git a/backend/src/main/java/io/metersphere/api/service/ApiScenarioReportService.java b/backend/src/main/java/io/metersphere/api/service/ApiScenarioReportService.java index 3591e4e4f2..c8d2ee2939 100644 --- a/backend/src/main/java/io/metersphere/api/service/ApiScenarioReportService.java +++ b/backend/src/main/java/io/metersphere/api/service/ApiScenarioReportService.java @@ -183,6 +183,10 @@ public class ApiScenarioReportService { request = this.initRequest(request); request.setOrders(ServiceUtils.getDefaultOrder(request.getOrders())); //检查必填参数caseType + if (request.getIsUi()) { + //ui报告对应的用例类型也是scenario + request.setCaseType(ReportTypeConstants.SCENARIO.name()); + } if (StringUtils.equalsAny(request.getCaseType(), ReportTypeConstants.API.name(), ReportTypeConstants.SCENARIO.name())) { return extApiScenarioReportMapper.idList(request); } else { @@ -605,6 +609,7 @@ public class ApiScenarioReportService { APIReportBatchRequest reportRequest = new APIReportBatchRequest(); reportRequest.setIsUi(request.getIsUi()); reportRequest.setIds(list); + reportRequest.setCaseType(ReportTypeConstants.SCENARIO.name()); this.deleteAPIReportBatch(reportRequest); } } @@ -653,19 +658,12 @@ public class ApiScenarioReportService { } public void deleteAPIReportBatch(APIReportBatchRequest reportRequest) { - if (reportRequest.getIsUi()) { - //ui报告对应的用例类型也是scenario - reportRequest.setCaseType(ReportTypeConstants.SCENARIO.name()); - } - if (StringUtils.isNotBlank(reportRequest.getCaseType())) { - List ids = getIdsByDeleteBatchRequest(reportRequest); - ids = batchDeleteReportResource(reportRequest, ids, true); - - //处理报告关联数据 - if (!ids.isEmpty()) { - deleteScenarioReportByIds(ids); - deleteApiDefinitionResultByIds(ids); - } + List ids = getIdsByDeleteBatchRequest(reportRequest); + ids = batchDeleteReportResource(reportRequest, ids, true); + //处理报告关联数据 + if (!ids.isEmpty()) { + deleteScenarioReportByIds(ids); + deleteApiDefinitionResultByIds(ids); } } @@ -904,12 +902,19 @@ public class ApiScenarioReportService { public void cleanUpReport(long time, String projectId) { List ids = extApiScenarioReportMapper.selectByProjectIdAndLessThanTime(projectId, time); - List definitionExecIds = extApiDefinitionExecResultMapper.selectByProjectIdAndLessThanTime(projectId, time); - ids.addAll(definitionExecIds); if (CollectionUtils.isNotEmpty(ids)) { APIReportBatchRequest request = new APIReportBatchRequest(); request.setIds(ids); request.setSelectAllDate(false); + request.setCaseType(ReportTypeConstants.SCENARIO.name()); + deleteAPIReportBatch(request); + } + List definitionExecIds = extApiDefinitionExecResultMapper.selectByProjectIdAndLessThanTime(projectId, time); + if (CollectionUtils.isNotEmpty(definitionExecIds)) { + APIReportBatchRequest request = new APIReportBatchRequest(); + request.setIds(definitionExecIds); + request.setSelectAllDate(false); + request.setCaseType(ReportTypeConstants.API.name()); deleteAPIReportBatch(request); } }