From b7cfe9c43dc3c13d0cf6422af672063ea7f64da8 Mon Sep 17 00:00:00 2001 From: song-tianyang Date: Mon, 6 Jun 2022 19:59:10 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8Dstop=E7=8A=B6=E6=80=81=E7=9A=84=E7=94=A8?= =?UTF-8?q?=E4=BE=8B=E6=8A=A5=E5=91=8A=E5=90=8D=E7=A7=B0=E7=9C=8B=E4=B8=8D?= =?UTF-8?q?=E5=88=B0=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --bug=1013828 --user=宋天阳 【接口测试】case独立报告-未执行状态,没有显示报告名称 https://www.tapd.cn/55049933/s/1174344 --- .../api/service/ApiDefinitionService.java | 18 ++++++++++++++++++ .../mapper/ext/ExtApiDefinitionMapper.java | 1 + .../base/mapper/ext/ExtApiDefinitionMapper.xml | 4 ++++ .../mapper/ext/ExtTestPlanApiCaseMapper.java | 1 + .../mapper/ext/ExtTestPlanApiCaseMapper.xml | 4 +++- 5 files changed, 27 insertions(+), 1 deletion(-) 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 59922c8bb5..ed30ba4617 100644 --- a/backend/src/main/java/io/metersphere/api/service/ApiDefinitionService.java +++ b/backend/src/main/java/io/metersphere/api/service/ApiDefinitionService.java @@ -136,6 +136,8 @@ public class ApiDefinitionService { private ProjectApplicationService projectApplicationService; @Resource private EsbApiParamsMapper esbApiParamsMapper; + @Resource + private ExtTestPlanApiCaseMapper extTestPlanApiCaseMapper; private ThreadLocal currentApiOrder = new ThreadLocal<>(); private ThreadLocal currentApiCaseOrder = new ThreadLocal<>(); @@ -1109,7 +1111,9 @@ public class ApiDefinitionService { CollectionUtils.isNotEmpty(request.getTestElement().getHashTree()) && CollectionUtils.isNotEmpty(request.getTestElement().getHashTree().get(0).getHashTree()) ? request.getTestElement().getHashTree().get(0).getHashTree().get(0).getName() : request.getId(); + String reportName = this.getReportNameByTestId(testId); ApiDefinitionExecResult result = ApiDefinitionExecResultUtil.add(testId, APITestStatus.Running.name(), request.getId(), Objects.requireNonNull(SessionUtils.getUser()).getId()); + result.setName(reportName); result.setProjectId(request.getProjectId()); result.setTriggerMode(TriggerMode.MANUAL.name()); apiDefinitionExecResultMapper.insert(result); @@ -1124,6 +1128,20 @@ public class ApiDefinitionService { return apiExecuteService.debug(request, bodyFiles); } + private String getReportNameByTestId(String testId) { + String testName = extApiDefinitionMapper.selectNameById(testId); + if(StringUtils.isEmpty(testName)){ + testName = extApiTestCaseMapper.selectNameById(testId); + if(StringUtils.isEmpty(testName)){ + String resourceID = extTestPlanApiCaseMapper.getApiTestCaseIdById(testId); + if(StringUtils.isNotEmpty(resourceID)){ + testName = extApiTestCaseMapper.selectNameById(resourceID); + } + } + } + return testName; + } + /** * 获取存储执行结果报告 * diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtApiDefinitionMapper.java b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtApiDefinitionMapper.java index 3edbf6a884..b088e3b601 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtApiDefinitionMapper.java +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtApiDefinitionMapper.java @@ -88,4 +88,5 @@ public interface ExtApiDefinitionMapper { List selectRefIdsForVersionChange(@Param("versionId") String versionId, @Param("projectId") String projectId); + String selectNameById(String testId); } diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtApiDefinitionMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtApiDefinitionMapper.xml index b98c476558..17a4fe94eb 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtApiDefinitionMapper.xml +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtApiDefinitionMapper.xml @@ -938,4 +938,8 @@ WHERE version_id = #{versionId} AND project_id = #{projectId} ) AND project_id = #{projectId} + + diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestPlanApiCaseMapper.java b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestPlanApiCaseMapper.java index 69946285b5..065ab080b0 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestPlanApiCaseMapper.java +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestPlanApiCaseMapper.java @@ -28,6 +28,7 @@ public interface ExtTestPlanApiCaseMapper { ApiTestCaseWithBLOBs getApiTestCaseById(String testPlanApiCaseId); + String getApiTestCaseIdById(String testPlanApiCaseId); List selectLegalDataByTestPlanId(String planId); diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestPlanApiCaseMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestPlanApiCaseMapper.xml index 0e93fad61c..8bee177fa5 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestPlanApiCaseMapper.xml +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestPlanApiCaseMapper.xml @@ -18,7 +18,9 @@ INNER JOIN test_plan_api_case tpac ON t.id = tpac.api_case_id WHERE tpac.id = #{0} - +