From 39eb3135d415507cc00b9fa1b5732115b10f6266 Mon Sep 17 00:00:00 2001 From: shiziyuan9527 Date: Thu, 23 Apr 2020 17:25:57 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A1=A8=E5=A4=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/OrganizationWorkspace.vue | 19 ++++++------------- .../settings/system/Organization.vue | 19 ++++++------------- .../settings/system/SystemWorkspace.vue | 19 ++++++------------- .../settings/workspace/WorkspaceMember.vue | 2 +- 4 files changed, 19 insertions(+), 40 deletions(-) diff --git a/frontend/src/business/components/settings/organization/OrganizationWorkspace.vue b/frontend/src/business/components/settings/organization/OrganizationWorkspace.vue index 2b8aa76500..7d6e6010d3 100644 --- a/frontend/src/business/components/settings/organization/OrganizationWorkspace.vue +++ b/frontend/src/business/components/settings/organization/OrganizationWorkspace.vue @@ -46,19 +46,10 @@ - - {{$t('commons.member')}} - - - - - - + - + @@ -394,9 +385,11 @@ result: {}, loading: false, createVisible: false, - btnTips: this.$t('workspace.add'), + btnTips: this.$t('workspace.create'), + dialogBtnTips: this.$t('member.create'), addTips: this.$t('member.create'), condition: {}, + dialogCondition: {}, items: [], currentPage: 1, pageSize: 5, diff --git a/frontend/src/business/components/settings/system/Organization.vue b/frontend/src/business/components/settings/system/Organization.vue index d03553fe9e..ac8660a698 100644 --- a/frontend/src/business/components/settings/system/Organization.vue +++ b/frontend/src/business/components/settings/system/Organization.vue @@ -31,19 +31,10 @@ - - {{$t('commons.member')}} - - - - - - + - + @@ -214,8 +205,10 @@ pageMemberSize: 5, memberTotal: 0, currentRow: {}, - btnTips: this.$t('member.create'), + btnTips: this.$t('organization.create'), + dialogBtnTips: this.$t('member.create'), condition: {}, + dialogCondition: {}, tableData: [], memberLineData: [], form: {}, diff --git a/frontend/src/business/components/settings/system/SystemWorkspace.vue b/frontend/src/business/components/settings/system/SystemWorkspace.vue index 3961a7cc4f..f6c7cf0d05 100644 --- a/frontend/src/business/components/settings/system/SystemWorkspace.vue +++ b/frontend/src/business/components/settings/system/SystemWorkspace.vue @@ -87,19 +87,10 @@ - - {{$t('commons.member')}} - - - - - - + - + @@ -437,9 +428,11 @@ memberVisible: false, addMemberVisible: false, updateMemberVisible: false, - btnTips: this.$t('workspace.add'), + btnTips: this.$t('workspace.create'), + dialogBtnTips: this.$t('member.create'), addTips: this.$t('member.create'), condition: {}, + dialogCondition: {}, items: [], currentPage: 1, pageSize: 5, diff --git a/frontend/src/business/components/settings/workspace/WorkspaceMember.vue b/frontend/src/business/components/settings/workspace/WorkspaceMember.vue index 3b299a6ef8..22b45de4b0 100644 --- a/frontend/src/business/components/settings/workspace/WorkspaceMember.vue +++ b/frontend/src/business/components/settings/workspace/WorkspaceMember.vue @@ -112,7 +112,7 @@ return { result: {}, form: {}, - btnTips: "添加工作空间成员", + btnTips: this.$t('member.create'), createVisible: false, updateVisible: false, queryPath: "/user/ws/member/list", From cebfba849ef113d2837ab5a23b139d97b56ff2ef Mon Sep 17 00:00:00 2001 From: "Captain.B" Date: Thu, 23 Apr 2020 18:51:00 +0800 Subject: [PATCH 2/5] reporting --- .../commons/constants/PerformanceTestStatus.java | 2 +- .../io/metersphere/service/ReportService.java | 8 +++++++- .../java/io/metersphere/JmxFileParseTest.java | 15 +++++++++------ .../performance/report/PerformanceReportView.vue | 1 + .../performance/report/PerformanceTestReport.vue | 3 +++ .../performance/test/PerformanceTestPlan.vue | 3 +++ 6 files changed, 24 insertions(+), 8 deletions(-) diff --git a/backend/src/main/java/io/metersphere/commons/constants/PerformanceTestStatus.java b/backend/src/main/java/io/metersphere/commons/constants/PerformanceTestStatus.java index 242883eb3f..bc94c27815 100644 --- a/backend/src/main/java/io/metersphere/commons/constants/PerformanceTestStatus.java +++ b/backend/src/main/java/io/metersphere/commons/constants/PerformanceTestStatus.java @@ -1,5 +1,5 @@ package io.metersphere.commons.constants; public enum PerformanceTestStatus { - Saved, Starting, Running, Completed, Error + Saved, Starting, Running, Reporting, Completed, Error } diff --git a/backend/src/main/java/io/metersphere/service/ReportService.java b/backend/src/main/java/io/metersphere/service/ReportService.java index 754a3d6e2d..363ee83cea 100644 --- a/backend/src/main/java/io/metersphere/service/ReportService.java +++ b/backend/src/main/java/io/metersphere/service/ReportService.java @@ -1,6 +1,9 @@ package io.metersphere.service; -import io.metersphere.base.domain.*; +import io.metersphere.base.domain.LoadTestReport; +import io.metersphere.base.domain.LoadTestReportExample; +import io.metersphere.base.domain.LoadTestReportWithBLOBs; +import io.metersphere.base.domain.LoadTestWithBLOBs; import io.metersphere.base.mapper.LoadTestMapper; import io.metersphere.base.mapper.LoadTestReportMapper; import io.metersphere.base.mapper.ext.ExtLoadTestReportMapper; @@ -16,6 +19,7 @@ import io.metersphere.report.base.*; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + import javax.annotation.Resource; import java.util.List; @@ -139,6 +143,8 @@ public class ReportService { String reportStatus = loadTestReport.getStatus(); if (StringUtils.equals(PerformanceTestStatus.Running.name(), reportStatus)) { MSException.throwException("Reporting in progress..."); + } else if (StringUtils.equals(PerformanceTestStatus.Reporting.name(), reportStatus)) { + MSException.throwException("Reporting in progress..."); } else if (StringUtils.equals(PerformanceTestStatus.Error.name(), reportStatus)) { MSException.throwException("Report generation error!"); } diff --git a/backend/src/test/java/io/metersphere/JmxFileParseTest.java b/backend/src/test/java/io/metersphere/JmxFileParseTest.java index e09209270c..28324a901c 100644 --- a/backend/src/test/java/io/metersphere/JmxFileParseTest.java +++ b/backend/src/test/java/io/metersphere/JmxFileParseTest.java @@ -1,6 +1,7 @@ package io.metersphere; import io.metersphere.config.KafkaProperties; +import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.junit.Test; import org.junit.runner.RunWith; @@ -22,6 +23,7 @@ import javax.xml.transform.stream.StreamResult; import java.io.File; import java.io.FileInputStream; import java.io.StringWriter; +import java.nio.charset.StandardCharsets; @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @@ -47,7 +49,7 @@ public class JmxFileParseTest { @Test public void parse() throws Exception { File file = new File("/Users/liuruibin/Downloads/blaze_meter_dev2.jmx"); - file = new File("/Users/liuruibin/Desktop/test-jmeter.jmx"); + file = new File("/Users/liuruibin/Desktop/041301.jmx"); final FileInputStream inputStream = new FileInputStream(file); final InputSource inputSource = new InputSource(inputStream); @@ -78,7 +80,8 @@ public class JmxFileParseTest { TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newTransformer(); transformer.transform(domSource, result); - System.out.println("XML IN String format is: \n" + writer.toString()); +// System.out.println("XML IN String format is: \n" + writer.toString()); + FileUtils.writeStringToFile(new File("/tmp/test-jmeter.jmx"), writer.toString(), StandardCharsets.UTF_8); } private void parseHashTree(Element hashTree) { @@ -112,13 +115,13 @@ public class JmxFileParseTest { } else if (nodeNameEquals(ele, VARIABLE_THROUGHPUT_TIMER)) { } else if (nodeNameEquals(ele, BACKEND_LISTENER)) { - processBackendListener(ele); +// processBackendListener(ele); } else if (nodeNameEquals(ele, CONFIG_TEST_ELEMENT)) { - processConfigTestElement(ele); +// processConfigTestElement(ele); } else if (nodeNameEquals(ele, DNS_CACHE_MANAGER)) { - processDnsCacheManager(ele); +// processDnsCacheManager(ele); } else if (nodeNameEquals(ele, ARGUMENTS)) { - processArguments(ele); +// processArguments(ele); } } } diff --git a/frontend/src/business/components/performance/report/PerformanceReportView.vue b/frontend/src/business/components/performance/report/PerformanceReportView.vue index dc5b87d396..250af02f20 100644 --- a/frontend/src/business/components/performance/report/PerformanceReportView.vue +++ b/frontend/src/business/components/performance/report/PerformanceReportView.vue @@ -138,6 +138,7 @@ }); break; case 'Starting': + case 'Reporting': this.$message({ type: 'info', message: "报告生成中...." diff --git a/frontend/src/business/components/performance/report/PerformanceTestReport.vue b/frontend/src/business/components/performance/report/PerformanceTestReport.vue index 4a3c2b3cde..efd642115c 100644 --- a/frontend/src/business/components/performance/report/PerformanceTestReport.vue +++ b/frontend/src/business/components/performance/report/PerformanceTestReport.vue @@ -53,6 +53,9 @@ {{ row.status }} + + {{ row.status }} + {{ row.status }} diff --git a/frontend/src/business/components/performance/test/PerformanceTestPlan.vue b/frontend/src/business/components/performance/test/PerformanceTestPlan.vue index 32103259b6..da93a827fc 100644 --- a/frontend/src/business/components/performance/test/PerformanceTestPlan.vue +++ b/frontend/src/business/components/performance/test/PerformanceTestPlan.vue @@ -55,6 +55,9 @@ {{ row.status }} + + {{ row.status }} + {{ row.status }} From 8001fdee09b79d9739cfdfb5ce6693e22e314312 Mon Sep 17 00:00:00 2001 From: "Captain.B" Date: Thu, 23 Apr 2020 19:18:17 +0800 Subject: [PATCH 3/5] tmp --- .../commons/constants/ReportKeys.java | 6 ++ .../io/metersphere/service/ReportService.java | 58 +++++++++---------- .../db/migration/V2__metersphere_ddl.sql | 13 +++++ 3 files changed, 45 insertions(+), 32 deletions(-) create mode 100644 backend/src/main/java/io/metersphere/commons/constants/ReportKeys.java diff --git a/backend/src/main/java/io/metersphere/commons/constants/ReportKeys.java b/backend/src/main/java/io/metersphere/commons/constants/ReportKeys.java new file mode 100644 index 0000000000..2b483d1fd7 --- /dev/null +++ b/backend/src/main/java/io/metersphere/commons/constants/ReportKeys.java @@ -0,0 +1,6 @@ +package io.metersphere.commons.constants; + +public enum ReportKeys { + LoadChart, ResponseTimeChart, Errors, ErrorsTop5, RequestStatistics, Overview, TimeInfo + +} diff --git a/backend/src/main/java/io/metersphere/service/ReportService.java b/backend/src/main/java/io/metersphere/service/ReportService.java index 363ee83cea..2aa8e808d4 100644 --- a/backend/src/main/java/io/metersphere/service/ReportService.java +++ b/backend/src/main/java/io/metersphere/service/ReportService.java @@ -1,20 +1,19 @@ package io.metersphere.service; -import io.metersphere.base.domain.LoadTestReport; -import io.metersphere.base.domain.LoadTestReportExample; -import io.metersphere.base.domain.LoadTestReportWithBLOBs; -import io.metersphere.base.domain.LoadTestWithBLOBs; +import com.alibaba.fastjson.JSON; +import io.metersphere.base.domain.*; import io.metersphere.base.mapper.LoadTestMapper; import io.metersphere.base.mapper.LoadTestReportMapper; +import io.metersphere.base.mapper.LoadTestReportResultMapper; import io.metersphere.base.mapper.ext.ExtLoadTestReportMapper; import io.metersphere.commons.constants.PerformanceTestStatus; +import io.metersphere.commons.constants.ReportKeys; import io.metersphere.commons.exception.MSException; import io.metersphere.commons.utils.LogUtil; import io.metersphere.controller.request.ReportRequest; import io.metersphere.dto.ReportDTO; import io.metersphere.engine.Engine; import io.metersphere.engine.EngineFactory; -import io.metersphere.report.GenerateReport; import io.metersphere.report.base.*; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -33,6 +32,8 @@ public class ReportService { private ExtLoadTestReportMapper extLoadTestReportMapper; @Resource private LoadTestMapper loadTestMapper; + @Resource + private LoadTestReportResultMapper loadTestReportResultMapper; public List getRecentReportList(ReportRequest request) { LoadTestReportExample example = new LoadTestReportExample(); @@ -84,58 +85,51 @@ public class ReportService { return extLoadTestReportMapper.getReportTestAndProInfo(reportId); } + private String getContent(String id, ReportKeys reportKey) { + LoadTestReportResultExample example = new LoadTestReportResultExample(); + example.createCriteria().andReportIdEqualTo(id).andReportKeyEqualTo(reportKey.name()); + return loadTestReportResultMapper.selectByExampleWithBLOBs(example).get(0).getReportValue(); + } + public List getReport(String id) { checkReportStatus(id); - LoadTestReportWithBLOBs loadTestReport = loadTestReportMapper.selectByPrimaryKey(id); - String content = loadTestReport.getContent(); - return GenerateReport.getRequestStatistics(content); + String reportValue = getContent(id, ReportKeys.RequestStatistics); + return JSON.parseArray(reportValue, Statistics.class); } public List getReportErrors(String id) { checkReportStatus(id); - LoadTestReportWithBLOBs loadTestReport = loadTestReportMapper.selectByPrimaryKey(id); - String content = loadTestReport.getContent(); - List errors = GenerateReport.getErrorsList(content); - return errors; + String content = getContent(id, ReportKeys.Errors); + return JSON.parseArray(content, Errors.class); } public List getReportErrorsTOP5(String id) { checkReportStatus(id); - LoadTestReportWithBLOBs loadTestReport = loadTestReportMapper.selectByPrimaryKey(id); - String content = loadTestReport.getContent(); - List errorsTop5 = GenerateReport.getErrorsTop5List(content); - return errorsTop5; + String content = getContent(id, ReportKeys.ErrorsTop5); + return JSON.parseArray(content, ErrorsTop5.class); } public TestOverview getTestOverview(String id) { checkReportStatus(id); - LoadTestReportWithBLOBs loadTestReport = loadTestReportMapper.selectByPrimaryKey(id); - String content = loadTestReport.getContent(); - TestOverview testOverview = GenerateReport.getTestOverview(content); - return testOverview; + String content = getContent(id, ReportKeys.Overview); + return JSON.parseObject(content, TestOverview.class); } public ReportTimeInfo getReportTimeInfo(String id) { - LoadTestReportWithBLOBs loadTestReport = loadTestReportMapper.selectByPrimaryKey(id); - String content = loadTestReport.getContent(); - ReportTimeInfo reportTimeInfo = GenerateReport.getReportTimeInfo(content); - return reportTimeInfo; + String content = getContent(id, ReportKeys.TimeInfo); + return JSON.parseObject(content, ReportTimeInfo.class); } public List getLoadChartData(String id) { checkReportStatus(id); - LoadTestReportWithBLOBs loadTestReport = loadTestReportMapper.selectByPrimaryKey(id); - String content = loadTestReport.getContent(); - List chartsDataList = GenerateReport.getLoadChartData(content); - return chartsDataList; + String content = getContent(id, ReportKeys.LoadChart); + return JSON.parseArray(content, ChartsData.class); } public List getResponseTimeChartData(String id) { checkReportStatus(id); - LoadTestReportWithBLOBs loadTestReport = loadTestReportMapper.selectByPrimaryKey(id); - String content = loadTestReport.getContent(); - List chartsDataList = GenerateReport.getResponseTimeChartData(content); - return chartsDataList; + String content = getContent(id, ReportKeys.ResponseTimeChart); + return JSON.parseArray(content, ChartsData.class); } public void checkReportStatus(String reportId) { diff --git a/backend/src/main/resources/db/migration/V2__metersphere_ddl.sql b/backend/src/main/resources/db/migration/V2__metersphere_ddl.sql index dbec891edf..ae5c0fa8d0 100644 --- a/backend/src/main/resources/db/migration/V2__metersphere_ddl.sql +++ b/backend/src/main/resources/db/migration/V2__metersphere_ddl.sql @@ -71,6 +71,19 @@ CREATE TABLE IF NOT EXISTS `load_test_report_detail` ( DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; +CREATE TABLE IF NOT EXISTS `load_test_report_result` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `report_id` varchar(50) NOT NULL, + `report_key` varchar(64) DEFAULT NULL, + `report_value` text, + PRIMARY KEY (`id`), + KEY `load_test_report_result_report_id_report_key_index` (`report_id`,`report_key`) +) + ENGINE=InnoDB + DEFAULT CHARSET=utf8mb4 + COLLATE=utf8mb4_bin; + + CREATE TABLE IF NOT EXISTS `organization` ( `id` varchar(50) NOT NULL COMMENT 'Organization ID', `name` varchar(64) NOT NULL COMMENT 'Organization name', From 7aea33c5782027f9d6dc7fe57b712c3b3c1aec94 Mon Sep 17 00:00:00 2001 From: "Captain.B" Date: Thu, 23 Apr 2020 19:20:55 +0800 Subject: [PATCH 4/5] tmp --- .../base/domain/LoadTestReportResult.java | 47 ++ .../domain/LoadTestReportResultExample.java | 400 ++++++++++++++++++ .../mapper/LoadTestReportResultMapper.java | 37 ++ .../mapper/LoadTestReportResultMapper.xml | 234 ++++++++++ 4 files changed, 718 insertions(+) create mode 100644 backend/src/main/java/io/metersphere/base/domain/LoadTestReportResult.java create mode 100644 backend/src/main/java/io/metersphere/base/domain/LoadTestReportResultExample.java create mode 100644 backend/src/main/java/io/metersphere/base/mapper/LoadTestReportResultMapper.java create mode 100644 backend/src/main/java/io/metersphere/base/mapper/LoadTestReportResultMapper.xml diff --git a/backend/src/main/java/io/metersphere/base/domain/LoadTestReportResult.java b/backend/src/main/java/io/metersphere/base/domain/LoadTestReportResult.java new file mode 100644 index 0000000000..65c62c6e6b --- /dev/null +++ b/backend/src/main/java/io/metersphere/base/domain/LoadTestReportResult.java @@ -0,0 +1,47 @@ +package io.metersphere.base.domain; + +import java.io.Serializable; + +public class LoadTestReportResult implements Serializable { + private Long id; + + private String reportId; + + private String reportKey; + + private String reportValue; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getReportId() { + return reportId; + } + + public void setReportId(String reportId) { + this.reportId = reportId == null ? null : reportId.trim(); + } + + public String getReportKey() { + return reportKey; + } + + public void setReportKey(String reportKey) { + this.reportKey = reportKey == null ? null : reportKey.trim(); + } + + public String getReportValue() { + return reportValue; + } + + public void setReportValue(String reportValue) { + this.reportValue = reportValue == null ? null : reportValue.trim(); + } +} \ No newline at end of file diff --git a/backend/src/main/java/io/metersphere/base/domain/LoadTestReportResultExample.java b/backend/src/main/java/io/metersphere/base/domain/LoadTestReportResultExample.java new file mode 100644 index 0000000000..8e4b6ae61a --- /dev/null +++ b/backend/src/main/java/io/metersphere/base/domain/LoadTestReportResultExample.java @@ -0,0 +1,400 @@ +package io.metersphere.base.domain; + +import java.util.ArrayList; +import java.util.List; + +public class LoadTestReportResultExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public LoadTestReportResultExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andReportIdIsNull() { + addCriterion("report_id is null"); + return (Criteria) this; + } + + public Criteria andReportIdIsNotNull() { + addCriterion("report_id is not null"); + return (Criteria) this; + } + + public Criteria andReportIdEqualTo(String value) { + addCriterion("report_id =", value, "reportId"); + return (Criteria) this; + } + + public Criteria andReportIdNotEqualTo(String value) { + addCriterion("report_id <>", value, "reportId"); + return (Criteria) this; + } + + public Criteria andReportIdGreaterThan(String value) { + addCriterion("report_id >", value, "reportId"); + return (Criteria) this; + } + + public Criteria andReportIdGreaterThanOrEqualTo(String value) { + addCriterion("report_id >=", value, "reportId"); + return (Criteria) this; + } + + public Criteria andReportIdLessThan(String value) { + addCriterion("report_id <", value, "reportId"); + return (Criteria) this; + } + + public Criteria andReportIdLessThanOrEqualTo(String value) { + addCriterion("report_id <=", value, "reportId"); + return (Criteria) this; + } + + public Criteria andReportIdLike(String value) { + addCriterion("report_id like", value, "reportId"); + return (Criteria) this; + } + + public Criteria andReportIdNotLike(String value) { + addCriterion("report_id not like", value, "reportId"); + return (Criteria) this; + } + + public Criteria andReportIdIn(List values) { + addCriterion("report_id in", values, "reportId"); + return (Criteria) this; + } + + public Criteria andReportIdNotIn(List values) { + addCriterion("report_id not in", values, "reportId"); + return (Criteria) this; + } + + public Criteria andReportIdBetween(String value1, String value2) { + addCriterion("report_id between", value1, value2, "reportId"); + return (Criteria) this; + } + + public Criteria andReportIdNotBetween(String value1, String value2) { + addCriterion("report_id not between", value1, value2, "reportId"); + return (Criteria) this; + } + + public Criteria andReportKeyIsNull() { + addCriterion("report_key is null"); + return (Criteria) this; + } + + public Criteria andReportKeyIsNotNull() { + addCriterion("report_key is not null"); + return (Criteria) this; + } + + public Criteria andReportKeyEqualTo(String value) { + addCriterion("report_key =", value, "reportKey"); + return (Criteria) this; + } + + public Criteria andReportKeyNotEqualTo(String value) { + addCriterion("report_key <>", value, "reportKey"); + return (Criteria) this; + } + + public Criteria andReportKeyGreaterThan(String value) { + addCriterion("report_key >", value, "reportKey"); + return (Criteria) this; + } + + public Criteria andReportKeyGreaterThanOrEqualTo(String value) { + addCriterion("report_key >=", value, "reportKey"); + return (Criteria) this; + } + + public Criteria andReportKeyLessThan(String value) { + addCriterion("report_key <", value, "reportKey"); + return (Criteria) this; + } + + public Criteria andReportKeyLessThanOrEqualTo(String value) { + addCriterion("report_key <=", value, "reportKey"); + return (Criteria) this; + } + + public Criteria andReportKeyLike(String value) { + addCriterion("report_key like", value, "reportKey"); + return (Criteria) this; + } + + public Criteria andReportKeyNotLike(String value) { + addCriterion("report_key not like", value, "reportKey"); + return (Criteria) this; + } + + public Criteria andReportKeyIn(List values) { + addCriterion("report_key in", values, "reportKey"); + return (Criteria) this; + } + + public Criteria andReportKeyNotIn(List values) { + addCriterion("report_key not in", values, "reportKey"); + return (Criteria) this; + } + + public Criteria andReportKeyBetween(String value1, String value2) { + addCriterion("report_key between", value1, value2, "reportKey"); + return (Criteria) this; + } + + public Criteria andReportKeyNotBetween(String value1, String value2) { + addCriterion("report_key not between", value1, value2, "reportKey"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/backend/src/main/java/io/metersphere/base/mapper/LoadTestReportResultMapper.java b/backend/src/main/java/io/metersphere/base/mapper/LoadTestReportResultMapper.java new file mode 100644 index 0000000000..c950f9e1f6 --- /dev/null +++ b/backend/src/main/java/io/metersphere/base/mapper/LoadTestReportResultMapper.java @@ -0,0 +1,37 @@ +package io.metersphere.base.mapper; + +import io.metersphere.base.domain.LoadTestReportResult; +import io.metersphere.base.domain.LoadTestReportResultExample; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface LoadTestReportResultMapper { + long countByExample(LoadTestReportResultExample example); + + int deleteByExample(LoadTestReportResultExample example); + + int deleteByPrimaryKey(Long id); + + int insert(LoadTestReportResult record); + + int insertSelective(LoadTestReportResult record); + + List selectByExampleWithBLOBs(LoadTestReportResultExample example); + + List selectByExample(LoadTestReportResultExample example); + + LoadTestReportResult selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") LoadTestReportResult record, @Param("example") LoadTestReportResultExample example); + + int updateByExampleWithBLOBs(@Param("record") LoadTestReportResult record, @Param("example") LoadTestReportResultExample example); + + int updateByExample(@Param("record") LoadTestReportResult record, @Param("example") LoadTestReportResultExample example); + + int updateByPrimaryKeySelective(LoadTestReportResult record); + + int updateByPrimaryKeyWithBLOBs(LoadTestReportResult record); + + int updateByPrimaryKey(LoadTestReportResult record); +} \ No newline at end of file diff --git a/backend/src/main/java/io/metersphere/base/mapper/LoadTestReportResultMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/LoadTestReportResultMapper.xml new file mode 100644 index 0000000000..2bc955d3cb --- /dev/null +++ b/backend/src/main/java/io/metersphere/base/mapper/LoadTestReportResultMapper.xml @@ -0,0 +1,234 @@ + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, report_id, report_key + + + report_value + + + + + + delete from load_test_report_result + where id = #{id,jdbcType=BIGINT} + + + delete from load_test_report_result + + + + + + insert into load_test_report_result (id, report_id, report_key, + report_value) + values (#{id,jdbcType=BIGINT}, #{reportId,jdbcType=VARCHAR}, #{reportKey,jdbcType=VARCHAR}, + #{reportValue,jdbcType=LONGVARCHAR}) + + + insert into load_test_report_result + + + id, + + + report_id, + + + report_key, + + + report_value, + + + + + #{id,jdbcType=BIGINT}, + + + #{reportId,jdbcType=VARCHAR}, + + + #{reportKey,jdbcType=VARCHAR}, + + + #{reportValue,jdbcType=LONGVARCHAR}, + + + + + + update load_test_report_result + + + id = #{record.id,jdbcType=BIGINT}, + + + report_id = #{record.reportId,jdbcType=VARCHAR}, + + + report_key = #{record.reportKey,jdbcType=VARCHAR}, + + + report_value = #{record.reportValue,jdbcType=LONGVARCHAR}, + + + + + + + + update load_test_report_result + set id = #{record.id,jdbcType=BIGINT}, + report_id = #{record.reportId,jdbcType=VARCHAR}, + report_key = #{record.reportKey,jdbcType=VARCHAR}, + report_value = #{record.reportValue,jdbcType=LONGVARCHAR} + + + + + + update load_test_report_result + set id = #{record.id,jdbcType=BIGINT}, + report_id = #{record.reportId,jdbcType=VARCHAR}, + report_key = #{record.reportKey,jdbcType=VARCHAR} + + + + + + update load_test_report_result + + + report_id = #{reportId,jdbcType=VARCHAR}, + + + report_key = #{reportKey,jdbcType=VARCHAR}, + + + report_value = #{reportValue,jdbcType=LONGVARCHAR}, + + + where id = #{id,jdbcType=BIGINT} + + + update load_test_report_result + set report_id = #{reportId,jdbcType=VARCHAR}, + report_key = #{reportKey,jdbcType=VARCHAR}, + report_value = #{reportValue,jdbcType=LONGVARCHAR} + where id = #{id,jdbcType=BIGINT} + + + update load_test_report_result + set report_id = #{reportId,jdbcType=VARCHAR}, + report_key = #{reportKey,jdbcType=VARCHAR} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file From 5bb3744df19a16026808d93ad445cc189f81500b Mon Sep 17 00:00:00 2001 From: "Captain.B" Date: Thu, 23 Apr 2020 19:25:24 +0800 Subject: [PATCH 5/5] check status --- backend/src/main/java/io/metersphere/service/ReportService.java | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/src/main/java/io/metersphere/service/ReportService.java b/backend/src/main/java/io/metersphere/service/ReportService.java index 2aa8e808d4..36c947734b 100644 --- a/backend/src/main/java/io/metersphere/service/ReportService.java +++ b/backend/src/main/java/io/metersphere/service/ReportService.java @@ -116,6 +116,7 @@ public class ReportService { } public ReportTimeInfo getReportTimeInfo(String id) { + checkReportStatus(id); String content = getContent(id, ReportKeys.TimeInfo); return JSON.parseObject(content, ReportTimeInfo.class); }