From a11eb7dab17b590411224572666ce9e3c4cedc0a Mon Sep 17 00:00:00 2001 From: "Captain.B" Date: Thu, 21 May 2020 17:46:00 +0800 Subject: [PATCH 01/14] =?UTF-8?q?DDL=20=E4=BD=BF=E7=94=A8=20utf8mb4=5Fgene?= =?UTF-8?q?ral=5Fci=EF=BC=8Cuser=20=E4=B8=AD=E7=9A=84=20id=20=E5=92=8C=20p?= =?UTF-8?q?assword=20=E4=BD=BF=E7=94=A8=20utf8mb4=5Fbin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V2__metersphere_ddl.sql | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) 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 cd6a2e1789..84fecf5493 100644 --- a/backend/src/main/resources/db/migration/V2__metersphere_ddl.sql +++ b/backend/src/main/resources/db/migration/V2__metersphere_ddl.sql @@ -5,7 +5,7 @@ CREATE TABLE IF NOT EXISTS `file_content` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `file_metadata` ( `id` varchar(64) NOT NULL COMMENT 'File ID', @@ -18,7 +18,7 @@ CREATE TABLE IF NOT EXISTS `file_metadata` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `load_test` ( `id` varchar(50) NOT NULL COMMENT 'Test ID', @@ -36,7 +36,7 @@ CREATE TABLE IF NOT EXISTS `load_test` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `load_test_file` ( `test_id` varchar(64) DEFAULT NULL, @@ -58,14 +58,14 @@ CREATE TABLE IF NOT EXISTS `load_test_report` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `load_test_report_detail` ( `report_id` varchar(50) NOT NULL, `content` longtext, `part` bigint(11) NOT NULL, PRIMARY KEY (`report_id`,`part`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `load_test_report_log` ( `id` varchar(50) NOT NULL, @@ -75,7 +75,7 @@ CREATE TABLE IF NOT EXISTS `load_test_report_log` ( `part` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`), KEY `load_test_report_log_report_id_resource_name_index` (`report_id`,`resource_id`,`part`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `load_test_report_result` ( `id` varchar(50) NOT NULL, @@ -84,7 +84,7 @@ CREATE TABLE IF NOT EXISTS `load_test_report_result` ( `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; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `organization` ( @@ -97,7 +97,7 @@ CREATE TABLE IF NOT EXISTS `organization` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `project` ( `id` varchar(50) NOT NULL COMMENT 'Project ID', @@ -110,7 +110,7 @@ CREATE TABLE IF NOT EXISTS `project` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `role` ( `id` varchar(50) NOT NULL COMMENT 'Role ID', @@ -123,7 +123,7 @@ CREATE TABLE IF NOT EXISTS `role` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `system_parameter` ( `param_key` varchar(64) CHARACTER SET utf8mb4 NOT NULL COMMENT 'Parameter name', @@ -134,7 +134,7 @@ CREATE TABLE IF NOT EXISTS `system_parameter` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `test_resource` ( `id` varchar(50) NOT NULL COMMENT 'Test resource ID', @@ -147,7 +147,7 @@ CREATE TABLE IF NOT EXISTS `test_resource` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `test_resource_pool` ( `id` varchar(50) NOT NULL COMMENT 'Test resource pool ID', @@ -161,13 +161,13 @@ CREATE TABLE IF NOT EXISTS `test_resource_pool` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `user` ( - `id` varchar(50) NOT NULL COMMENT 'User ID', + `id` varchar(50) COLLATE utf8mb4_bin NOT NULL COMMENT 'User ID', `name` varchar(64) NOT NULL COMMENT 'User name', `email` varchar(64) NOT NULL COMMENT 'E-Mail address', - `password` varchar(256) DEFAULT NULL, + `password` varchar(256) COLLATE utf8mb4_bin DEFAULT NULL, `status` varchar(50) NOT NULL COMMENT 'User status', `create_time` bigint(13) NOT NULL COMMENT 'Create timestamp', `update_time` bigint(13) NOT NULL COMMENT 'Update timestamp', @@ -179,7 +179,7 @@ CREATE TABLE IF NOT EXISTS `user` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `user_role` ( `id` varchar(50) NOT NULL COMMENT 'ID of user''s role info', @@ -192,7 +192,7 @@ CREATE TABLE IF NOT EXISTS `user_role` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `workspace` ( `id` varchar(50) NOT NULL COMMENT 'Workspace ID ', @@ -205,7 +205,7 @@ CREATE TABLE IF NOT EXISTS `workspace` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; -- api start @@ -220,7 +220,7 @@ CREATE TABLE IF NOT EXISTS `api_test` ( `create_time` bigint(13) NOT NULL COMMENT 'Create timestamp', `update_time` bigint(13) NOT NULL COMMENT 'Update timestamp', PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `api_test_file` ( `test_id` varchar(64) DEFAULT NULL, @@ -243,7 +243,7 @@ CREATE TABLE IF NOT EXISTS `api_test_report` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; -- api end @@ -268,7 +268,7 @@ CREATE TABLE IF NOT EXISTS `test_plan` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `test_case_node` ( @@ -283,7 +283,7 @@ CREATE TABLE IF NOT EXISTS `test_case_node` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `test_case` ( @@ -305,7 +305,7 @@ CREATE TABLE IF NOT EXISTS `test_case` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `test_plan_test_case` ( @@ -323,7 +323,7 @@ CREATE TABLE IF NOT EXISTS `test_plan_test_case` ( ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_bin; + COLLATE = utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `test_case_report_template` ( `id` varchar(50) NOT NULL, @@ -334,7 +334,7 @@ CREATE TABLE IF NOT EXISTS `test_case_report_template` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 - COLLATE=utf8mb4_bin; + COLLATE=utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `test_case_report` ( `id` varchar(50) NOT NULL, @@ -346,7 +346,7 @@ CREATE TABLE IF NOT EXISTS `test_case_report` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 - COLLATE=utf8mb4_bin; + COLLATE=utf8mb4_general_ci; -- track end From 3323d6f8c38c956df72daab2a36139bd6a6a1fb6 Mon Sep 17 00:00:00 2001 From: shiziyuan9527 Date: Thu, 21 May 2020 18:45:47 +0800 Subject: [PATCH 02/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=B0=E5=BB=BA?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=97=B6=E8=A7=92=E8=89=B2=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/metersphere/service/UserService.java | 5 +- .../components/settings/system/User.vue | 47 +++++++++++++++---- 2 files changed, 43 insertions(+), 9 deletions(-) diff --git a/backend/src/main/java/io/metersphere/service/UserService.java b/backend/src/main/java/io/metersphere/service/UserService.java index 9f4b201269..36b37281c4 100644 --- a/backend/src/main/java/io/metersphere/service/UserService.java +++ b/backend/src/main/java/io/metersphere/service/UserService.java @@ -78,6 +78,9 @@ public class UserService { userRole.setSourceId("adminSourceId"); userRoleMapper.insertSelective(userRole); } else { +// if (!map.keySet().contains("Ids")) { +// MSException.throwException(role + " no source id"); +// } List list = (List) map.get("Ids"); for (int j = 0; j < list.size(); j++) { UserRole userRole1 = new UserRole(); @@ -316,7 +319,7 @@ public class UserService { public void setLanguage(String lang) { if (SessionUtils.getUser() != null) { - UserRequest user = new UserRequest(); + User user = new User(); user.setId(SessionUtils.getUser().getId()); user.setLanguage(lang); updateUser(user); diff --git a/frontend/src/business/components/settings/system/User.vue b/frontend/src/business/components/settings/system/User.vue index 79a17f07fc..3da0b9f177 100644 --- a/frontend/src/business/components/settings/system/User.vue +++ b/frontend/src/business/components/settings/system/User.vue @@ -51,7 +51,7 @@ - + @@ -71,10 +71,12 @@ + :value="item.id" + > + {{item.name}} 删除 @@ -132,7 +134,7 @@ @@ -223,7 +225,7 @@ @@ -286,6 +288,7 @@ createVisible: false, updateVisible: false, editPasswordVisible: false, + btnAddRole: false, multipleSelection: [], userRole: [], currentPage: 1, @@ -298,7 +301,6 @@ }, checkPasswordForm: {}, ruleForm: {}, - setAdminParam: {}, rule: { id: [ {required: true, message: this.$t('user.input_id'), trigger: 'blur'}, @@ -480,15 +482,44 @@ }) }, addRole() { + let roleInfo = {}; + roleInfo.selects = []; + let ids = this.form.roles.map(r => r.id); + ids.forEach(id => { + roleInfo.selects.push(id); + }) let roles = this.form.roles; - roles.push({}); + roles.push(roleInfo); + if (this.form.roles.length > this.userRole.length - 1) { + this.btnAddRole = true; + } }, removeRole(item) { - let index = this.form.roles.indexOf(item) + let index = this.form.roles.indexOf(item); if (index !== -1) { this.form.roles.splice(index, 1) } + if (this.form.roles.length < this.userRole.length) { + this.btnAddRole = false; + } }, + activeRole(roleInfo) { + return this.userRole.filter(function (role) { + let value = true; + if (!roleInfo.selects) { + return true; + } + if (roleInfo.selects.length === 0) { + value = true; + } + for (let i = 0; i < roleInfo.selects.length; i++) { + if (role.id === roleInfo.selects[i]) { + value = false; + } + } + return value; + }) + } } } From d3b3b6e1fb1cad1e6f7141195e0c178d5b799b72 Mon Sep 17 00:00:00 2001 From: shiziyuan9527 Date: Thu, 21 May 2020 22:26:17 +0800 Subject: [PATCH 03/14] =?UTF-8?q?=E6=96=B0=E5=BB=BA/=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E8=A7=92=E8=89=B2=E9=80=89=E6=8B=A9=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E6=A0=A1=E9=AA=8C=E5=BF=85=E5=A1=AB=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/settings/system/User.vue | 58 ++++++++++++++----- 1 file changed, 45 insertions(+), 13 deletions(-) diff --git a/frontend/src/business/components/settings/system/User.vue b/frontend/src/business/components/settings/system/User.vue index 3da0b9f177..f88d51605f 100644 --- a/frontend/src/business/components/settings/system/User.vue +++ b/frontend/src/business/components/settings/system/User.vue @@ -51,7 +51,7 @@ - + @@ -68,7 +68,10 @@
- +
- +
- +
- +
- +
- +
- +
- +
- +
- + { From 37648bb560bb39f8151f490e50d9f56573aefe44 Mon Sep 17 00:00:00 2001 From: shiziyuan9527 Date: Thu, 21 May 2020 22:40:01 +0800 Subject: [PATCH 04/14] =?UTF-8?q?=E7=94=A8=E6=88=B7=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E6=97=B6=E4=BC=98=E5=8C=96=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/settings/system/User.vue | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/frontend/src/business/components/settings/system/User.vue b/frontend/src/business/components/settings/system/User.vue index f88d51605f..ee1a664076 100644 --- a/frontend/src/business/components/settings/system/User.vue +++ b/frontend/src/business/components/settings/system/User.vue @@ -514,17 +514,23 @@ }) }, addRole() { - let roleInfo = {}; - roleInfo.selects = []; - let ids = this.form.roles.map(r => r.id); - ids.forEach(id => { - roleInfo.selects.push(id); + this.$refs['createUserForm'].validate(valid => { + if (valid) { + let roleInfo = {}; + roleInfo.selects = []; + let ids = this.form.roles.map(r => r.id); + ids.forEach(id => { + roleInfo.selects.push(id); + }) + let roles = this.form.roles; + roles.push(roleInfo); + if (this.form.roles.length > this.userRole.length - 1) { + this.btnAddRole = true; + } + } else { + return false; + } }) - let roles = this.form.roles; - roles.push(roleInfo); - if (this.form.roles.length > this.userRole.length - 1) { - this.btnAddRole = true; - } }, removeRole(item) { let index = this.form.roles.indexOf(item); From e07dadd9be46b68203140f26bfac25bc8da83beb Mon Sep 17 00:00:00 2001 From: shiziyuan9527 Date: Thu, 21 May 2020 23:18:25 +0800 Subject: [PATCH 05/14] bug fix --- .../src/business/components/settings/system/User.vue | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/frontend/src/business/components/settings/system/User.vue b/frontend/src/business/components/settings/system/User.vue index ee1a664076..3a36fba15f 100644 --- a/frontend/src/business/components/settings/system/User.vue +++ b/frontend/src/business/components/settings/system/User.vue @@ -149,7 +149,7 @@ @@ -183,7 +183,7 @@ > @@ -255,7 +255,7 @@
@@ -486,6 +486,7 @@ }, handleClose() { this.form = {roles: [{id: ''}]}; + this.btnAddRole = false; }, changeSwitch(row) { this.$post(this.updatePath, row, () => { @@ -513,8 +514,8 @@ this.userRole = response.data; }) }, - addRole() { - this.$refs['createUserForm'].validate(valid => { + addRole(validForm) { + this.$refs[validForm].validate(valid => { if (valid) { let roleInfo = {}; roleInfo.selects = []; From 3981cc8741c8704a5f30ab4d6a2770e39b3af59c Mon Sep 17 00:00:00 2001 From: chenjianxing Date: Fri, 22 May 2020 09:24:00 +0800 Subject: [PATCH 06/14] =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../track/service/TestCaseReportTemplateService.java | 3 ++- backend/src/main/resources/i18n/messages.properties | 3 ++- backend/src/main/resources/i18n/messages_en_US.properties | 3 ++- backend/src/main/resources/i18n/messages_zh_CN.properties | 1 + backend/src/main/resources/i18n/messages_zh_TW.properties | 3 ++- .../comonents/report/TemplateComponent/BaseInfoComponent.vue | 2 +- 6 files changed, 10 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/io/metersphere/track/service/TestCaseReportTemplateService.java b/backend/src/main/java/io/metersphere/track/service/TestCaseReportTemplateService.java index 6c50055d7b..2f2c443718 100644 --- a/backend/src/main/java/io/metersphere/track/service/TestCaseReportTemplateService.java +++ b/backend/src/main/java/io/metersphere/track/service/TestCaseReportTemplateService.java @@ -5,6 +5,7 @@ import io.metersphere.base.domain.TestCaseReportTemplateExample; import io.metersphere.base.mapper.TestCaseReportTemplateMapper; import io.metersphere.commons.exception.MSException; import io.metersphere.commons.utils.SessionUtils; +import io.metersphere.i18n.Translator; import io.metersphere.track.request.testCaseReport.QueryTemplateRequest; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -61,7 +62,7 @@ public class TestCaseReportTemplateService { .andWorkspaceIdEqualTo(SessionUtils.getCurrentWorkspaceId()) .andIdNotEqualTo(testCaseReportTemplate.getId()); if (testCaseReportTemplateMapper.selectByExample(example).size() > 0) { - MSException.throwException("同一工作空间下不能存在同名模版"); + MSException.throwException(Translator.get("test_case_report_template_repeat")); } } diff --git a/backend/src/main/resources/i18n/messages.properties b/backend/src/main/resources/i18n/messages.properties index a540e76319..93f6073c99 100644 --- a/backend/src/main/resources/i18n/messages.properties +++ b/backend/src/main/resources/i18n/messages.properties @@ -41,4 +41,5 @@ remark_optional= do_not_modify_header_order= module_created_automatically= options= -please_input_workspace_member= \ No newline at end of file +please_input_workspace_member= +test_case_report_template_repeat= \ No newline at end of file diff --git a/backend/src/main/resources/i18n/messages_en_US.properties b/backend/src/main/resources/i18n/messages_en_US.properties index 9ea76aedaf..0091ee77db 100644 --- a/backend/src/main/resources/i18n/messages_en_US.properties +++ b/backend/src/main/resources/i18n/messages_en_US.properties @@ -82,4 +82,5 @@ remark_optional=Remark optional do_not_modify_header_order=Do not modify the header order module_created_automatically=If there is no such module, will be created automatically options=options -please_input_workspace_member=Please input workspace merber \ No newline at end of file +please_input_workspace_member=Please input workspace merber +test_case_report_template_repeat=The workspace has the same name template \ No newline at end of file diff --git a/backend/src/main/resources/i18n/messages_zh_CN.properties b/backend/src/main/resources/i18n/messages_zh_CN.properties index 0031ca23b4..38a341411c 100644 --- a/backend/src/main/resources/i18n/messages_zh_CN.properties +++ b/backend/src/main/resources/i18n/messages_zh_CN.properties @@ -83,3 +83,4 @@ do_not_modify_header_order=请勿修改表头顺序 module_created_automatically=若无该模块将自动创建 options=选项 please_input_workspace_member=请填写该工作空间相关人员 +test_case_report_template_repeat=同一工作空间下不能存在同名模版 diff --git a/backend/src/main/resources/i18n/messages_zh_TW.properties b/backend/src/main/resources/i18n/messages_zh_TW.properties index d4a5cd2cac..4fac1a1bc2 100644 --- a/backend/src/main/resources/i18n/messages_zh_TW.properties +++ b/backend/src/main/resources/i18n/messages_zh_TW.properties @@ -82,4 +82,5 @@ remark_optional=備註選填 do_not_modify_header_order=請勿修改表頭順序 module_created_automatically=若無該模塊將自動創建 options=選項 -please_input_workspace_member=請填寫該工作空間相關人員 \ No newline at end of file +please_input_workspace_member=請填寫該工作空間相關人員 +test_case_report_template_repeat=同壹工作空間下不能存在同名模版 \ No newline at end of file diff --git a/frontend/src/business/components/track/plan/view/comonents/report/TemplateComponent/BaseInfoComponent.vue b/frontend/src/business/components/track/plan/view/comonents/report/TemplateComponent/BaseInfoComponent.vue index 6112318966..5bc05dac5b 100644 --- a/frontend/src/business/components/track/plan/view/comonents/report/TemplateComponent/BaseInfoComponent.vue +++ b/frontend/src/business/components/track/plan/view/comonents/report/TemplateComponent/BaseInfoComponent.vue @@ -51,7 +51,7 @@ type: Object, default() { return { - projectName: this.$t('test_track.project.name'), + projectName: this.$t('test_track.project'), principal: 'Michael', executors: ['Michael','Tom','Jiessie'], startTime: '2020-6-18', From 9b091fbf002fb2c9fbdba902351ee4bc6acf8c54 Mon Sep 17 00:00:00 2001 From: chenjianxing Date: Fri, 22 May 2020 09:34:34 +0800 Subject: [PATCH 07/14] =?UTF-8?q?=E7=94=A8=E4=BE=8B=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E4=B8=8D=E6=98=BE=E7=A4=BA=E5=88=9B=E5=BB=BA=E4=B8=8B=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/track/case/components/TestCaseEdit.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/business/components/track/case/components/TestCaseEdit.vue b/frontend/src/business/components/track/case/components/TestCaseEdit.vue index 999e5cf970..566e407478 100644 --- a/frontend/src/business/components/track/case/components/TestCaseEdit.vue +++ b/frontend/src/business/components/track/case/components/TestCaseEdit.vue @@ -175,12 +175,12 @@ - - +
@@ -83,6 +83,9 @@ export default { draggable: { type: Boolean, default: true + }, + currentProject: { + type: Object } }, watch: { From f415a121a51b71b0d4cabe2fb7f5217f888277f2 Mon Sep 17 00:00:00 2001 From: chenjianxing Date: Fri, 22 May 2020 10:39:30 +0800 Subject: [PATCH 11/14] =?UTF-8?q?=E6=97=A0=E9=A1=B9=E7=9B=AE=E6=97=B6?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E6=A8=A1=E5=9D=97=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/business/components/track/common/NodeEdit.vue | 8 +++++--- frontend/src/i18n/en-US.js | 1 + frontend/src/i18n/zh-CN.js | 1 + frontend/src/i18n/zh-TW.js | 1 + 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/frontend/src/business/components/track/common/NodeEdit.vue b/frontend/src/business/components/track/common/NodeEdit.vue index 03955bcf86..f6b9f2ca25 100644 --- a/frontend/src/business/components/track/common/NodeEdit.vue +++ b/frontend/src/business/components/track/common/NodeEdit.vue @@ -76,6 +76,10 @@ this.$refs['nodeForm'].validate((valid) => { if (valid) { let param = {}; + if (!this.currentProject) { + this.$warning(this.$t('test_track.case.please_create_project')); + return; + } let url = this.buildParam(param); if (param.name.trim() == '') { this.$warning(this.$t('test_track.case.input_name')); @@ -109,9 +113,7 @@ } param.name = this.form.name.trim(); param.label = this.form.name; - if (this.currentProject) { - param.projectId = this.currentProject.id; - } + param.projectId = this.currentProject.id; return url; }, close() { diff --git a/frontend/src/i18n/en-US.js b/frontend/src/i18n/en-US.js index a24fe857d4..300dd3fbdd 100644 --- a/frontend/src/i18n/en-US.js +++ b/frontend/src/i18n/en-US.js @@ -376,6 +376,7 @@ export default { delete_confirm: "Confirm delete test case", delete: "Delete case", save_create_continue: "Save and create continue", + please_create_project: "No project available, please create the project first", import: { import: "Import test case", case_import: "Import test case", diff --git a/frontend/src/i18n/zh-CN.js b/frontend/src/i18n/zh-CN.js index 70222297b6..6edd2dbbf7 100644 --- a/frontend/src/i18n/zh-CN.js +++ b/frontend/src/i18n/zh-CN.js @@ -373,6 +373,7 @@ export default { delete_confirm: "确认删除测试用例", delete: "删除用例", save_create_continue: "保存并继续创建", + please_create_project: "暂无项目,请先创建项目", import: { import: "导入用例", case_import: "导入测试用例", diff --git a/frontend/src/i18n/zh-TW.js b/frontend/src/i18n/zh-TW.js index d9be9117ed..dfbcc98bc7 100644 --- a/frontend/src/i18n/zh-TW.js +++ b/frontend/src/i18n/zh-TW.js @@ -367,6 +367,7 @@ export default { delete_confirm: "確認刪除測試用例: ", delete: "删除用例", save_create_continue: "保存並繼續創建", + please_create_project: "暫無項目,請先創建項目", import: { import: "導入用例", case_import: "導入測試用例", From e4d10461523a57470e679876a990182af36eb5b4 Mon Sep 17 00:00:00 2001 From: shiziyuan9527 Date: Fri, 22 May 2020 11:00:35 +0800 Subject: [PATCH 12/14] =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=90=8C=E5=90=8D?= =?UTF-8?q?=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/metersphere/service/OrganizationService.java | 10 ++++++++++ .../src/main/resources/i18n/messages_en_US.properties | 2 ++ .../src/main/resources/i18n/messages_zh_CN.properties | 2 ++ .../src/main/resources/i18n/messages_zh_TW.properties | 2 ++ 4 files changed, 16 insertions(+) diff --git a/backend/src/main/java/io/metersphere/service/OrganizationService.java b/backend/src/main/java/io/metersphere/service/OrganizationService.java index 5ec81898ff..ea5d22e1a7 100644 --- a/backend/src/main/java/io/metersphere/service/OrganizationService.java +++ b/backend/src/main/java/io/metersphere/service/OrganizationService.java @@ -48,6 +48,16 @@ public class OrganizationService { private UserService userService; public Organization addOrganization(Organization organization) { + if (StringUtils.isBlank(organization.getName())) { + MSException.throwException(Translator.get("organization_name_is_null")); + } + + OrganizationExample organizationExample = new OrganizationExample(); + organizationExample.createCriteria().andNameEqualTo(organization.getName()); + if (organizationMapper.countByExample(organizationExample) > 0) { + MSException.throwException(Translator.get("organization_name_already_exists")); + } + long currentTimeMillis = System.currentTimeMillis(); organization.setId(UUID.randomUUID().toString()); organization.setCreateTime(currentTimeMillis); diff --git a/backend/src/main/resources/i18n/messages_en_US.properties b/backend/src/main/resources/i18n/messages_en_US.properties index d6355bf12e..458d0856ad 100644 --- a/backend/src/main/resources/i18n/messages_en_US.properties +++ b/backend/src/main/resources/i18n/messages_en_US.properties @@ -33,6 +33,8 @@ workspace_not_exists=Workspace is not exists project_name_is_null=Project name cannot be null project_name_already_exists=The project name already exists #organization +organization_name_is_null=organization name cannot be null +organization_name_already_exists=The organization name already exists organization_does_not_belong_to_user=The current organization does not belong to the current user organization_id_is_null=Organization ID cannot be null #api diff --git a/backend/src/main/resources/i18n/messages_zh_CN.properties b/backend/src/main/resources/i18n/messages_zh_CN.properties index a991a24075..b901e7da93 100644 --- a/backend/src/main/resources/i18n/messages_zh_CN.properties +++ b/backend/src/main/resources/i18n/messages_zh_CN.properties @@ -33,6 +33,8 @@ workspace_not_exists=工作空间不存在 project_name_is_null=项目名称不能为空 project_name_already_exists=项目名称已存在 #organization +organization_name_is_null=组织名不能为空 +organization_name_already_exists=组织名已存在 organization_does_not_belong_to_user=当前组织不属于当前用户 organization_id_is_null=组织 ID 不能为空 #api diff --git a/backend/src/main/resources/i18n/messages_zh_TW.properties b/backend/src/main/resources/i18n/messages_zh_TW.properties index 922dbb0c10..123329744a 100644 --- a/backend/src/main/resources/i18n/messages_zh_TW.properties +++ b/backend/src/main/resources/i18n/messages_zh_TW.properties @@ -33,6 +33,8 @@ workspace_not_exists=工作空間不存在 project_name_is_null=項目名稱不能為空 project_name_already_exists=項目名稱已存在 #organization +organization_name_is_null=組織名不能為空 +organization_name_already_exists=組織名已存在 organization_does_not_belong_to_user=當前組織不屬於當前用戶 organization_id_is_null=組織 ID 不能為空 #api From c727bf356c226734d90989b788f2b0c2403c0668 Mon Sep 17 00:00:00 2001 From: shiziyuan9527 Date: Fri, 22 May 2020 11:19:39 +0800 Subject: [PATCH 13/14] =?UTF-8?q?=E7=BB=84=E7=BB=87=EF=BC=8C=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E7=A9=BA=E9=97=B4=E5=90=8C=E5=90=8D=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/OrganizationService.java | 23 ++++++++------- .../metersphere/service/WorkspaceService.java | 29 ++++++++++++------- 2 files changed, 31 insertions(+), 21 deletions(-) diff --git a/backend/src/main/java/io/metersphere/service/OrganizationService.java b/backend/src/main/java/io/metersphere/service/OrganizationService.java index ea5d22e1a7..0a5be48d04 100644 --- a/backend/src/main/java/io/metersphere/service/OrganizationService.java +++ b/backend/src/main/java/io/metersphere/service/OrganizationService.java @@ -48,16 +48,7 @@ public class OrganizationService { private UserService userService; public Organization addOrganization(Organization organization) { - if (StringUtils.isBlank(organization.getName())) { - MSException.throwException(Translator.get("organization_name_is_null")); - } - - OrganizationExample organizationExample = new OrganizationExample(); - organizationExample.createCriteria().andNameEqualTo(organization.getName()); - if (organizationMapper.countByExample(organizationExample) > 0) { - MSException.throwException(Translator.get("organization_name_already_exists")); - } - + checkOrgNameRepeat(organization); long currentTimeMillis = System.currentTimeMillis(); organization.setId(UUID.randomUUID().toString()); organization.setCreateTime(currentTimeMillis); @@ -75,6 +66,17 @@ public class OrganizationService { return organizationMapper.selectByExample(example); } + private void checkOrgNameRepeat(Organization organization) { + if (StringUtils.isBlank(organization.getName())) { + MSException.throwException(Translator.get("organization_name_is_null")); + } + OrganizationExample organizationExample = new OrganizationExample(); + organizationExample.createCriteria().andNameEqualTo(organization.getName()); + if (organizationMapper.countByExample(organizationExample) > 0) { + MSException.throwException(Translator.get("organization_name_already_exists")); + } + } + public void deleteOrganization(String organizationId) { WorkspaceExample example = new WorkspaceExample(); WorkspaceExample.Criteria criteria = example.createCriteria(); @@ -97,6 +99,7 @@ public class OrganizationService { } public void updateOrganization(Organization organization) { + checkOrgNameRepeat(organization); organization.setCreateTime(null); organization.setUpdateTime(System.currentTimeMillis()); organizationMapper.updateByPrimaryKeySelective(organization); diff --git a/backend/src/main/java/io/metersphere/service/WorkspaceService.java b/backend/src/main/java/io/metersphere/service/WorkspaceService.java index 214a244fe9..9cd4c05719 100644 --- a/backend/src/main/java/io/metersphere/service/WorkspaceService.java +++ b/backend/src/main/java/io/metersphere/service/WorkspaceService.java @@ -58,14 +58,16 @@ public class WorkspaceService { workspace.setOrganizationId(SessionUtils.getCurrentOrganizationId()); long currentTime = System.currentTimeMillis(); + + WorkspaceExample example = new WorkspaceExample(); + example.createCriteria() + .andOrganizationIdEqualTo(SessionUtils.getCurrentOrganizationId()) + .andNameEqualTo(workspace.getName()); + if (workspaceMapper.countByExample(example) > 0) { + MSException.throwException(Translator.get("workspace_name_already_exists")); + } + if (StringUtils.isBlank(workspace.getId())) { - WorkspaceExample example = new WorkspaceExample(); - example.createCriteria() - .andOrganizationIdEqualTo(SessionUtils.getCurrentOrganizationId()) - .andNameEqualTo(workspace.getName()); - if (workspaceMapper.countByExample(example) > 0) { - MSException.throwException(Translator.get("workspace_name_already_exists")); - } workspace.setId(UUID.randomUUID().toString()); workspace.setCreateTime(currentTime); workspace.setUpdateTime(currentTime); @@ -235,12 +237,21 @@ public class WorkspaceService { } public void updateWorkspaceByAdmin(Workspace workspace) { + checkWorkspace(workspace); workspace.setCreateTime(null); workspace.setUpdateTime(System.currentTimeMillis()); workspaceMapper.updateByPrimaryKeySelective(workspace); } public void addWorkspaceByAdmin(Workspace workspace) { + checkWorkspace(workspace); + workspace.setId(UUID.randomUUID().toString()); + workspace.setCreateTime(System.currentTimeMillis()); + workspace.setUpdateTime(System.currentTimeMillis()); + workspaceMapper.insertSelective(workspace); + } + + private void checkWorkspace(Workspace workspace) { if (StringUtils.isBlank(workspace.getName())) { MSException.throwException(Translator.get("workspace_name_is_null")); } @@ -254,9 +265,5 @@ public class WorkspaceService { if (workspaceMapper.countByExample(example) > 0) { MSException.throwException(Translator.get("workspace_name_already_exists")); } - workspace.setId(UUID.randomUUID().toString()); - workspace.setCreateTime(System.currentTimeMillis()); - workspace.setUpdateTime(System.currentTimeMillis()); - workspaceMapper.insertSelective(workspace); } } From b988ea1331ecb5825ace083fd2be4ab9cc5e8bdc Mon Sep 17 00:00:00 2001 From: "Captain.B" Date: Fri, 22 May 2020 11:30:17 +0800 Subject: [PATCH 14/14] =?UTF-8?q?=E6=B7=BB=E5=8A=A0user=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/metersphere/base/domain/LoadTest.java | 2 + .../base/domain/LoadTestExample.java | 70 ++++++ .../base/domain/LoadTestReport.java | 2 + .../base/domain/LoadTestReportExample.java | 70 ++++++ .../base/mapper/LoadTestMapper.xml | 223 ++++++++++-------- .../base/mapper/LoadTestReportMapper.xml | 187 ++++++++------- .../db/migration/V2__metersphere_ddl.sql | 56 ++--- .../src/main/resources/generatorConfig.xml | 1 + 8 files changed, 400 insertions(+), 211 deletions(-) diff --git a/backend/src/main/java/io/metersphere/base/domain/LoadTest.java b/backend/src/main/java/io/metersphere/base/domain/LoadTest.java index 8c8c89a1a6..b8db5990ea 100644 --- a/backend/src/main/java/io/metersphere/base/domain/LoadTest.java +++ b/backend/src/main/java/io/metersphere/base/domain/LoadTest.java @@ -22,5 +22,7 @@ public class LoadTest implements Serializable { private String testResourcePoolId; + private String user; + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/backend/src/main/java/io/metersphere/base/domain/LoadTestExample.java b/backend/src/main/java/io/metersphere/base/domain/LoadTestExample.java index b3e74f1cd1..14eb1e475c 100644 --- a/backend/src/main/java/io/metersphere/base/domain/LoadTestExample.java +++ b/backend/src/main/java/io/metersphere/base/domain/LoadTestExample.java @@ -643,6 +643,76 @@ public class LoadTestExample { addCriterion("test_resource_pool_id not between", value1, value2, "testResourcePoolId"); return (Criteria) this; } + + public Criteria andUserIsNull() { + addCriterion("user is null"); + return (Criteria) this; + } + + public Criteria andUserIsNotNull() { + addCriterion("user is not null"); + return (Criteria) this; + } + + public Criteria andUserEqualTo(String value) { + addCriterion("user =", value, "user"); + return (Criteria) this; + } + + public Criteria andUserNotEqualTo(String value) { + addCriterion("user <>", value, "user"); + return (Criteria) this; + } + + public Criteria andUserGreaterThan(String value) { + addCriterion("user >", value, "user"); + return (Criteria) this; + } + + public Criteria andUserGreaterThanOrEqualTo(String value) { + addCriterion("user >=", value, "user"); + return (Criteria) this; + } + + public Criteria andUserLessThan(String value) { + addCriterion("user <", value, "user"); + return (Criteria) this; + } + + public Criteria andUserLessThanOrEqualTo(String value) { + addCriterion("user <=", value, "user"); + return (Criteria) this; + } + + public Criteria andUserLike(String value) { + addCriterion("user like", value, "user"); + return (Criteria) this; + } + + public Criteria andUserNotLike(String value) { + addCriterion("user not like", value, "user"); + return (Criteria) this; + } + + public Criteria andUserIn(List values) { + addCriterion("user in", values, "user"); + return (Criteria) this; + } + + public Criteria andUserNotIn(List values) { + addCriterion("user not in", values, "user"); + return (Criteria) this; + } + + public Criteria andUserBetween(String value1, String value2) { + addCriterion("user between", value1, value2, "user"); + return (Criteria) this; + } + + public Criteria andUserNotBetween(String value1, String value2) { + addCriterion("user not between", value1, value2, "user"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/backend/src/main/java/io/metersphere/base/domain/LoadTestReport.java b/backend/src/main/java/io/metersphere/base/domain/LoadTestReport.java index 2a60c2d011..79f55c3d4f 100644 --- a/backend/src/main/java/io/metersphere/base/domain/LoadTestReport.java +++ b/backend/src/main/java/io/metersphere/base/domain/LoadTestReport.java @@ -18,6 +18,8 @@ public class LoadTestReport implements Serializable { private String status; + private String user; + private String description; private static final long serialVersionUID = 1L; diff --git a/backend/src/main/java/io/metersphere/base/domain/LoadTestReportExample.java b/backend/src/main/java/io/metersphere/base/domain/LoadTestReportExample.java index cd996e4714..cc39b3d9ee 100644 --- a/backend/src/main/java/io/metersphere/base/domain/LoadTestReportExample.java +++ b/backend/src/main/java/io/metersphere/base/domain/LoadTestReportExample.java @@ -503,6 +503,76 @@ public class LoadTestReportExample { addCriterion("status not between", value1, value2, "status"); return (Criteria) this; } + + public Criteria andUserIsNull() { + addCriterion("user is null"); + return (Criteria) this; + } + + public Criteria andUserIsNotNull() { + addCriterion("user is not null"); + return (Criteria) this; + } + + public Criteria andUserEqualTo(String value) { + addCriterion("user =", value, "user"); + return (Criteria) this; + } + + public Criteria andUserNotEqualTo(String value) { + addCriterion("user <>", value, "user"); + return (Criteria) this; + } + + public Criteria andUserGreaterThan(String value) { + addCriterion("user >", value, "user"); + return (Criteria) this; + } + + public Criteria andUserGreaterThanOrEqualTo(String value) { + addCriterion("user >=", value, "user"); + return (Criteria) this; + } + + public Criteria andUserLessThan(String value) { + addCriterion("user <", value, "user"); + return (Criteria) this; + } + + public Criteria andUserLessThanOrEqualTo(String value) { + addCriterion("user <=", value, "user"); + return (Criteria) this; + } + + public Criteria andUserLike(String value) { + addCriterion("user like", value, "user"); + return (Criteria) this; + } + + public Criteria andUserNotLike(String value) { + addCriterion("user not like", value, "user"); + return (Criteria) this; + } + + public Criteria andUserIn(List values) { + addCriterion("user in", values, "user"); + return (Criteria) this; + } + + public Criteria andUserNotIn(List values) { + addCriterion("user not in", values, "user"); + return (Criteria) this; + } + + public Criteria andUserBetween(String value1, String value2) { + addCriterion("user between", value1, value2, "user"); + return (Criteria) this; + } + + public Criteria andUserNotBetween(String value1, String value2) { + addCriterion("user not between", value1, value2, "user"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/backend/src/main/java/io/metersphere/base/mapper/LoadTestMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/LoadTestMapper.xml index f2a7b7188f..5778aa602a 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/LoadTestMapper.xml +++ b/backend/src/main/java/io/metersphere/base/mapper/LoadTestMapper.xml @@ -10,6 +10,7 @@ + @@ -75,7 +76,15 @@ - id, project_id, name, description, create_time, update_time, status, test_resource_pool_id + id, + project_id, + name, + description, + create_time, + update_time, + status, + test_resource_pool_id, + user load_configuration, advanced_configuration, schedule @@ -129,16 +138,16 @@ - insert into load_test (id, project_id, name, - description, create_time, update_time, - status, test_resource_pool_id, load_configuration, - advanced_configuration, schedule - ) - values (#{id,jdbcType=VARCHAR}, #{projectId,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, - #{description,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT}, #{updateTime,jdbcType=BIGINT}, - #{status,jdbcType=VARCHAR}, #{testResourcePoolId,jdbcType=VARCHAR}, #{loadConfiguration,jdbcType=LONGVARCHAR}, - #{advancedConfiguration,jdbcType=LONGVARCHAR}, #{schedule,jdbcType=LONGVARCHAR} - ) + insert into load_test (id, project_id, name, + description, create_time, update_time, + status, test_resource_pool_id, user, + load_configuration, advanced_configuration, + schedule) + values (#{id,jdbcType=VARCHAR}, #{projectId,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, + #{description,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT}, #{updateTime,jdbcType=BIGINT}, + #{status,jdbcType=VARCHAR}, #{testResourcePoolId,jdbcType=VARCHAR}, #{user,jdbcType=VARCHAR}, + #{loadConfiguration,jdbcType=LONGVARCHAR}, #{advancedConfiguration,jdbcType=LONGVARCHAR}, + #{schedule,jdbcType=LONGVARCHAR}) insert into load_test @@ -156,26 +165,29 @@ description, - create_time, - - - update_time, - - - status, - - - test_resource_pool_id, - - - load_configuration, - - - advanced_configuration, - - - schedule, + create_time, + + update_time, + + + status, + + + test_resource_pool_id, + + + user, + + + load_configuration, + + + advanced_configuration, + + + schedule, + @@ -193,24 +205,27 @@ #{createTime,jdbcType=BIGINT}, - - #{updateTime,jdbcType=BIGINT}, - - - #{status,jdbcType=VARCHAR}, - - - #{testResourcePoolId,jdbcType=VARCHAR}, - - - #{loadConfiguration,jdbcType=LONGVARCHAR}, - - - #{advancedConfiguration,jdbcType=LONGVARCHAR}, - - - #{schedule,jdbcType=LONGVARCHAR}, - + + #{updateTime,jdbcType=BIGINT}, + + + #{status,jdbcType=VARCHAR}, + + + #{testResourcePoolId,jdbcType=VARCHAR}, + + + #{user,jdbcType=VARCHAR}, + + + #{loadConfiguration,jdbcType=LONGVARCHAR}, + + + #{advancedConfiguration,jdbcType=LONGVARCHAR}, + + + #{schedule,jdbcType=LONGVARCHAR}, + - - delete from load_test_report - where id = #{id,jdbcType=VARCHAR} - - - delete from load_test_report - - - - + + DELETE FROM load_test_report + WHERE id = #{id,jdbcType=VARCHAR} + + + DELETE FROM load_test_report + + + + INSERT INTO load_test_report (id, test_id, name, create_time, update_time, status, - description) + user, description) VALUES (#{id,jdbcType=VARCHAR}, #{testId,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT}, #{updateTime,jdbcType=BIGINT}, #{status,jdbcType=VARCHAR}, - #{description,jdbcType=LONGVARCHAR}) + #{user,jdbcType=VARCHAR}, #{description,jdbcType=LONGVARCHAR}) insert into load_test_report @@ -143,20 +150,23 @@ name, - - - create_time, - - - update_time, - - - status, - - - description, - - + + + create_time, + + + update_time, + + + status, + + + user, + + + description, + + #{id,jdbcType=VARCHAR}, @@ -167,18 +177,21 @@ #{name,jdbcType=VARCHAR}, - - #{createTime,jdbcType=BIGINT}, - - - #{updateTime,jdbcType=BIGINT}, - - - #{status,jdbcType=VARCHAR}, - - - #{description,jdbcType=LONGVARCHAR}, - + + #{createTime,jdbcType=BIGINT}, + + + #{updateTime,jdbcType=BIGINT}, + + + #{status,jdbcType=VARCHAR}, + + + #{user,jdbcType=VARCHAR}, + + + #{description,jdbcType=LONGVARCHAR}, +