From b780741f48ba0d82037e0d3b4c654c12d782d811 Mon Sep 17 00:00:00 2001 From: guoyuqi Date: Fri, 8 Jul 2022 11:45:25 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95):=20?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=9C=BA=E6=99=AF=E5=AF=BC=E5=85=A5har?= =?UTF-8?q?=E4=B8=8D=E5=8A=A0=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --user=郭雨琦 --bug=1014743 --bug=1014736 https://www.tapd.cn/55049933/bugtrace/bugs/view/1155049933001014743 https://www.tapd.cn/55049933/bugtrace/bugs/view/1155049933001014736 --- .../api/dto/automation/parse/HarScenarioParser.java | 1 - .../io/metersphere/api/service/ApiModuleService.java | 3 +++ .../api/service/ApiScenarioModuleService.java | 9 ++++++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/io/metersphere/api/dto/automation/parse/HarScenarioParser.java b/backend/src/main/java/io/metersphere/api/dto/automation/parse/HarScenarioParser.java index 20fd2959ff..75e6bdf5eb 100644 --- a/backend/src/main/java/io/metersphere/api/dto/automation/parse/HarScenarioParser.java +++ b/backend/src/main/java/io/metersphere/api/dto/automation/parse/HarScenarioParser.java @@ -60,7 +60,6 @@ public class HarScenarioParser extends HarScenarioAbstractParser private void parseScenarioWithBLOBs(List scenarioWithBLOBsList, MsScenario msScenario) { ApiScenarioWithBLOBs scenarioWithBLOBs = parseScenario(msScenario); - scenarioWithBLOBs.setModulePath("/" + msScenario.getName()); scenarioWithBLOBsList.add(scenarioWithBLOBs); } diff --git a/backend/src/main/java/io/metersphere/api/service/ApiModuleService.java b/backend/src/main/java/io/metersphere/api/service/ApiModuleService.java index 438e124043..ca88818846 100644 --- a/backend/src/main/java/io/metersphere/api/service/ApiModuleService.java +++ b/backend/src/main/java/io/metersphere/api/service/ApiModuleService.java @@ -790,6 +790,9 @@ public class ApiModuleService extends NodeTreeService { } } + if (optionData.isEmpty()) { + moduleMap = new HashMap<>(); + } return getUpdateApiModuleDTO(moduleMap, toUpdateList, optionData); } diff --git a/backend/src/main/java/io/metersphere/api/service/ApiScenarioModuleService.java b/backend/src/main/java/io/metersphere/api/service/ApiScenarioModuleService.java index 57bc362f0b..36a515bd5a 100644 --- a/backend/src/main/java/io/metersphere/api/service/ApiScenarioModuleService.java +++ b/backend/src/main/java/io/metersphere/api/service/ApiScenarioModuleService.java @@ -516,7 +516,11 @@ public class ApiScenarioModuleService extends NodeTreeService names = optionData.stream().map(ApiScenario::getName).collect(Collectors.toList()); //系统内重复的数据 - List repeatApiScenarioWithBLOBs = extApiScenarioMapper.selectRepeatByBLOBs(names, projectId); + List repeatAllScenarioWithBLOBs = extApiScenarioMapper.selectRepeatByBLOBs(names, projectId); + ArrayList repeatApiScenarioWithBLOBs = repeatAllScenarioWithBLOBs.stream().collect( + Collectors.collectingAndThen( + Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(t -> t.getName() + t.getModulePath()))), ArrayList::new) + ); Map nameModuleMap = null; Map repeatDataMap = null; @@ -559,6 +563,9 @@ public class ApiScenarioModuleService extends NodeTreeService(); + } UpdateScenarioModuleDTO updateScenarioModuleDTO = new UpdateScenarioModuleDTO(); updateScenarioModuleDTO.setModuleList(new ArrayList<>(moduleMap.values())); updateScenarioModuleDTO.setNeedUpdateList(toUpdateList);