diff --git a/backend/src/main/java/io/metersphere/api/controller/ApiDefinitionController.java b/backend/src/main/java/io/metersphere/api/controller/ApiDefinitionController.java index d2ebb1357a..a047e74ddc 100644 --- a/backend/src/main/java/io/metersphere/api/controller/ApiDefinitionController.java +++ b/backend/src/main/java/io/metersphere/api/controller/ApiDefinitionController.java @@ -14,7 +14,9 @@ import io.metersphere.api.service.ApiDefinitionService; import io.metersphere.api.service.ApiTestEnvironmentService; import io.metersphere.api.service.EsbApiParamService; import io.metersphere.api.service.EsbImportService; -import io.metersphere.base.domain.*; +import io.metersphere.base.domain.ApiDefinitionWithBLOBs; +import io.metersphere.base.domain.ApiTestEnvironmentWithBLOBs; +import io.metersphere.base.domain.Schedule; import io.metersphere.commons.constants.NoticeConstants; import io.metersphere.commons.constants.OperLogConstants; import io.metersphere.commons.constants.PermissionConstants; @@ -27,7 +29,6 @@ import io.metersphere.dto.RelationshipEdgeDTO; import io.metersphere.log.annotation.MsAuditLog; import io.metersphere.notice.annotation.SendNotice; import io.metersphere.service.CheckPermissionService; -import io.metersphere.service.ScheduleService; import io.metersphere.track.request.testcase.ApiCaseRelevanceRequest; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -43,8 +44,6 @@ import java.util.List; @RestController @RequestMapping(value = "/api/definition") public class ApiDefinitionController { - @Resource - private ScheduleService scheduleService; @Resource private ApiDefinitionService apiDefinitionService; @Resource diff --git a/backend/src/main/java/io/metersphere/api/service/ApiDefinitionService.java b/backend/src/main/java/io/metersphere/api/service/ApiDefinitionService.java index a4400e008b..f65b683154 100644 --- a/backend/src/main/java/io/metersphere/api/service/ApiDefinitionService.java +++ b/backend/src/main/java/io/metersphere/api/service/ApiDefinitionService.java @@ -343,14 +343,22 @@ public class ApiDefinitionService { ServiceUtils.getSelectAllIds(request, request.getCondition(), (query) -> extApiDefinitionMapper.selectIds(query)); if (request.getIds() != null || !request.getIds().isEmpty()) { - //检查模块是否还在 - //检查原来模块是否还在 ApiDefinitionExample example = new ApiDefinitionExample(); example.createCriteria().andIdIn(request.getIds()); List reductionCaseList = apiDefinitionMapper.selectByExample(example); Map> nodeMap = new HashMap<>(); for (ApiDefinition api : reductionCaseList) { + //检查是否同名 + SaveApiDefinitionRequest apiDefinitionRequest = new SaveApiDefinitionRequest(); + apiDefinitionRequest.setProjectId(request.getProjectId()); + apiDefinitionRequest.setMethod(api.getMethod()); + apiDefinitionRequest.setProtocol(api.getProtocol()); + apiDefinitionRequest.setPath(api.getPath()); + apiDefinitionRequest.setName(api.getName()); + apiDefinitionRequest.setId(api.getId()); + checkNameExist(apiDefinitionRequest); + String moduleId = api.getModuleId(); if (StringUtils.isEmpty(moduleId)) { moduleId = ""; @@ -363,7 +371,6 @@ public class ApiDefinitionService { nodeMap.put(moduleId, list); } } -// Map> nodeMap = reductionCaseList.stream().collect(Collectors.groupingBy(ApiDefinition :: getModuleId)); ApiModuleService apiModuleService = CommonBeanFactory.getBean(ApiModuleService.class); for (Map.Entry> entry : nodeMap.entrySet()) { String nodeId = entry.getKey(); @@ -371,8 +378,7 @@ public class ApiDefinitionService { if (nodeCount <= 0) { String projectId = request.getProjectId(); ApiModule node = apiModuleService.getDefaultNode(projectId, request.getProtocol()); - List testCaseList = entry.getValue(); - for (ApiDefinition apiDefinition : testCaseList) { + for (ApiDefinition apiDefinition : entry.getValue()) { ApiDefinitionWithBLOBs updateCase = new ApiDefinitionWithBLOBs(); updateCase.setId(apiDefinition.getId()); updateCase.setModuleId(node.getId());