From 6b6cf1a86a4ce3391b4200a23f32a70386a625a0 Mon Sep 17 00:00:00 2001 From: guoyuqi Date: Sat, 15 Oct 2022 21:43:46 +0800 Subject: [PATCH] =?UTF-8?q?perf(=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95):=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95=E5=9B=9E?= =?UTF-8?q?=E6=94=B6=E7=AB=99=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../definition/ApiDefinitionService.java | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/api-test/backend/src/main/java/io/metersphere/service/definition/ApiDefinitionService.java b/api-test/backend/src/main/java/io/metersphere/service/definition/ApiDefinitionService.java index 0b60718500..4a093df36f 100644 --- a/api-test/backend/src/main/java/io/metersphere/service/definition/ApiDefinitionService.java +++ b/api-test/backend/src/main/java/io/metersphere/service/definition/ApiDefinitionService.java @@ -1961,23 +1961,26 @@ public class ApiDefinitionService { if (CollectionUtils.isEmpty(ids)) { return; } + this.deleteApiByIds(ids); + } - ids.forEach(id -> { - // 把所有版本的api移到回收站 - ApiDefinitionWithBLOBs api = apiDefinitionMapper.selectByPrimaryKey(id); - if (api == null) { - return; - } - ApiDefinitionExample example = new ApiDefinitionExample(); - example.createCriteria().andRefIdEqualTo(api.getRefId()); - List apiDefinitions = apiDefinitionMapper.selectByExample(example); - List apiIds = apiDefinitions.stream().map(ApiDefinition::getId).collect(Collectors.toList()); - //删除Api、ApiCase中resourceID被删除了的执行记录 - apiExecutionInfoService.deleteByApiIdList(apiIds); - apiCaseExecutionInfoService.deleteByApiDefeinitionIdList(apiIds); - apiTestCaseService.deleteBatchByDefinitionId(apiIds); - apiDefinitionMapper.deleteByExample(example); - }); + private void deleteApiByIds(List ids) { + ApiDefinitionExample example = new ApiDefinitionExample(); + example.createCriteria().andIdIn(ids); + List apiDefinitionList = apiDefinitionMapper.selectByExample(example); + if (CollectionUtils.isEmpty(apiDefinitionList)){ + return; + } + List refIds = apiDefinitionList.stream().map(ApiDefinition::getRefId).collect(Collectors.toList()); + example = new ApiDefinitionExample(); + example.createCriteria().andRefIdIn(refIds); + List apiDefinitions = apiDefinitionMapper.selectByExample(example); + List apiIds = apiDefinitions.stream().map(ApiDefinition::getId).collect(Collectors.toList()); + //删除Api、ApiCase中resourceID被删除了的执行记录 + apiExecutionInfoService.deleteByApiIdList(apiIds); + apiCaseExecutionInfoService.deleteByApiDefeinitionIdList(apiIds); + apiTestCaseService.deleteBatchByDefinitionId(apiIds); + apiDefinitionMapper.deleteByExample(example); } public ApiDefinitionExample getBatchExample(ApiBatchRequest request) {