From 313e2aba8b822446e54b73144fd5fdee303d91ed Mon Sep 17 00:00:00 2001 From: fit2-zhao Date: Thu, 10 Jun 2021 10:15:45 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8C=96):=20=E4=BF=AE=E5=A4=8D=20BUG0609=5F1=5FP0-=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E6=89=A7=E8=A1=8C=E4=B8=A4=E4=B8=AA=E5=9C=BA=E6=99=AF?= =?UTF-8?q?=EF=BC=8C=E5=85=B6=E4=B8=AD=E4=B8=80=E4=B8=AA=E6=AD=A5=E9=AA=A4?= =?UTF-8?q?=E5=85=A8=E7=A6=81=E7=94=A8=E3=80=82=E6=89=B9=E9=87=8F=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E9=80=89=E6=8B=A9=E5=B9=B6=E5=8F=91=E7=9A=84=E9=9B=86?= =?UTF-8?q?=E5=90=88=E6=8A=A5=E5=91=8A=E7=8A=B6=E6=80=81=E4=B8=80=E7=9B=B4?= =?UTF-8?q?=E4=B8=BARunning?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/service/ApiScenarioReportService.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/backend/src/main/java/io/metersphere/api/service/ApiScenarioReportService.java b/backend/src/main/java/io/metersphere/api/service/ApiScenarioReportService.java index 090def1885..c47bc4511f 100644 --- a/backend/src/main/java/io/metersphere/api/service/ApiScenarioReportService.java +++ b/backend/src/main/java/io/metersphere/api/service/ApiScenarioReportService.java @@ -434,7 +434,36 @@ public class ApiScenarioReportService { } } + private void counter(TestResult result) { + if (CollectionUtils.isEmpty(result.getScenarios())) { + if (StringUtils.isNotEmpty(result.getTestId())) { + List list = new LinkedList<>(); + try { + list = JSON.parseObject(result.getTestId(), List.class); + } catch (Exception e) { + list.add(result.getTestId()); + } + ApiScenarioReportExample scenarioReportExample = new ApiScenarioReportExample(); + scenarioReportExample.createCriteria().andIdIn(list); + List reportList = apiScenarioReportMapper.selectByExample(scenarioReportExample); + for (ApiScenarioReport report : reportList) { + if (report.getExecuteType().equals(ExecuteType.Marge.name())) { + Object obj = MessageCache.cache.get(report.getScenarioId()); + if (obj != null) { + ReportCounter counter = (ReportCounter) obj; + counter.setNumber(counter.getNumber() + 1); + MessageCache.cache.put(report.getScenarioId(), counter); + } + } + } + } + } + } + public ApiScenarioReport updateScenario(TestResult result) { + // 针对未正常返回结果的报告计数 + counter(result); + ApiScenarioReport lastReport = null; for (ScenarioResult item : result.getScenarios()) { // 更新报告状态 @@ -479,6 +508,7 @@ public class ApiScenarioReportService { } } } + return lastReport; }