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 5b16069e98..2c4316b3b7 100644 --- a/backend/src/main/java/io/metersphere/api/service/ApiAutomationService.java +++ b/backend/src/main/java/io/metersphere/api/service/ApiAutomationService.java @@ -599,9 +599,14 @@ public class ApiAutomationService { if (scenario == null) { return; } - ApiScenarioRequest request = new ApiScenarioRequest(); - request.setRefId(scenario.getRefId()); - List scenarioIds = extApiScenarioMapper.selectIdsByQuery(request); + List scenarioIds = new ArrayList<>(); + if (StringUtils.isNotBlank(scenario.getRefId())) { + ApiScenarioRequest request = new ApiScenarioRequest(); + request.setRefId(scenario.getRefId()); + scenarioIds = extApiScenarioMapper.selectIdsByQuery(request); + } else { + scenarioIds.add(scenario.getId()); + } //将这些场景的定时任务删除掉 scenarioIds.forEach(scenarioId -> scheduleService.deleteByResourceId(scenarioId, ScheduleGroup.API_SCENARIO_TEST.name())); ApiScenarioExampleWithOperation example = new ApiScenarioExampleWithOperation(); @@ -1238,6 +1243,9 @@ public class ApiAutomationService { if (scenarioWithBLOBs.getNum() == null) { scenarioWithBLOBs.setNum(getNextNum(scenarioWithBLOBs.getProjectId())); } + if (scenarioWithBLOBs.getRefId() == null) { + scenarioWithBLOBs.setRefId(scenarioWithBLOBs.getId()); + } batchMapper.insert(scenarioWithBLOBs); apiScenarioReferenceIdService.saveApiAndScenarioRelation(scenarioWithBLOBs); extApiScenarioMapper.clearLatestVersion(scenarioWithBLOBs.getRefId()); @@ -1268,6 +1276,9 @@ public class ApiAutomationService { if (scenarioWithBLOBs.getNum() == null) { scenarioWithBLOBs.setNum(getNextNum(scenarioWithBLOBs.getProjectId())); } + if (scenarioWithBLOBs.getRefId() == null) { + scenarioWithBLOBs.setRefId(scenarioWithBLOBs.getId()); + } batchMapper.insert(scenarioWithBLOBs); } else { ApiScenarioWithBLOBs existScenario = scenarioOp.get(); @@ -1282,6 +1293,9 @@ public class ApiAutomationService { if (scenarioWithBLOBs.getNum() == null) { scenarioWithBLOBs.setNum(getNextNum(scenarioWithBLOBs.getProjectId())); } + if (scenarioWithBLOBs.getRefId() == null) { + scenarioWithBLOBs.setRefId(scenarioWithBLOBs.getId()); + } batchMapper.updateByPrimaryKeyWithBLOBs(scenarioWithBLOBs); } checkReferenceCase(scenarioWithBLOBs, apiTestCaseMapper, apiDefinitionMapper); @@ -1362,6 +1376,9 @@ public class ApiAutomationService { if (scenarioWithBLOBs.getNum() == null) { scenarioWithBLOBs.setNum(getNextNum(scenarioWithBLOBs.getProjectId())); } + if (scenarioWithBLOBs.getRefId() == null) { + scenarioWithBLOBs.setRefId(scenarioWithBLOBs.getId()); + } batchMapper.insert(scenarioWithBLOBs); // 存储依赖关系 ApiAutomationRelationshipEdgeService relationshipEdgeService = CommonBeanFactory.getBean(ApiAutomationRelationshipEdgeService.class);