From ab6fca66be9593182f2c1628cb824e8d4ebd46e9 Mon Sep 17 00:00:00 2001 From: CaptainB Date: Mon, 14 Feb 2022 15:19:49 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E6=B5=8B=E8=AF=95=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E6=89=A7=E8=A1=8C=E5=AE=8C=E6=88=90=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E9=80=9A=E8=BF=87=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --story=1005563 --user=刘瑞斌 【Bug转需求】测试计划列表增加的“通过率”和“运行时间”,消息通知模板参数参数变量没有“通过率”和“运行时间”参数 https://www.tapd.cn/55049933/s/1103720 --- .../track/service/TestPlanReportService.java | 5 ++++- .../metersphere/track/service/TestPlanService.java | 2 +- .../components/track/TestPlanTaskNotification.vue | 4 ++++ .../track/plan/components/ScheduleNotification.vue | 14 +++++++++----- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/backend/src/main/java/io/metersphere/track/service/TestPlanReportService.java b/backend/src/main/java/io/metersphere/track/service/TestPlanReportService.java index d723142cee..1fa6ce0d82 100644 --- a/backend/src/main/java/io/metersphere/track/service/TestPlanReportService.java +++ b/backend/src/main/java/io/metersphere/track/service/TestPlanReportService.java @@ -647,6 +647,9 @@ public class TestPlanReportService { } else { subject = Translator.get("task_notification"); } + // 计算通过率 + TestPlanDTOWithMetric testPlanDTOWithMetric = BeanUtils.copyBean(new TestPlanDTOWithMetric(), testPlan); + testPlanService.calcTestPlanRate(Collections.singletonList(testPlanDTOWithMetric)); String creator = testPlanReport.getCreator(); UserDTO userDTO = userService.getUserDTO(creator); @@ -658,7 +661,7 @@ public class TestPlanReportService { if (userDTO != null) { paramMap.put("operator", userDTO.getName()); } - paramMap.putAll(new BeanMap(testPlan)); + paramMap.putAll(new BeanMap(testPlanDTOWithMetric)); String successfulMailTemplate = "TestPlanSuccessfulNotification"; String errfoMailTemplate = "TestPlanFailedNotification"; diff --git a/backend/src/main/java/io/metersphere/track/service/TestPlanService.java b/backend/src/main/java/io/metersphere/track/service/TestPlanService.java index 1d22284b87..1819ce35aa 100644 --- a/backend/src/main/java/io/metersphere/track/service/TestPlanService.java +++ b/backend/src/main/java/io/metersphere/track/service/TestPlanService.java @@ -372,7 +372,7 @@ public class TestPlanService { testPlanTestCaseMapper.deleteByExample(testPlanTestCaseExample); } - private void calcTestPlanRate(List testPlans) { + public void calcTestPlanRate(List testPlans) { testPlans.forEach(testPlan -> { testPlan.setTested(0); testPlan.setPassed(0); diff --git a/frontend/src/business/components/settings/workspace/components/track/TestPlanTaskNotification.vue b/frontend/src/business/components/settings/workspace/components/track/TestPlanTaskNotification.vue index cdabf498aa..94ad94d7ec 100644 --- a/frontend/src/business/components/settings/workspace/components/track/TestPlanTaskNotification.vue +++ b/frontend/src/business/components/settings/workspace/components/track/TestPlanTaskNotification.vue @@ -260,6 +260,10 @@ export default { label: this.$t('test_track.automatic_status_update'), value: 'automaticStatusUpdate', }, + { + label: this.$t('test_track.pass_rate'), + value: 'passRate', + }, { label: this.$t('report.plan_share_url'), value: 'planShareUrl', diff --git a/frontend/src/business/components/track/plan/components/ScheduleNotification.vue b/frontend/src/business/components/track/plan/components/ScheduleNotification.vue index 0e4ac25bb0..f8d4dfcaf7 100644 --- a/frontend/src/business/components/track/plan/components/ScheduleNotification.vue +++ b/frontend/src/business/components/track/plan/components/ScheduleNotification.vue @@ -251,15 +251,19 @@ export default { }, { label:this.$t('project.id'), - value:'projectId', + value: 'projectId', }, { - label:this.$t('commons.execution_times'), - value:'executionTimes', + label: this.$t('commons.execution_times'), + value: 'executionTimes', }, { - label:this.$t('test_track.automatic_status_update'), - value:'automaticStatusUpdate', + label: this.$t('test_track.automatic_status_update'), + value: 'automaticStatusUpdate', + }, + { + label: this.$t('test_track.pass_rate'), + value: 'passRate', }, ], };