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);