From 5b104fc009929264a5bac29f30d9d6a15a44f293 Mon Sep 17 00:00:00 2001 From: CaptainB Date: Wed, 2 Mar 2022 18:10:38 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E6=B6=88=E6=81=AF=E5=92=8C?= =?UTF-8?q?=E6=A8=A1=E7=89=88=E7=A7=BB=E5=8A=A8=E5=88=B0=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../metersphere/base/domain/CustomField.java | 6 +- .../base/domain/CustomFieldExample.java | 140 ++--- .../base/domain/IssueTemplate.java | 4 +- .../base/domain/IssueTemplateExample.java | 140 ++--- .../metersphere/base/domain/MessageTask.java | 5 +- .../base/domain/MessageTaskExample.java | 56 +- .../base/domain/TestCaseTemplate.java | 4 +- .../base/domain/TestCaseTemplateExample.java | 140 ++--- .../base/mapper/CustomFieldMapper.xml | 60 +-- .../base/mapper/IssueTemplateMapper.xml | 60 +-- .../base/mapper/MessageTaskMapper.xml | 36 +- .../base/mapper/TestCaseTemplateMapper.xml | 58 +-- .../base/mapper/ext/ExtCustomFieldMapper.xml | 13 + .../mapper/ext/ExtIssueTemplateMapper.xml | 13 + .../base/mapper/ext/ExtProjectMapper.java | 4 +- .../base/mapper/ext/ExtProjectMapper.xml | 114 ++++ .../mapper/ext/ExtTestCaseTemplateMapper.xml | 13 + .../base/mapper/ext/ExtWorkspaceMapper.java | 2 - .../base/mapper/ext/ExtWorkspaceMapper.xml | 112 ---- .../constants/PermissionConstants.java | 17 +- .../controller/IssueTemplateController.java | 6 +- .../TestCaseTemplateController.java | 6 +- .../notice/service/NoticeSendService.java | 4 +- .../notice/service/NoticeService.java | 41 +- .../service/CustomFieldService.java | 4 +- .../service/IssueTemplateService.java | 51 +- .../metersphere/service/ProjectService.java | 3 + .../service/TestCaseTemplateService.java | 22 +- .../metersphere/service/WorkspaceService.java | 9 +- .../track/controller/TestPlanController.java | 6 +- .../track/service/TestPlanService.java | 4 +- .../db/migration/V110__v1.19_release.sql | 493 +++++++++++++++++- backend/src/main/resources/permission.json | 76 +-- .../schedule/ScheduleNotification.vue | 4 +- .../import/SwaggerTaskNotification.vue | 4 +- .../common/components/MsScheduleEdit.vue | 9 +- .../components/form/CustomFiledFormItem.vue | 2 +- .../components/common/head/HeaderTopMenus.vue | 5 +- .../components/common/router/router.js | 4 +- .../project/head/ProjectHeaderMenus.vue | 9 +- .../components/project/menu/EditProject.vue | 5 +- .../notification}/MessageSettings.vue | 0 .../ScheduleTaskNotification.vue | 4 +- .../notification}/TaskNotification.vue | 33 +- .../api/ApiAutomationNotification.vue | 6 +- .../api/ApiDefinitionNotification.vue | 6 +- .../notification}/api/ApiHomeNotification.vue | 6 +- .../api/ApiReportNotification.vue | 6 +- .../jenkins/JenkinsNotification.vue | 6 +- .../PerformanceReportNotification.vue | 6 +- .../PerformanceTestNotification.vue | 6 +- .../track/DefectTaskNotification.vue | 6 +- .../track/TestCaseNotification.vue | 6 +- .../track/TestPlanTaskNotification.vue | 6 +- .../track/TestReviewNotification.vue | 6 +- .../track/TrackHomeNotification.vue | 6 +- .../track/TrackReportNotification.vue | 6 +- .../src/business/components/project/router.js | 29 +- .../template/CustomFieldEdit.vue | 5 +- .../template/CustomFieldFormList.vue | 8 +- .../template/CustomFieldList.vue | 38 +- .../template/CustomFieldRelateList.vue | 1 + .../template/CustomFiledComponent.vue | 1 + .../template/FieldCustomDataTableItem.vue | 1 + .../template/FieldTemplateEdit.vue | 12 +- .../template/IssueTemplateEdit.vue | 6 +- .../template/IssuesTemplateList.vue | 31 +- .../template/TemplateSelect.vue | 4 +- .../project/template/TemplateSetting.vue | 64 +++ .../template/TestCaseReportTemplate.vue | 33 +- .../template/TestCaseTemplateEdit.vue | 6 +- .../template/TestCaseTemplateList.vue | 32 +- .../components/settings/SettingHome.vue | 4 +- .../components/settings/SettingMenu.vue | 11 +- .../business/components/settings/router.js | 20 - .../settings/workspace/MsProject.vue | 2 +- .../track/case/components/BatchEdit.vue | 33 +- .../track/case/components/TestCaseEdit.vue | 4 +- .../case/components/TestCaseEditShow.vue | 17 +- .../track/issue/IssueEditDetail.vue | 13 +- .../plan/components/ScheduleNotification.vue | 4 +- .../functional/FunctionalTestCaseEdit.vue | 5 +- .../components/TestReviewTestCaseEdit.vue | 2 +- frontend/src/i18n/en-US.js | 4 +- frontend/src/i18n/zh-CN.js | 4 +- frontend/src/i18n/zh-TW.js | 4 +- frontend/src/login/Login.vue | 4 +- 87 files changed, 1429 insertions(+), 852 deletions(-) rename frontend/src/business/components/{settings/workspace => project/notification}/MessageSettings.vue (100%) rename frontend/src/business/components/{settings/workspace/components => project/notification}/ScheduleTaskNotification.vue (98%) rename frontend/src/business/components/{settings/workspace => project/notification}/TaskNotification.vue (82%) rename frontend/src/business/components/{settings/workspace/components => project/notification}/api/ApiAutomationNotification.vue (98%) rename frontend/src/business/components/{settings/workspace/components => project/notification}/api/ApiDefinitionNotification.vue (98%) rename frontend/src/business/components/{settings/workspace/components => project/notification}/api/ApiHomeNotification.vue (98%) rename frontend/src/business/components/{settings/workspace/components => project/notification}/api/ApiReportNotification.vue (98%) rename frontend/src/business/components/{settings/workspace/components => project/notification}/jenkins/JenkinsNotification.vue (98%) rename frontend/src/business/components/{settings/workspace/components => project/notification}/performance/PerformanceReportNotification.vue (98%) rename frontend/src/business/components/{settings/workspace/components => project/notification}/performance/PerformanceTestNotification.vue (98%) rename frontend/src/business/components/{settings/workspace/components => project/notification}/track/DefectTaskNotification.vue (98%) rename frontend/src/business/components/{settings/workspace/components => project/notification}/track/TestCaseNotification.vue (98%) rename frontend/src/business/components/{settings/workspace/components => project/notification}/track/TestPlanTaskNotification.vue (98%) rename frontend/src/business/components/{settings/workspace/components => project/notification}/track/TestReviewNotification.vue (98%) rename frontend/src/business/components/{settings/workspace/components => project/notification}/track/TrackHomeNotification.vue (98%) rename frontend/src/business/components/{settings/workspace/components => project/notification}/track/TrackReportNotification.vue (98%) rename frontend/src/business/components/{settings/workspace => project}/template/CustomFieldEdit.vue (98%) rename frontend/src/business/components/{settings/workspace => project}/template/CustomFieldFormList.vue (94%) rename frontend/src/business/components/{settings/workspace => project}/template/CustomFieldList.vue (88%) rename frontend/src/business/components/{settings/workspace => project}/template/CustomFieldRelateList.vue (99%) rename frontend/src/business/components/{settings/workspace => project}/template/CustomFiledComponent.vue (99%) rename frontend/src/business/components/{settings/workspace => project}/template/FieldCustomDataTableItem.vue (99%) rename frontend/src/business/components/{settings/workspace => project}/template/FieldTemplateEdit.vue (93%) rename frontend/src/business/components/{settings/workspace => project}/template/IssueTemplateEdit.vue (91%) rename frontend/src/business/components/{settings/workspace => project}/template/IssuesTemplateList.vue (86%) rename frontend/src/business/components/{settings/workspace => project}/template/TemplateSelect.vue (96%) create mode 100644 frontend/src/business/components/project/template/TemplateSetting.vue rename frontend/src/business/components/{settings/workspace => project}/template/TestCaseReportTemplate.vue (62%) rename frontend/src/business/components/{settings/workspace => project}/template/TestCaseTemplateEdit.vue (93%) rename frontend/src/business/components/{settings/workspace => project}/template/TestCaseTemplateList.vue (88%) diff --git a/backend/src/main/java/io/metersphere/base/domain/CustomField.java b/backend/src/main/java/io/metersphere/base/domain/CustomField.java index cd3e94a75d..5240b1f91d 100644 --- a/backend/src/main/java/io/metersphere/base/domain/CustomField.java +++ b/backend/src/main/java/io/metersphere/base/domain/CustomField.java @@ -20,17 +20,15 @@ public class CustomField implements Serializable { private Boolean global; - private String workspaceId; - private Long createTime; private Long updateTime; private String createUser; - private String options; + private String projectId; - private String defaultValue; + private String options; private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/backend/src/main/java/io/metersphere/base/domain/CustomFieldExample.java b/backend/src/main/java/io/metersphere/base/domain/CustomFieldExample.java index aa0f862f06..eca35a316e 100644 --- a/backend/src/main/java/io/metersphere/base/domain/CustomFieldExample.java +++ b/backend/src/main/java/io/metersphere/base/domain/CustomFieldExample.java @@ -574,76 +574,6 @@ public class CustomFieldExample { return (Criteria) this; } - public Criteria andWorkspaceIdIsNull() { - addCriterion("workspace_id is null"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdIsNotNull() { - addCriterion("workspace_id is not null"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdEqualTo(String value) { - addCriterion("workspace_id =", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdNotEqualTo(String value) { - addCriterion("workspace_id <>", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdGreaterThan(String value) { - addCriterion("workspace_id >", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdGreaterThanOrEqualTo(String value) { - addCriterion("workspace_id >=", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdLessThan(String value) { - addCriterion("workspace_id <", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdLessThanOrEqualTo(String value) { - addCriterion("workspace_id <=", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdLike(String value) { - addCriterion("workspace_id like", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdNotLike(String value) { - addCriterion("workspace_id not like", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdIn(List values) { - addCriterion("workspace_id in", values, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdNotIn(List values) { - addCriterion("workspace_id not in", values, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdBetween(String value1, String value2) { - addCriterion("workspace_id between", value1, value2, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdNotBetween(String value1, String value2) { - addCriterion("workspace_id not between", value1, value2, "workspaceId"); - return (Criteria) this; - } - public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; @@ -833,6 +763,76 @@ public class CustomFieldExample { addCriterion("create_user not between", value1, value2, "createUser"); return (Criteria) this; } + + public Criteria andProjectIdIsNull() { + addCriterion("project_id is null"); + return (Criteria) this; + } + + public Criteria andProjectIdIsNotNull() { + addCriterion("project_id is not null"); + return (Criteria) this; + } + + public Criteria andProjectIdEqualTo(String value) { + addCriterion("project_id =", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotEqualTo(String value) { + addCriterion("project_id <>", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdGreaterThan(String value) { + addCriterion("project_id >", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdGreaterThanOrEqualTo(String value) { + addCriterion("project_id >=", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdLessThan(String value) { + addCriterion("project_id <", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdLessThanOrEqualTo(String value) { + addCriterion("project_id <=", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdLike(String value) { + addCriterion("project_id like", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotLike(String value) { + addCriterion("project_id not like", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdIn(List values) { + addCriterion("project_id in", values, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotIn(List values) { + addCriterion("project_id not in", values, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdBetween(String value1, String value2) { + addCriterion("project_id between", value1, value2, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotBetween(String value1, String value2) { + addCriterion("project_id not between", value1, value2, "projectId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/backend/src/main/java/io/metersphere/base/domain/IssueTemplate.java b/backend/src/main/java/io/metersphere/base/domain/IssueTemplate.java index 152a8ff0bb..8a28be8f2d 100644 --- a/backend/src/main/java/io/metersphere/base/domain/IssueTemplate.java +++ b/backend/src/main/java/io/metersphere/base/domain/IssueTemplate.java @@ -20,14 +20,14 @@ public class IssueTemplate implements Serializable { private Boolean global; - private String workspaceId; - private Long createTime; private Long updateTime; private String createUser; + private String projectId; + private String content; private static final long serialVersionUID = 1L; diff --git a/backend/src/main/java/io/metersphere/base/domain/IssueTemplateExample.java b/backend/src/main/java/io/metersphere/base/domain/IssueTemplateExample.java index 5ec75cccae..1861826946 100644 --- a/backend/src/main/java/io/metersphere/base/domain/IssueTemplateExample.java +++ b/backend/src/main/java/io/metersphere/base/domain/IssueTemplateExample.java @@ -574,76 +574,6 @@ public class IssueTemplateExample { return (Criteria) this; } - public Criteria andWorkspaceIdIsNull() { - addCriterion("workspace_id is null"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdIsNotNull() { - addCriterion("workspace_id is not null"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdEqualTo(String value) { - addCriterion("workspace_id =", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdNotEqualTo(String value) { - addCriterion("workspace_id <>", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdGreaterThan(String value) { - addCriterion("workspace_id >", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdGreaterThanOrEqualTo(String value) { - addCriterion("workspace_id >=", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdLessThan(String value) { - addCriterion("workspace_id <", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdLessThanOrEqualTo(String value) { - addCriterion("workspace_id <=", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdLike(String value) { - addCriterion("workspace_id like", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdNotLike(String value) { - addCriterion("workspace_id not like", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdIn(List values) { - addCriterion("workspace_id in", values, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdNotIn(List values) { - addCriterion("workspace_id not in", values, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdBetween(String value1, String value2) { - addCriterion("workspace_id between", value1, value2, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdNotBetween(String value1, String value2) { - addCriterion("workspace_id not between", value1, value2, "workspaceId"); - return (Criteria) this; - } - public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; @@ -833,6 +763,76 @@ public class IssueTemplateExample { addCriterion("create_user not between", value1, value2, "createUser"); return (Criteria) this; } + + public Criteria andProjectIdIsNull() { + addCriterion("project_id is null"); + return (Criteria) this; + } + + public Criteria andProjectIdIsNotNull() { + addCriterion("project_id is not null"); + return (Criteria) this; + } + + public Criteria andProjectIdEqualTo(String value) { + addCriterion("project_id =", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotEqualTo(String value) { + addCriterion("project_id <>", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdGreaterThan(String value) { + addCriterion("project_id >", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdGreaterThanOrEqualTo(String value) { + addCriterion("project_id >=", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdLessThan(String value) { + addCriterion("project_id <", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdLessThanOrEqualTo(String value) { + addCriterion("project_id <=", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdLike(String value) { + addCriterion("project_id like", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotLike(String value) { + addCriterion("project_id not like", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdIn(List values) { + addCriterion("project_id in", values, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotIn(List values) { + addCriterion("project_id not in", values, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdBetween(String value1, String value2) { + addCriterion("project_id between", value1, value2, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotBetween(String value1, String value2) { + addCriterion("project_id not between", value1, value2, "projectId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/backend/src/main/java/io/metersphere/base/domain/MessageTask.java b/backend/src/main/java/io/metersphere/base/domain/MessageTask.java index 8e3953f7ec..542a94037b 100644 --- a/backend/src/main/java/io/metersphere/base/domain/MessageTask.java +++ b/backend/src/main/java/io/metersphere/base/domain/MessageTask.java @@ -1,8 +1,9 @@ package io.metersphere.base.domain; -import java.io.Serializable; import lombok.Data; +import java.io.Serializable; + @Data public class MessageTask implements Serializable { private String id; @@ -25,7 +26,7 @@ public class MessageTask implements Serializable { private Long createTime; - private String workspaceId; + private String projectId; private String template; diff --git a/backend/src/main/java/io/metersphere/base/domain/MessageTaskExample.java b/backend/src/main/java/io/metersphere/base/domain/MessageTaskExample.java index 8e2761b7f2..683cbaeaf8 100644 --- a/backend/src/main/java/io/metersphere/base/domain/MessageTaskExample.java +++ b/backend/src/main/java/io/metersphere/base/domain/MessageTaskExample.java @@ -784,73 +784,73 @@ public class MessageTaskExample { return (Criteria) this; } - public Criteria andWorkspaceIdIsNull() { - addCriterion("workspace_id is null"); + public Criteria andProjectIdIsNull() { + addCriterion("project_id is null"); return (Criteria) this; } - public Criteria andWorkspaceIdIsNotNull() { - addCriterion("workspace_id is not null"); + public Criteria andProjectIdIsNotNull() { + addCriterion("project_id is not null"); return (Criteria) this; } - public Criteria andWorkspaceIdEqualTo(String value) { - addCriterion("workspace_id =", value, "workspaceId"); + public Criteria andProjectIdEqualTo(String value) { + addCriterion("project_id =", value, "projectId"); return (Criteria) this; } - public Criteria andWorkspaceIdNotEqualTo(String value) { - addCriterion("workspace_id <>", value, "workspaceId"); + public Criteria andProjectIdNotEqualTo(String value) { + addCriterion("project_id <>", value, "projectId"); return (Criteria) this; } - public Criteria andWorkspaceIdGreaterThan(String value) { - addCriterion("workspace_id >", value, "workspaceId"); + public Criteria andProjectIdGreaterThan(String value) { + addCriterion("project_id >", value, "projectId"); return (Criteria) this; } - public Criteria andWorkspaceIdGreaterThanOrEqualTo(String value) { - addCriterion("workspace_id >=", value, "workspaceId"); + public Criteria andProjectIdGreaterThanOrEqualTo(String value) { + addCriterion("project_id >=", value, "projectId"); return (Criteria) this; } - public Criteria andWorkspaceIdLessThan(String value) { - addCriterion("workspace_id <", value, "workspaceId"); + public Criteria andProjectIdLessThan(String value) { + addCriterion("project_id <", value, "projectId"); return (Criteria) this; } - public Criteria andWorkspaceIdLessThanOrEqualTo(String value) { - addCriterion("workspace_id <=", value, "workspaceId"); + public Criteria andProjectIdLessThanOrEqualTo(String value) { + addCriterion("project_id <=", value, "projectId"); return (Criteria) this; } - public Criteria andWorkspaceIdLike(String value) { - addCriterion("workspace_id like", value, "workspaceId"); + public Criteria andProjectIdLike(String value) { + addCriterion("project_id like", value, "projectId"); return (Criteria) this; } - public Criteria andWorkspaceIdNotLike(String value) { - addCriterion("workspace_id not like", value, "workspaceId"); + public Criteria andProjectIdNotLike(String value) { + addCriterion("project_id not like", value, "projectId"); return (Criteria) this; } - public Criteria andWorkspaceIdIn(List values) { - addCriterion("workspace_id in", values, "workspaceId"); + public Criteria andProjectIdIn(List values) { + addCriterion("project_id in", values, "projectId"); return (Criteria) this; } - public Criteria andWorkspaceIdNotIn(List values) { - addCriterion("workspace_id not in", values, "workspaceId"); + public Criteria andProjectIdNotIn(List values) { + addCriterion("project_id not in", values, "projectId"); return (Criteria) this; } - public Criteria andWorkspaceIdBetween(String value1, String value2) { - addCriterion("workspace_id between", value1, value2, "workspaceId"); + public Criteria andProjectIdBetween(String value1, String value2) { + addCriterion("project_id between", value1, value2, "projectId"); return (Criteria) this; } - public Criteria andWorkspaceIdNotBetween(String value1, String value2) { - addCriterion("workspace_id not between", value1, value2, "workspaceId"); + public Criteria andProjectIdNotBetween(String value1, String value2) { + addCriterion("project_id not between", value1, value2, "projectId"); return (Criteria) this; } } diff --git a/backend/src/main/java/io/metersphere/base/domain/TestCaseTemplate.java b/backend/src/main/java/io/metersphere/base/domain/TestCaseTemplate.java index cd2261bfd6..19dc2aff27 100644 --- a/backend/src/main/java/io/metersphere/base/domain/TestCaseTemplate.java +++ b/backend/src/main/java/io/metersphere/base/domain/TestCaseTemplate.java @@ -20,8 +20,6 @@ public class TestCaseTemplate implements Serializable { private Boolean global; - private String workspaceId; - private String prerequisite; private Long createTime; @@ -32,5 +30,7 @@ public class TestCaseTemplate implements Serializable { private String createUser; + private String projectId; + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/backend/src/main/java/io/metersphere/base/domain/TestCaseTemplateExample.java b/backend/src/main/java/io/metersphere/base/domain/TestCaseTemplateExample.java index b65a4b1bc0..88059652b1 100644 --- a/backend/src/main/java/io/metersphere/base/domain/TestCaseTemplateExample.java +++ b/backend/src/main/java/io/metersphere/base/domain/TestCaseTemplateExample.java @@ -574,76 +574,6 @@ public class TestCaseTemplateExample { return (Criteria) this; } - public Criteria andWorkspaceIdIsNull() { - addCriterion("workspace_id is null"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdIsNotNull() { - addCriterion("workspace_id is not null"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdEqualTo(String value) { - addCriterion("workspace_id =", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdNotEqualTo(String value) { - addCriterion("workspace_id <>", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdGreaterThan(String value) { - addCriterion("workspace_id >", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdGreaterThanOrEqualTo(String value) { - addCriterion("workspace_id >=", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdLessThan(String value) { - addCriterion("workspace_id <", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdLessThanOrEqualTo(String value) { - addCriterion("workspace_id <=", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdLike(String value) { - addCriterion("workspace_id like", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdNotLike(String value) { - addCriterion("workspace_id not like", value, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdIn(List values) { - addCriterion("workspace_id in", values, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdNotIn(List values) { - addCriterion("workspace_id not in", values, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdBetween(String value1, String value2) { - addCriterion("workspace_id between", value1, value2, "workspaceId"); - return (Criteria) this; - } - - public Criteria andWorkspaceIdNotBetween(String value1, String value2) { - addCriterion("workspace_id not between", value1, value2, "workspaceId"); - return (Criteria) this; - } - public Criteria andPrerequisiteIsNull() { addCriterion("prerequisite is null"); return (Criteria) this; @@ -973,6 +903,76 @@ public class TestCaseTemplateExample { addCriterion("create_user not between", value1, value2, "createUser"); return (Criteria) this; } + + public Criteria andProjectIdIsNull() { + addCriterion("project_id is null"); + return (Criteria) this; + } + + public Criteria andProjectIdIsNotNull() { + addCriterion("project_id is not null"); + return (Criteria) this; + } + + public Criteria andProjectIdEqualTo(String value) { + addCriterion("project_id =", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotEqualTo(String value) { + addCriterion("project_id <>", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdGreaterThan(String value) { + addCriterion("project_id >", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdGreaterThanOrEqualTo(String value) { + addCriterion("project_id >=", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdLessThan(String value) { + addCriterion("project_id <", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdLessThanOrEqualTo(String value) { + addCriterion("project_id <=", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdLike(String value) { + addCriterion("project_id like", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotLike(String value) { + addCriterion("project_id not like", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdIn(List values) { + addCriterion("project_id in", values, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotIn(List values) { + addCriterion("project_id not in", values, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdBetween(String value1, String value2) { + addCriterion("project_id between", value1, value2, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotBetween(String value1, String value2) { + addCriterion("project_id not between", value1, value2, "projectId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/backend/src/main/java/io/metersphere/base/mapper/CustomFieldMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/CustomFieldMapper.xml index 517b22043e..46cd910c9e 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/CustomFieldMapper.xml +++ b/backend/src/main/java/io/metersphere/base/mapper/CustomFieldMapper.xml @@ -9,10 +9,10 @@ - + @@ -76,8 +76,8 @@ - id, `name`, scene, `type`, remark, `system`, `global`, workspace_id, create_time, - update_time, create_user + id, `name`, scene, `type`, remark, `system`, `global`, create_time, update_time, + create_user, project_id `options` @@ -131,14 +131,14 @@ - insert into custom_field (id, `name`, scene, + INSERT INTO custom_field (id, `name`, scene, `type`, remark, `system`, `global`, - workspace_id, create_time, update_time, - create_user, `options`) - values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{scene,jdbcType=VARCHAR}, + create_time, update_time, create_user, + project_id, `options`) + VALUES (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{scene,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{system,jdbcType=BIT}, #{global,jdbcType=BIT}, - #{workspaceId,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT}, #{updateTime,jdbcType=BIGINT}, - #{createUser,jdbcType=VARCHAR}, #{options,jdbcType=LONGVARCHAR}) + #{createTime,jdbcType=BIGINT}, #{updateTime,jdbcType=BIGINT}, #{createUser,jdbcType=VARCHAR}, + #{projectId,jdbcType=VARCHAR}, #{options,jdbcType=LONGVARCHAR}) insert into custom_field @@ -164,9 +164,6 @@ `global`, - - workspace_id, - create_time, @@ -176,6 +173,9 @@ create_user, + + project_id, + `options`, @@ -202,9 +202,6 @@ #{global,jdbcType=BIT}, - - #{workspaceId,jdbcType=VARCHAR}, - #{createTime,jdbcType=BIGINT}, @@ -214,6 +211,9 @@ #{createUser,jdbcType=VARCHAR}, + + #{projectId,jdbcType=VARCHAR}, + #{options,jdbcType=LONGVARCHAR}, @@ -249,9 +249,6 @@ `global` = #{record.global,jdbcType=BIT}, - - workspace_id = #{record.workspaceId,jdbcType=VARCHAR}, - create_time = #{record.createTime,jdbcType=BIGINT}, @@ -261,6 +258,9 @@ create_user = #{record.createUser,jdbcType=VARCHAR}, + + project_id = #{record.projectId,jdbcType=VARCHAR}, + `options` = #{record.options,jdbcType=LONGVARCHAR}, @@ -278,10 +278,10 @@ remark = #{record.remark,jdbcType=VARCHAR}, `system` = #{record.system,jdbcType=BIT}, `global` = #{record.global,jdbcType=BIT}, - workspace_id = #{record.workspaceId,jdbcType=VARCHAR}, create_time = #{record.createTime,jdbcType=BIGINT}, update_time = #{record.updateTime,jdbcType=BIGINT}, create_user = #{record.createUser,jdbcType=VARCHAR}, + project_id = #{record.projectId,jdbcType=VARCHAR}, `options` = #{record.options,jdbcType=LONGVARCHAR} @@ -296,10 +296,10 @@ remark = #{record.remark,jdbcType=VARCHAR}, `system` = #{record.system,jdbcType=BIT}, `global` = #{record.global,jdbcType=BIT}, - workspace_id = #{record.workspaceId,jdbcType=VARCHAR}, create_time = #{record.createTime,jdbcType=BIGINT}, update_time = #{record.updateTime,jdbcType=BIGINT}, - create_user = #{record.createUser,jdbcType=VARCHAR} + create_user = #{record.createUser,jdbcType=VARCHAR}, + project_id = #{record.projectId,jdbcType=VARCHAR} @@ -325,9 +325,6 @@ `global` = #{global,jdbcType=BIT}, - - workspace_id = #{workspaceId,jdbcType=VARCHAR}, - create_time = #{createTime,jdbcType=BIGINT}, @@ -337,6 +334,9 @@ create_user = #{createUser,jdbcType=VARCHAR}, + + project_id = #{projectId,jdbcType=VARCHAR}, + `options` = #{options,jdbcType=LONGVARCHAR}, @@ -351,25 +351,25 @@ remark = #{remark,jdbcType=VARCHAR}, `system` = #{system,jdbcType=BIT}, `global` = #{global,jdbcType=BIT}, - workspace_id = #{workspaceId,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=BIGINT}, update_time = #{updateTime,jdbcType=BIGINT}, create_user = #{createUser,jdbcType=VARCHAR}, + project_id = #{projectId,jdbcType=VARCHAR}, `options` = #{options,jdbcType=LONGVARCHAR} where id = #{id,jdbcType=VARCHAR} - update custom_field - set `name` = #{name,jdbcType=VARCHAR}, + UPDATE custom_field + SET `name` = #{name,jdbcType=VARCHAR}, scene = #{scene,jdbcType=VARCHAR}, `type` = #{type,jdbcType=VARCHAR}, remark = #{remark,jdbcType=VARCHAR}, `system` = #{system,jdbcType=BIT}, `global` = #{global,jdbcType=BIT}, - workspace_id = #{workspaceId,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=BIGINT}, update_time = #{updateTime,jdbcType=BIGINT}, - create_user = #{createUser,jdbcType=VARCHAR} - where id = #{id,jdbcType=VARCHAR} + create_user = #{createUser,jdbcType=VARCHAR}, + project_id = #{projectId,jdbcType=VARCHAR} + WHERE id = #{id,jdbcType=VARCHAR} \ No newline at end of file diff --git a/backend/src/main/java/io/metersphere/base/mapper/IssueTemplateMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/IssueTemplateMapper.xml index 5acd9f96c0..eb9c358113 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/IssueTemplateMapper.xml +++ b/backend/src/main/java/io/metersphere/base/mapper/IssueTemplateMapper.xml @@ -9,10 +9,10 @@ - + @@ -76,8 +76,8 @@ - id, `name`, platform, description, title, `system`, `global`, workspace_id, create_time, - update_time, create_user + id, `name`, platform, description, title, `system`, `global`, create_time, update_time, + create_user, project_id content @@ -131,15 +131,15 @@ - insert into issue_template (id, `name`, platform, + INSERT INTO issue_template (id, `name`, platform, description, title, `system`, - `global`, workspace_id, create_time, - update_time, create_user, content + `global`, create_time, update_time, + create_user, project_id, content ) - values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{platform,jdbcType=VARCHAR}, + VALUES (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{platform,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{title,jdbcType=VARCHAR}, #{system,jdbcType=BIT}, - #{global,jdbcType=BIT}, #{workspaceId,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT}, - #{updateTime,jdbcType=BIGINT}, #{createUser,jdbcType=VARCHAR}, #{content,jdbcType=LONGVARCHAR} + #{global,jdbcType=BIT}, #{createTime,jdbcType=BIGINT}, #{updateTime,jdbcType=BIGINT}, + #{createUser,jdbcType=VARCHAR}, #{projectId,jdbcType=VARCHAR}, #{content,jdbcType=LONGVARCHAR} ) @@ -166,9 +166,6 @@ `global`, - - workspace_id, - create_time, @@ -178,6 +175,9 @@ create_user, + + project_id, + content, @@ -204,9 +204,6 @@ #{global,jdbcType=BIT}, - - #{workspaceId,jdbcType=VARCHAR}, - #{createTime,jdbcType=BIGINT}, @@ -216,6 +213,9 @@ #{createUser,jdbcType=VARCHAR}, + + #{projectId,jdbcType=VARCHAR}, + #{content,jdbcType=LONGVARCHAR}, @@ -251,9 +251,6 @@ `global` = #{record.global,jdbcType=BIT}, - - workspace_id = #{record.workspaceId,jdbcType=VARCHAR}, - create_time = #{record.createTime,jdbcType=BIGINT}, @@ -263,6 +260,9 @@ create_user = #{record.createUser,jdbcType=VARCHAR}, + + project_id = #{record.projectId,jdbcType=VARCHAR}, + content = #{record.content,jdbcType=LONGVARCHAR}, @@ -280,10 +280,10 @@ title = #{record.title,jdbcType=VARCHAR}, `system` = #{record.system,jdbcType=BIT}, `global` = #{record.global,jdbcType=BIT}, - workspace_id = #{record.workspaceId,jdbcType=VARCHAR}, create_time = #{record.createTime,jdbcType=BIGINT}, update_time = #{record.updateTime,jdbcType=BIGINT}, create_user = #{record.createUser,jdbcType=VARCHAR}, + project_id = #{record.projectId,jdbcType=VARCHAR}, content = #{record.content,jdbcType=LONGVARCHAR} @@ -298,10 +298,10 @@ title = #{record.title,jdbcType=VARCHAR}, `system` = #{record.system,jdbcType=BIT}, `global` = #{record.global,jdbcType=BIT}, - workspace_id = #{record.workspaceId,jdbcType=VARCHAR}, create_time = #{record.createTime,jdbcType=BIGINT}, update_time = #{record.updateTime,jdbcType=BIGINT}, - create_user = #{record.createUser,jdbcType=VARCHAR} + create_user = #{record.createUser,jdbcType=VARCHAR}, + project_id = #{record.projectId,jdbcType=VARCHAR} @@ -327,9 +327,6 @@ `global` = #{global,jdbcType=BIT}, - - workspace_id = #{workspaceId,jdbcType=VARCHAR}, - create_time = #{createTime,jdbcType=BIGINT}, @@ -339,6 +336,9 @@ create_user = #{createUser,jdbcType=VARCHAR}, + + project_id = #{projectId,jdbcType=VARCHAR}, + content = #{content,jdbcType=LONGVARCHAR}, @@ -353,25 +353,25 @@ title = #{title,jdbcType=VARCHAR}, `system` = #{system,jdbcType=BIT}, `global` = #{global,jdbcType=BIT}, - workspace_id = #{workspaceId,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=BIGINT}, update_time = #{updateTime,jdbcType=BIGINT}, create_user = #{createUser,jdbcType=VARCHAR}, + project_id = #{projectId,jdbcType=VARCHAR}, content = #{content,jdbcType=LONGVARCHAR} where id = #{id,jdbcType=VARCHAR} - update issue_template - set `name` = #{name,jdbcType=VARCHAR}, + UPDATE issue_template + SET `name` = #{name,jdbcType=VARCHAR}, platform = #{platform,jdbcType=VARCHAR}, description = #{description,jdbcType=VARCHAR}, title = #{title,jdbcType=VARCHAR}, `system` = #{system,jdbcType=BIT}, `global` = #{global,jdbcType=BIT}, - workspace_id = #{workspaceId,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=BIGINT}, update_time = #{updateTime,jdbcType=BIGINT}, - create_user = #{createUser,jdbcType=VARCHAR} - where id = #{id,jdbcType=VARCHAR} + create_user = #{createUser,jdbcType=VARCHAR}, + project_id = #{projectId,jdbcType=VARCHAR} + WHERE id = #{id,jdbcType=VARCHAR} \ No newline at end of file diff --git a/backend/src/main/java/io/metersphere/base/mapper/MessageTaskMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/MessageTaskMapper.xml index 4eeed4b7dc..deaefd4e0f 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/MessageTaskMapper.xml +++ b/backend/src/main/java/io/metersphere/base/mapper/MessageTaskMapper.xml @@ -12,7 +12,7 @@ - + @@ -77,7 +77,7 @@ id, `type`, event, user_id, task_type, webhook, identification, is_set, test_id, - create_time, workspace_id + create_time, project_id `template` @@ -131,15 +131,15 @@ - insert into message_task (id, `type`, event, + INSERT INTO message_task (id, `type`, event, user_id, task_type, webhook, identification, is_set, test_id, - create_time, workspace_id, `template` + create_time, project_id, `template` ) - values (#{id,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR}, #{event,jdbcType=VARCHAR}, + VALUES (#{id,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR}, #{event,jdbcType=VARCHAR}, #{userId,jdbcType=VARCHAR}, #{taskType,jdbcType=VARCHAR}, #{webhook,jdbcType=VARCHAR}, #{identification,jdbcType=VARCHAR}, #{isSet,jdbcType=BIT}, #{testId,jdbcType=VARCHAR}, - #{createTime,jdbcType=BIGINT}, #{workspaceId,jdbcType=VARCHAR}, #{template,jdbcType=LONGVARCHAR} + #{createTime,jdbcType=BIGINT}, #{projectId,jdbcType=VARCHAR}, #{template,jdbcType=LONGVARCHAR} ) @@ -175,8 +175,8 @@ create_time, - - workspace_id, + + project_id, `template`, @@ -213,8 +213,8 @@ #{createTime,jdbcType=BIGINT}, - - #{workspaceId,jdbcType=VARCHAR}, + + #{projectId,jdbcType=VARCHAR}, #{template,jdbcType=LONGVARCHAR}, @@ -260,8 +260,8 @@ create_time = #{record.createTime,jdbcType=BIGINT}, - - workspace_id = #{record.workspaceId,jdbcType=VARCHAR}, + + project_id = #{record.projectId,jdbcType=VARCHAR}, `template` = #{record.template,jdbcType=LONGVARCHAR}, @@ -283,7 +283,7 @@ is_set = #{record.isSet,jdbcType=BIT}, test_id = #{record.testId,jdbcType=VARCHAR}, create_time = #{record.createTime,jdbcType=BIGINT}, - workspace_id = #{record.workspaceId,jdbcType=VARCHAR}, + project_id = #{record.projectId,jdbcType=VARCHAR}, `template` = #{record.template,jdbcType=LONGVARCHAR} @@ -301,7 +301,7 @@ is_set = #{record.isSet,jdbcType=BIT}, test_id = #{record.testId,jdbcType=VARCHAR}, create_time = #{record.createTime,jdbcType=BIGINT}, - workspace_id = #{record.workspaceId,jdbcType=VARCHAR} + project_id = #{record.projectId,jdbcType=VARCHAR} @@ -336,8 +336,8 @@ create_time = #{createTime,jdbcType=BIGINT}, - - workspace_id = #{workspaceId,jdbcType=VARCHAR}, + + project_id = #{projectId,jdbcType=VARCHAR}, `template` = #{template,jdbcType=LONGVARCHAR}, @@ -356,7 +356,7 @@ is_set = #{isSet,jdbcType=BIT}, test_id = #{testId,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=BIGINT}, - workspace_id = #{workspaceId,jdbcType=VARCHAR}, + project_id = #{projectId,jdbcType=VARCHAR}, `template` = #{template,jdbcType=LONGVARCHAR} where id = #{id,jdbcType=VARCHAR} @@ -371,7 +371,7 @@ is_set = #{isSet,jdbcType=BIT}, test_id = #{testId,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=BIGINT}, - workspace_id = #{workspaceId,jdbcType=VARCHAR} + project_id = #{projectId,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR} \ No newline at end of file diff --git a/backend/src/main/java/io/metersphere/base/mapper/TestCaseTemplateMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/TestCaseTemplateMapper.xml index c48265ff23..404fc1bee8 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/TestCaseTemplateMapper.xml +++ b/backend/src/main/java/io/metersphere/base/mapper/TestCaseTemplateMapper.xml @@ -9,12 +9,12 @@ - + @@ -81,8 +81,8 @@ - id, `name`, `type`, description, case_name, `system`, `global`, workspace_id, prerequisite, - create_time, update_time, step_model, create_user + id, `name`, `type`, description, case_name, `system`, `global`, prerequisite, create_time, + update_time, step_model, create_user, project_id step_description, expected_result, actual_result, steps @@ -136,17 +136,17 @@ - insert into test_case_template (id, `name`, `type`, + INSERT INTO test_case_template (id, `name`, `type`, description, case_name, `system`, - `global`, workspace_id, prerequisite, - create_time, update_time, step_model, - create_user, step_description, expected_result, + `global`, prerequisite, create_time, + update_time, step_model, create_user, + project_id, step_description, expected_result, actual_result, steps) - values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR}, + VALUES (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{caseName,jdbcType=VARCHAR}, #{system,jdbcType=BIT}, - #{global,jdbcType=BIT}, #{workspaceId,jdbcType=VARCHAR}, #{prerequisite,jdbcType=VARCHAR}, - #{createTime,jdbcType=BIGINT}, #{updateTime,jdbcType=BIGINT}, #{stepModel,jdbcType=VARCHAR}, - #{createUser,jdbcType=VARCHAR}, #{stepDescription,jdbcType=LONGVARCHAR}, #{expectedResult,jdbcType=LONGVARCHAR}, + #{global,jdbcType=BIT}, #{prerequisite,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT}, + #{updateTime,jdbcType=BIGINT}, #{stepModel,jdbcType=VARCHAR}, #{createUser,jdbcType=VARCHAR}, + #{projectId,jdbcType=VARCHAR}, #{stepDescription,jdbcType=LONGVARCHAR}, #{expectedResult,jdbcType=LONGVARCHAR}, #{actualResult,jdbcType=LONGVARCHAR}, #{steps,jdbcType=LONGVARCHAR}) @@ -173,9 +173,6 @@ `global`, - - workspace_id, - prerequisite, @@ -191,6 +188,9 @@ create_user, + + project_id, + step_description, @@ -226,9 +226,6 @@ #{global,jdbcType=BIT}, - - #{workspaceId,jdbcType=VARCHAR}, - #{prerequisite,jdbcType=VARCHAR}, @@ -244,6 +241,9 @@ #{createUser,jdbcType=VARCHAR}, + + #{projectId,jdbcType=VARCHAR}, + #{stepDescription,jdbcType=LONGVARCHAR}, @@ -288,9 +288,6 @@ `global` = #{record.global,jdbcType=BIT}, - - workspace_id = #{record.workspaceId,jdbcType=VARCHAR}, - prerequisite = #{record.prerequisite,jdbcType=VARCHAR}, @@ -306,6 +303,9 @@ create_user = #{record.createUser,jdbcType=VARCHAR}, + + project_id = #{record.projectId,jdbcType=VARCHAR}, + step_description = #{record.stepDescription,jdbcType=LONGVARCHAR}, @@ -332,12 +332,12 @@ case_name = #{record.caseName,jdbcType=VARCHAR}, `system` = #{record.system,jdbcType=BIT}, `global` = #{record.global,jdbcType=BIT}, - workspace_id = #{record.workspaceId,jdbcType=VARCHAR}, prerequisite = #{record.prerequisite,jdbcType=VARCHAR}, create_time = #{record.createTime,jdbcType=BIGINT}, update_time = #{record.updateTime,jdbcType=BIGINT}, step_model = #{record.stepModel,jdbcType=VARCHAR}, create_user = #{record.createUser,jdbcType=VARCHAR}, + project_id = #{record.projectId,jdbcType=VARCHAR}, step_description = #{record.stepDescription,jdbcType=LONGVARCHAR}, expected_result = #{record.expectedResult,jdbcType=LONGVARCHAR}, actual_result = #{record.actualResult,jdbcType=LONGVARCHAR}, @@ -355,12 +355,12 @@ case_name = #{record.caseName,jdbcType=VARCHAR}, `system` = #{record.system,jdbcType=BIT}, `global` = #{record.global,jdbcType=BIT}, - workspace_id = #{record.workspaceId,jdbcType=VARCHAR}, prerequisite = #{record.prerequisite,jdbcType=VARCHAR}, create_time = #{record.createTime,jdbcType=BIGINT}, update_time = #{record.updateTime,jdbcType=BIGINT}, step_model = #{record.stepModel,jdbcType=VARCHAR}, - create_user = #{record.createUser,jdbcType=VARCHAR} + create_user = #{record.createUser,jdbcType=VARCHAR}, + project_id = #{record.projectId,jdbcType=VARCHAR} @@ -386,9 +386,6 @@ `global` = #{global,jdbcType=BIT}, - - workspace_id = #{workspaceId,jdbcType=VARCHAR}, - prerequisite = #{prerequisite,jdbcType=VARCHAR}, @@ -404,6 +401,9 @@ create_user = #{createUser,jdbcType=VARCHAR}, + + project_id = #{projectId,jdbcType=VARCHAR}, + step_description = #{stepDescription,jdbcType=LONGVARCHAR}, @@ -427,12 +427,12 @@ case_name = #{caseName,jdbcType=VARCHAR}, `system` = #{system,jdbcType=BIT}, `global` = #{global,jdbcType=BIT}, - workspace_id = #{workspaceId,jdbcType=VARCHAR}, prerequisite = #{prerequisite,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=BIGINT}, update_time = #{updateTime,jdbcType=BIGINT}, step_model = #{stepModel,jdbcType=VARCHAR}, create_user = #{createUser,jdbcType=VARCHAR}, + project_id = #{projectId,jdbcType=VARCHAR}, step_description = #{stepDescription,jdbcType=LONGVARCHAR}, expected_result = #{expectedResult,jdbcType=LONGVARCHAR}, actual_result = #{actualResult,jdbcType=LONGVARCHAR}, @@ -447,12 +447,12 @@ case_name = #{caseName,jdbcType=VARCHAR}, `system` = #{system,jdbcType=BIT}, `global` = #{global,jdbcType=BIT}, - workspace_id = #{workspaceId,jdbcType=VARCHAR}, prerequisite = #{prerequisite,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=BIGINT}, update_time = #{updateTime,jdbcType=BIGINT}, step_model = #{stepModel,jdbcType=VARCHAR}, - create_user = #{createUser,jdbcType=VARCHAR} + create_user = #{createUser,jdbcType=VARCHAR}, + project_id = #{projectId,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR} \ No newline at end of file diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtCustomFieldMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtCustomFieldMapper.xml index be07c0a292..5029672782 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtCustomFieldMapper.xml +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtCustomFieldMapper.xml @@ -50,6 +50,19 @@ ) ) + + and ( + cf.project_id = #{request.projectId} + or ( + cf.global = 1 and + not exists ( + select id + from custom_field cf_child + where cf_child.name = cf.name and cf_child.scene = cf.scene and cf_child.global != 1 and cf_child.project_id = #{request.projectId} + ) + ) + ) + and cf.id in diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtIssueTemplateMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtIssueTemplateMapper.xml index b3a28ab801..fafbee3d3f 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtIssueTemplateMapper.xml +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtIssueTemplateMapper.xml @@ -31,6 +31,19 @@ ) ) + + and ( + it.project_id = #{request.projectId} + or ( + it.global = 1 and + not exists ( + select id + from issue_template it_child + where it_child.name = it.name and it_child.global != 1 and it_child.project_id = #{request.projectId} + ) + ) + ) + diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtProjectMapper.java b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtProjectMapper.java index dedcb072c9..e904b9fbdc 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtProjectMapper.java +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtProjectMapper.java @@ -34,7 +34,9 @@ public interface ExtProjectMapper { long getProjectMemberSize(@Param("projectId") String projectId); - ListgetProjectByUserId(@Param("userId")String userId); + List getProjectByUserId(@Param("userId") String userId); int getProjectPlanBugSize(@Param("projectId") String projectId); + + void setDefaultMessageTask(@Param("projectId") String projectId); } diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtProjectMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtProjectMapper.xml index 8f581ac945..482a6185b9 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtProjectMapper.xml +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtProjectMapper.xml @@ -257,4 +257,118 @@ and (issues.status != 'closed' or issues.status is null) and test_case.status != 'Trash'; + + + + INSERT INTO message_task (id, type, event, user_id, task_type, webhook, identification, is_set, project_id, + test_id, create_time, template) + VALUES (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'PERFORMANCE_TEST_TASK', '', + 'ce692111-166b-491a-ae69-f047c31de971', 0, + #{projectId}, NULL, 1629686472659, NULL), + (UUID(), 'IN_SITE', 'COMPLETE', 'CREATOR', 'REVIEW_TASK', + '', + '72836b2d-4c2f-4185-95aa-1894c6f0d1c3', 0, #{projectId}, NULL, 1629697096803, + NULL), + (UUID(), 'IN_SITE', 'CLOSE_SCHEDULE', 'CREATOR', 'TRACK_HOME_TASK', '', + 'ceb0aeb5-f194-4183-a995-3607a769c61d', + 0, #{projectId}, NULL, 1629705930753, NULL), + (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'API_AUTOMATION_TASK', '', + 'e2865464-0da3-42bc-a041-7d21bd70d339', 0, + #{projectId}, NULL, 1629446356866, NULL), + (UUID(), 'IN_SITE', 'UPDATE', 'FOLLOW_PEOPLE', 'PERFORMANCE_TEST_TASK', '', + '79d7dcdc-68a2-47a2-9ef5-21fdf9bde65c', 0, #{projectId}, NULL, 1629446379928, + NULL), + (UUID(), 'IN_SITE', 'CLOSE_SCHEDULE', 'CREATOR', 'API_HOME_TASK', '', + 'dbe5dfcd-927f-4065-93cf-22f33d9570ac', 0, + #{projectId}, NULL, 1629446330438, NULL), + (UUID(), 'IN_SITE', 'UPDATE', 'FOLLOW_PEOPLE', 'TRACK_TEST_CASE_TASK', '', + '3a632784-c73b-4f5f-824c-bdf4fccf6f4d', 0, #{projectId}, NULL, 1629705939795, + NULL), + (UUID(), 'IN_SITE', 'CASE_UPDATE', 'FOLLOW_PEOPLE', 'API_DEFINITION_TASK', '', + 'a6a3979a-bd80-414c-a253-06f0364c434f', 0, #{projectId}, NULL, 1629446346104, + NULL), + (UUID(), 'IN_SITE', 'UPDATE', 'FOLLOW_PEOPLE', 'API_AUTOMATION_TASK', '', + '019de091-1a19-4b30-bd5e-23b83bc820fb', + 0, #{projectId}, NULL, 1629618010742, NULL), + (UUID(), 'IN_SITE', 'CASE_UPDATE', 'CREATOR', 'API_DEFINITION_TASK', '', + 'a6a3979a-bd80-414c-a253-06f0364c434f', + 0, #{projectId}, NULL, 1629446346104, NULL), + (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'DEFECT_TASK', '', '66568b56-4f9e-4bf6-8621-7402403368b9', 0, + #{projectId}, NULL, 1629446306675, NULL), + (UUID(), 'IN_SITE', 'DELETE', 'FOLLOW_PEOPLE', 'PERFORMANCE_TEST_TASK', '', + 'ce692111-166b-491a-ae69-f047c31de971', 0, #{projectId}, NULL, 1629686472659, + NULL), + (UUID(), 'IN_SITE', 'UPDATE', 'CREATOR', 'DEFECT_TASK', '', '3a913f72-7cee-4e36-ae1d-0443c7cb5f97', 0, + #{projectId}, NULL, 1629699608062, NULL), + (UUID(), 'IN_SITE', 'UPDATE', 'FOLLOW_PEOPLE', 'API_DEFINITION_TASK', '', + '7ca324cd-7113-412b-8714-5cbe1bffa535', + 0, #{projectId}, NULL, 1629706088088, NULL), + (UUID(), 'IN_SITE', 'CASE_DELETE', 'CREATOR', 'API_DEFINITION_TASK', '', + 'aeb9d21a-855c-44d3-a715-dfb1bba8ad6c', + 0, #{projectId}, NULL, 1629446334332, NULL), + (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'API_REPORT_TASK', '', '4d3309f3-7ab2-492e-b9c9-1127c3e005d1', + 0, + #{projectId}, NULL, 1629446364391, NULL), + (UUID(), 'IN_SITE', 'COMMENT', 'CREATOR', 'TRACK_TEST_CASE_TASK', '', + '2e8db54f-2d39-42a6-9832-43bb3384e7d5', 0, + #{projectId}, NULL, 1629446247833, NULL), + (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'API_DEFINITION_TASK', '', + '90f2be5d-0a71-44f0-a750-f16bf39d690b', 0, + #{projectId}, NULL, 1629446338557, NULL), + (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'PERFORMANCE_REPORT_TASK', '', + '4c1bfa4a-b02b-4e8e-bc09-b13613723a11', + 0, #{projectId}, NULL, 1629446384995, NULL), + (UUID(), 'IN_SITE', 'UPDATE', 'CREATOR', 'API_AUTOMATION_TASK', '', + '019de091-1a19-4b30-bd5e-23b83bc820fb', 0, + #{projectId}, NULL, 1629618010742, NULL), + (UUID(), 'IN_SITE', 'COMPLETE', 'CREATOR', 'TEST_PLAN_TASK', '', '86b42beb-a86f-4ff3-a73c-d25112c2f104', + 0, + #{projectId}, NULL, 1629446286106, NULL), + (UUID(), 'IN_SITE', 'UPDATE', 'CREATOR', 'PERFORMANCE_TEST_TASK', '', + '79d7dcdc-68a2-47a2-9ef5-21fdf9bde65c', 0, + #{projectId}, NULL, 1629446379928, NULL), + (UUID(), 'IN_SITE', 'UPDATE', 'CREATOR', 'TRACK_TEST_CASE_TASK', '', + '3a632784-c73b-4f5f-824c-bdf4fccf6f4d', 0, + #{projectId}, NULL, 1629705939795, NULL), + (UUID(), 'IN_SITE', 'UPDATE', 'CREATOR', 'API_DEFINITION_TASK', '', + '7ca324cd-7113-412b-8714-5cbe1bffa535', 0, + #{projectId}, NULL, 1629706088088, NULL), + (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'TEST_PLAN_TASK', '', '04ea4fbd-a392-4f80-a61c-51d31a302cac', 0, + #{projectId}, NULL, 1629446289522, NULL), + (UUID(), 'IN_SITE', 'UPDATE', 'CREATOR', 'REVIEW_TASK', '', 'db515209-f864-46d3-a2e5-63db6d1339c3', 0, + #{projectId}, NULL, 1629446276516, NULL), + (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'TRACK_REPORT_TASK', '', 'ea2fee85-8a44-413a-a128-16bfa01ada0d', + 0, + #{projectId}, NULL, 1629283758941, NULL), + (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'REVIEW_TASK', '', 'f9b1f60b-6dee-48af-8217-0428b27dcbab', 0, + #{projectId}, NULL, 1629446272477, NULL), + (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'TRACK_TEST_CASE_TASK', '', + '7c26254e-85e9-4269-be13-a2ffcfe0b9f5', 0, + #{projectId}, NULL, 1629446251939, NULL), + (UUID(), 'IN_SITE', 'DELETE', 'FOLLOW_PEOPLE', 'TRACK_TEST_CASE_TASK', '', + '7c26254e-85e9-4269-be13-a2ffcfe0b9f5', 0, #{projectId}, NULL, 1629446251939, + NULL), + (UUID(), 'IN_SITE', 'EXECUTE_SUCCESSFUL', 'CREATOR', 'API_DEFINITION_TASK', '', + '7efddbdb-2b6c-4425-96a4-0bc2aa9e2cd2', 0, #{projectId}, NULL, 1629775183917, + NULL), + (UUID(), 'IN_SITE', 'EXECUTE_FAILED', 'CREATOR', 'API_DEFINITION_TASK', '', + 'e508035c-1318-40ea-9457-0bbe9865f4ce', 0, #{projectId}, NULL, 1629775194857, + NULL), + (UUID(), 'IN_SITE', 'EXECUTE_COMPLETED', 'CREATOR', 'PERFORMANCE_TEST_TASK', '', + 'e3db90c6-fb49-4e89-bc25-1d14b5ce94d0', 0, #{projectId}, NULL, 1629790602744, + NULL), + (UUID(), 'IN_SITE', 'EXECUTE_FAILED', 'CREATOR', 'API_AUTOMATION_TASK', '', + 'c25930e8-b617-45f7-af5e-cc94adc14192', 0, #{projectId}, NULL, 1629780485724, + NULL), + (UUID(), 'IN_SITE', 'EXECUTE_SUCCESSFUL', 'CREATOR', 'API_AUTOMATION_TASK', '', + '9f91e5e5-1744-4160-bfc6-3851bfd59e05', 0, #{projectId}, NULL, 1629780475764, + NULL), + (UUID(), 'IN_SITE', 'UPDATE', 'PROCESSOR', 'DEFECT_TASK', '', + '6cad944e-db8d-4786-9ef3-7d6370940325', 0, #{projectId}, NULL, 1629791388405, + NULL), + (UUID(), 'IN_SITE', 'CREATE', 'PROCESSOR', 'DEFECT_TASK', '', + '4a890e41-e755-44fc-b734-d6a0ca25a65c', 0, #{projectId}, NULL, 1629790487682, + NULL) + + diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseTemplateMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseTemplateMapper.xml index 79b22c1f06..4ce130e3c5 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseTemplateMapper.xml +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtTestCaseTemplateMapper.xml @@ -30,6 +30,19 @@ ) ) + + and ( + tcft.project_id = #{request.projectId} + or ( + tcft.global = 1 and + not exists ( + select id + from test_case_template tcft_child + where tcft_child.name = tcft.name and tcft_child.global != 1 and tcft_child.project_id = #{request.projectId} + ) + ) + ) + diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtWorkspaceMapper.java b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtWorkspaceMapper.java index ffcfbb1d98..071cb39193 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtWorkspaceMapper.java +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtWorkspaceMapper.java @@ -11,7 +11,5 @@ public interface ExtWorkspaceMapper { List getWorkspaces(@Param("request") WorkspaceRequest request); - void setDefaultMessageTask(@Param("workspaceId") String workspaceId); - List getWorkspaceByUserId(@Param("userId")String userId); } diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtWorkspaceMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtWorkspaceMapper.xml index aabef8319a..6d741a1065 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtWorkspaceMapper.xml +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtWorkspaceMapper.xml @@ -13,118 +13,6 @@ order by w.update_time desc - - INSERT INTO message_task (id, type, event, user_id, task_type, webhook, identification, is_set, workspace_id, - test_id, create_time, template) - VALUES (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'PERFORMANCE_TEST_TASK', '', - 'ce692111-166b-491a-ae69-f047c31de971', 0, - #{workspaceId}, NULL, 1629686472659, NULL), - (UUID(), 'IN_SITE', 'COMPLETE', 'CREATOR', 'REVIEW_TASK', - '', - '72836b2d-4c2f-4185-95aa-1894c6f0d1c3', 0, #{workspaceId}, NULL, 1629697096803, - NULL), - (UUID(), 'IN_SITE', 'CLOSE_SCHEDULE', 'CREATOR', 'TRACK_HOME_TASK', '', - 'ceb0aeb5-f194-4183-a995-3607a769c61d', - 0, #{workspaceId}, NULL, 1629705930753, NULL), - (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'API_AUTOMATION_TASK', '', - 'e2865464-0da3-42bc-a041-7d21bd70d339', 0, - #{workspaceId}, NULL, 1629446356866, NULL), - (UUID(), 'IN_SITE', 'UPDATE', 'FOLLOW_PEOPLE', 'PERFORMANCE_TEST_TASK', '', - '79d7dcdc-68a2-47a2-9ef5-21fdf9bde65c', 0, #{workspaceId}, NULL, 1629446379928, - NULL), - (UUID(), 'IN_SITE', 'CLOSE_SCHEDULE', 'CREATOR', 'API_HOME_TASK', '', - 'dbe5dfcd-927f-4065-93cf-22f33d9570ac', 0, - #{workspaceId}, NULL, 1629446330438, NULL), - (UUID(), 'IN_SITE', 'UPDATE', 'FOLLOW_PEOPLE', 'TRACK_TEST_CASE_TASK', '', - '3a632784-c73b-4f5f-824c-bdf4fccf6f4d', 0, #{workspaceId}, NULL, 1629705939795, - NULL), - (UUID(), 'IN_SITE', 'CASE_UPDATE', 'FOLLOW_PEOPLE', 'API_DEFINITION_TASK', '', - 'a6a3979a-bd80-414c-a253-06f0364c434f', 0, #{workspaceId}, NULL, 1629446346104, - NULL), - (UUID(), 'IN_SITE', 'UPDATE', 'FOLLOW_PEOPLE', 'API_AUTOMATION_TASK', '', - '019de091-1a19-4b30-bd5e-23b83bc820fb', - 0, #{workspaceId}, NULL, 1629618010742, NULL), - (UUID(), 'IN_SITE', 'CASE_UPDATE', 'CREATOR', 'API_DEFINITION_TASK', '', - 'a6a3979a-bd80-414c-a253-06f0364c434f', - 0, #{workspaceId}, NULL, 1629446346104, NULL), - (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'DEFECT_TASK', '', '66568b56-4f9e-4bf6-8621-7402403368b9', 0, - #{workspaceId}, NULL, 1629446306675, NULL), - (UUID(), 'IN_SITE', 'DELETE', 'FOLLOW_PEOPLE', 'PERFORMANCE_TEST_TASK', '', - 'ce692111-166b-491a-ae69-f047c31de971', 0, #{workspaceId}, NULL, 1629686472659, - NULL), - (UUID(), 'IN_SITE', 'UPDATE', 'CREATOR', 'DEFECT_TASK', '', '3a913f72-7cee-4e36-ae1d-0443c7cb5f97', 0, - #{workspaceId}, NULL, 1629699608062, NULL), - (UUID(), 'IN_SITE', 'UPDATE', 'FOLLOW_PEOPLE', 'API_DEFINITION_TASK', '', - '7ca324cd-7113-412b-8714-5cbe1bffa535', - 0, #{workspaceId}, NULL, 1629706088088, NULL), - (UUID(), 'IN_SITE', 'CASE_DELETE', 'CREATOR', 'API_DEFINITION_TASK', '', - 'aeb9d21a-855c-44d3-a715-dfb1bba8ad6c', - 0, #{workspaceId}, NULL, 1629446334332, NULL), - (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'API_REPORT_TASK', '', '4d3309f3-7ab2-492e-b9c9-1127c3e005d1', - 0, - #{workspaceId}, NULL, 1629446364391, NULL), - (UUID(), 'IN_SITE', 'COMMENT', 'CREATOR', 'TRACK_TEST_CASE_TASK', '', - '2e8db54f-2d39-42a6-9832-43bb3384e7d5', 0, - #{workspaceId}, NULL, 1629446247833, NULL), - (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'API_DEFINITION_TASK', '', - '90f2be5d-0a71-44f0-a750-f16bf39d690b', 0, - #{workspaceId}, NULL, 1629446338557, NULL), - (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'PERFORMANCE_REPORT_TASK', '', - '4c1bfa4a-b02b-4e8e-bc09-b13613723a11', - 0, #{workspaceId}, NULL, 1629446384995, NULL), - (UUID(), 'IN_SITE', 'UPDATE', 'CREATOR', 'API_AUTOMATION_TASK', '', - '019de091-1a19-4b30-bd5e-23b83bc820fb', 0, - #{workspaceId}, NULL, 1629618010742, NULL), - (UUID(), 'IN_SITE', 'COMPLETE', 'CREATOR', 'TEST_PLAN_TASK', '', '86b42beb-a86f-4ff3-a73c-d25112c2f104', - 0, - #{workspaceId}, NULL, 1629446286106, NULL), - (UUID(), 'IN_SITE', 'UPDATE', 'CREATOR', 'PERFORMANCE_TEST_TASK', '', - '79d7dcdc-68a2-47a2-9ef5-21fdf9bde65c', 0, - #{workspaceId}, NULL, 1629446379928, NULL), - (UUID(), 'IN_SITE', 'UPDATE', 'CREATOR', 'TRACK_TEST_CASE_TASK', '', - '3a632784-c73b-4f5f-824c-bdf4fccf6f4d', 0, - #{workspaceId}, NULL, 1629705939795, NULL), - (UUID(), 'IN_SITE', 'UPDATE', 'CREATOR', 'API_DEFINITION_TASK', '', - '7ca324cd-7113-412b-8714-5cbe1bffa535', 0, - #{workspaceId}, NULL, 1629706088088, NULL), - (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'TEST_PLAN_TASK', '', '04ea4fbd-a392-4f80-a61c-51d31a302cac', 0, - #{workspaceId}, NULL, 1629446289522, NULL), - (UUID(), 'IN_SITE', 'UPDATE', 'CREATOR', 'REVIEW_TASK', '', 'db515209-f864-46d3-a2e5-63db6d1339c3', 0, - #{workspaceId}, NULL, 1629446276516, NULL), - (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'TRACK_REPORT_TASK', '', 'ea2fee85-8a44-413a-a128-16bfa01ada0d', - 0, - #{workspaceId}, NULL, 1629283758941, NULL), - (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'REVIEW_TASK', '', 'f9b1f60b-6dee-48af-8217-0428b27dcbab', 0, - #{workspaceId}, NULL, 1629446272477, NULL), - (UUID(), 'IN_SITE', 'DELETE', 'CREATOR', 'TRACK_TEST_CASE_TASK', '', - '7c26254e-85e9-4269-be13-a2ffcfe0b9f5', 0, - #{workspaceId}, NULL, 1629446251939, NULL), - (UUID(), 'IN_SITE', 'DELETE', 'FOLLOW_PEOPLE', 'TRACK_TEST_CASE_TASK', '', - '7c26254e-85e9-4269-be13-a2ffcfe0b9f5', 0, #{workspaceId}, NULL, 1629446251939, - NULL), - (UUID(), 'IN_SITE', 'EXECUTE_SUCCESSFUL', 'CREATOR', 'API_DEFINITION_TASK', '', - '7efddbdb-2b6c-4425-96a4-0bc2aa9e2cd2', 0, #{workspaceId}, NULL, 1629775183917, - NULL), - (UUID(), 'IN_SITE', 'EXECUTE_FAILED', 'CREATOR', 'API_DEFINITION_TASK', '', - 'e508035c-1318-40ea-9457-0bbe9865f4ce', 0, #{workspaceId}, NULL, 1629775194857, - NULL), - (UUID(), 'IN_SITE', 'EXECUTE_COMPLETED', 'CREATOR', 'PERFORMANCE_TEST_TASK', '', - 'e3db90c6-fb49-4e89-bc25-1d14b5ce94d0', 0, #{workspaceId}, NULL, 1629790602744, - NULL), - (UUID(), 'IN_SITE', 'EXECUTE_FAILED', 'CREATOR', 'API_AUTOMATION_TASK', '', - 'c25930e8-b617-45f7-af5e-cc94adc14192', 0, #{workspaceId}, NULL, 1629780485724, - NULL), - (UUID(), 'IN_SITE', 'EXECUTE_SUCCESSFUL', 'CREATOR', 'API_AUTOMATION_TASK', '', - '9f91e5e5-1744-4160-bfc6-3851bfd59e05', 0, #{workspaceId}, NULL, 1629780475764, - NULL), - (UUID(), 'IN_SITE', 'UPDATE', 'PROCESSOR', 'DEFECT_TASK', '', - '6cad944e-db8d-4786-9ef3-7d6370940325', 0, #{workspaceId}, NULL, 1629791388405, - NULL), - (UUID(), 'IN_SITE', 'CREATE', 'PROCESSOR', 'DEFECT_TASK', '', - '4a890e41-e755-44fc-b734-d6a0ca25a65c', 0, #{workspaceId}, NULL, 1629790487682, - NULL) - - diff --git a/backend/src/main/java/io/metersphere/commons/constants/PermissionConstants.java b/backend/src/main/java/io/metersphere/commons/constants/PermissionConstants.java index deed1259e9..766f40e305 100644 --- a/backend/src/main/java/io/metersphere/commons/constants/PermissionConstants.java +++ b/backend/src/main/java/io/metersphere/commons/constants/PermissionConstants.java @@ -41,21 +41,12 @@ public class PermissionConstants { public static final String WORKSPACE_SERVICE_READ = "WORKSPACE_SERVICE:READ"; public static final String WORKSPACE_SERVICE_READ_EDIT = "WORKSPACE_SERVICE:READ+EDIT"; - public static final String WORKSPACE_MESSAGE_READ = "WORKSPACE_MESSAGE:READ"; - public static final String WORKSPACE_MESSAGE_READ_EDIT = "WORKSPACE_MESSAGE:READ+EDIT"; - public static final String WORKSPACE_USER_READ = "WORKSPACE_USER:READ"; public static final String WORKSPACE_USER_READ_CREATE = "WORKSPACE_USER:READ+CREATE"; public static final String WORKSPACE_USER_READ_EDIT = "WORKSPACE_USER:READ+EDIT"; public static final String WORKSPACE_USER_READ_DELETE = "WORKSPACE_USER:READ+DELETE"; - public static final String WORKSPACE_TEMPLATE_READ = "WORKSPACE_TEMPLATE:READ"; - public static final String WORKSPACE_TEMPLATE_READ_CASE_TEMPLATE = "WORKSPACE_TEMPLATE:READ+CASE_TEMPLATE"; - public static final String WORKSPACE_TEMPLATE_READ_ISSUE_TEMPLATE = "WORKSPACE_TEMPLATE:READ+ISSUE_TEMPLATE"; - public static final String WORKSPACE_TEMPLATE_READ_CUSTOM = "WORKSPACE_TEMPLATE:READ+CUSTOM"; - public static final String WORKSPACE_TEMPLATE_READ_REPORT_TEMPLATE = "WORKSPACE_TEMPLATE:READ+REPORT_TEMPLATE"; - public static final String WORKSPACE_PROJECT_MANAGER_READ = "WORKSPACE_PROJECT_MANAGER:READ"; public static final String WORKSPACE_PROJECT_MANAGER_READ_CREATE = "WORKSPACE_PROJECT_MANAGER:READ+CREATE"; public static final String WORKSPACE_PROJECT_MANAGER_READ_EDIT = "WORKSPACE_PROJECT_MANAGER:READ+EDIT"; @@ -184,4 +175,12 @@ public class PermissionConstants { public static final String PROJECT_ERROR_REPORT_LIBRARY_DELETE = "PROJECT_ERROR_REPORT_LIBRARY:READ+DELETE"; public static final String PROJECT_ERROR_REPORT_LIBRARY_COPY = "PROJECT_ERROR_REPORT_LIBRARY:READ+COPY"; public static final String PROJECT_ERROR_REPORT_LIBRARY_SCHEDULE = "PROJECT_ERROR_REPORT_LIBRARY:READ+SCHEDULE"; + + public static final String PROJECT_MESSAGE_READ = "PROJECT_MESSAGE:READ"; + public static final String PROJECT_MESSAGE_READ_EDIT = "PROJECT_MESSAGE:READ+EDIT"; + public static final String PROJECT_TEMPLATE_READ = "PROJECT_TEMPLATE:READ"; + public static final String PROJECT_TEMPLATE_READ_CASE_TEMPLATE = "PROJECT_TEMPLATE:READ+CASE_TEMPLATE"; + public static final String PROJECT_TEMPLATE_READ_ISSUE_TEMPLATE = "PROJECT_TEMPLATE:READ+ISSUE_TEMPLATE"; + public static final String PROJECT_TEMPLATE_READ_CUSTOM = "PROJECT_TEMPLATE:READ+CUSTOM"; + public static final String PROJECT_TEMPLATE_READ_REPORT_TEMPLATE = "PROJECT_TEMPLATE:READ+REPORT_TEMPLATE"; } diff --git a/backend/src/main/java/io/metersphere/controller/IssueTemplateController.java b/backend/src/main/java/io/metersphere/controller/IssueTemplateController.java index 654232bdce..ffd5eef901 100644 --- a/backend/src/main/java/io/metersphere/controller/IssueTemplateController.java +++ b/backend/src/main/java/io/metersphere/controller/IssueTemplateController.java @@ -48,9 +48,9 @@ public class IssueTemplateController { issueTemplateService.update(request); } - @GetMapping("/option/{workspaceId}") - public List list(@PathVariable String workspaceId) { - return issueTemplateService.getOption(workspaceId); + @GetMapping("/option/{projectId}") + public List list(@PathVariable String projectId) { + return issueTemplateService.getOption(projectId); } @GetMapping("/get/relate/{projectId}") diff --git a/backend/src/main/java/io/metersphere/controller/TestCaseTemplateController.java b/backend/src/main/java/io/metersphere/controller/TestCaseTemplateController.java index 70ecaf2cb9..5b3d74e369 100644 --- a/backend/src/main/java/io/metersphere/controller/TestCaseTemplateController.java +++ b/backend/src/main/java/io/metersphere/controller/TestCaseTemplateController.java @@ -50,9 +50,9 @@ public class TestCaseTemplateController { testCaseTemplateService.update(request); } - @GetMapping("/option/{workspaceId}") - public List list(@PathVariable String workspaceId) { - return testCaseTemplateService.getOption(workspaceId); + @GetMapping("/option/{projectId}") + public List list(@PathVariable String projectId) { + return testCaseTemplateService.getOption(projectId); } @GetMapping("/get/relate/{projectId}") diff --git a/backend/src/main/java/io/metersphere/notice/service/NoticeSendService.java b/backend/src/main/java/io/metersphere/notice/service/NoticeSendService.java index af0427a7d1..cd38583b8f 100644 --- a/backend/src/main/java/io/metersphere/notice/service/NoticeSendService.java +++ b/backend/src/main/java/io/metersphere/notice/service/NoticeSendService.java @@ -98,7 +98,7 @@ public class NoticeSendService { if (StringUtils.equals(triggerMode, NoticeConstants.Mode.API)) { String projectId = (String) noticeModel.getParamMap().get("projectId"); - messageDetails = noticeService.searchMessageByTypeBySend(NoticeConstants.TaskType.JENKINS_TASK, projectId); + messageDetails = noticeService.searchMessageByTypeAndProjectId(NoticeConstants.TaskType.JENKINS_TASK, projectId); } // 异步发送通知 @@ -132,7 +132,7 @@ public class NoticeSendService { // default: // break; // } - messageDetails = noticeService.searchMessageByTypeAndWorkspaceId(taskType, project.getWorkspaceId()); + messageDetails = noticeService.searchMessageByTypeAndProjectId(taskType, project.getId()); // 异步发送通知 messageDetails.stream() diff --git a/backend/src/main/java/io/metersphere/notice/service/NoticeService.java b/backend/src/main/java/io/metersphere/notice/service/NoticeService.java index 1e2c205189..db02e9d506 100644 --- a/backend/src/main/java/io/metersphere/notice/service/NoticeService.java +++ b/backend/src/main/java/io/metersphere/notice/service/NoticeService.java @@ -3,7 +3,6 @@ package io.metersphere.notice.service; import com.alibaba.fastjson.JSON; import io.metersphere.base.domain.MessageTask; import io.metersphere.base.domain.MessageTaskExample; -import io.metersphere.base.domain.Project; import io.metersphere.base.mapper.MessageTaskMapper; import io.metersphere.base.mapper.ProjectMapper; import io.metersphere.commons.exception.MSException; @@ -40,14 +39,14 @@ public class NoticeService { if (messageTaskLists.size() > 0) { delMessage(messageDetail.getIdentification()); } - String workspaceId = SessionUtils.getCurrentWorkspaceId(); + String projectId = SessionUtils.getCurrentProjectId(); long time = System.currentTimeMillis(); String identification = messageDetail.getIdentification(); if (StringUtils.isBlank(identification)) { identification = UUID.randomUUID().toString(); } for (String userId : messageDetail.getUserIds()) { - checkUserIdExist(userId, messageDetail, workspaceId); + checkUserIdExist(userId, messageDetail, projectId); MessageTask messageTask = new MessageTask(); messageTask.setId(UUID.randomUUID().toString()); messageTask.setEvent(messageDetail.getEvent()); @@ -57,7 +56,7 @@ public class NoticeService { messageTask.setWebhook(messageDetail.getWebhook()); messageTask.setIdentification(identification); messageTask.setIsSet(false); - messageTask.setWorkspaceId(workspaceId); + messageTask.setProjectId(projectId); messageTask.setTestId(messageDetail.getTestId()); messageTask.setCreateTime(time); setTemplate(messageDetail, messageTask); @@ -72,7 +71,7 @@ public class NoticeService { } } - private void checkUserIdExist(String userId, MessageDetail list, String workspaceId) { + private void checkUserIdExist(String userId, MessageDetail list, String projectId) { MessageTaskExample example = new MessageTaskExample(); if (StringUtils.isBlank(list.getTestId())) { example.createCriteria() @@ -81,7 +80,7 @@ public class NoticeService { .andTypeEqualTo(list.getType()) .andTaskTypeEqualTo(list.getTaskType()) .andWebhookEqualTo(list.getWebhook()) - .andWorkspaceIdEqualTo(workspaceId); + .andProjectIdEqualTo(projectId); } else { example.createCriteria() .andUserIdEqualTo(userId) @@ -90,7 +89,7 @@ public class NoticeService { .andTaskTypeEqualTo(list.getTaskType()) .andWebhookEqualTo(list.getWebhook()) .andTestIdEqualTo(list.getTestId()) - .andWorkspaceIdEqualTo(workspaceId); + .andProjectIdEqualTo(projectId); } if (messageTaskMapper.countByExample(example) > 0) { MSException.throwException(Translator.get("message_task_already_exists")); @@ -113,8 +112,8 @@ public class NoticeService { public List searchMessageByType(String type) { try { - String workspaceId = SessionUtils.getCurrentWorkspaceId(); - return getMessageDetails(type, workspaceId); + String projectId = SessionUtils.getCurrentProjectId(); + return getMessageDetails(type, projectId); } catch (Exception e) { LogUtil.error(e.getMessage(), e); return new ArrayList<>(); @@ -122,38 +121,22 @@ public class NoticeService { } - public List searchMessageByTypeAndWorkspaceId(String type, String workspaceId) { + public List searchMessageByTypeAndProjectId(String type, String projectId) { try { - return getMessageDetails(type, workspaceId); + return getMessageDetails(type, projectId); } catch (Exception e) { LogUtil.error(e.getMessage(), e); return new ArrayList<>(); } } - public List searchMessageByTypeBySend(String type, String projectId) { - try { - String workspaceId = ""; - if (null == SessionUtils.getCurrentWorkspaceId()) { - Project project = projectMapper.selectByPrimaryKey(projectId); - workspaceId = project.getWorkspaceId(); - } else { - workspaceId = SessionUtils.getCurrentWorkspaceId(); - } - return getMessageDetails(type, workspaceId); - } catch (Exception e) { - LogUtil.error(e.getMessage(), e); - return new ArrayList<>(); - } - } - - private List getMessageDetails(String type, String workspaceId) { + private List getMessageDetails(String type, String projectId) { List messageDetails = new ArrayList<>(); MessageTaskExample example = new MessageTaskExample(); example.createCriteria() .andTaskTypeEqualTo(type) - .andWorkspaceIdEqualTo(workspaceId); + .andProjectIdEqualTo(projectId); List messageTaskLists = messageTaskMapper.selectByExampleWithBLOBs(example); Map> messageTaskMap = messageTaskLists.stream() diff --git a/backend/src/main/java/io/metersphere/service/CustomFieldService.java b/backend/src/main/java/io/metersphere/service/CustomFieldService.java index 088ed03ef6..3bca260476 100644 --- a/backend/src/main/java/io/metersphere/service/CustomFieldService.java +++ b/backend/src/main/java/io/metersphere/service/CustomFieldService.java @@ -153,7 +153,7 @@ public class CustomFieldService { example.createCriteria() .andSystemEqualTo(true) .andSceneEqualTo(request.getScene()) - .andWorkspaceIdEqualTo(request.getWorkspaceId()); + .andProjectIdEqualTo(request.getProjectId()); List workspaceSystemFields = customFieldMapper.selectByExampleWithBLOBs(example); Set workspaceSystemFieldNames = workspaceSystemFields.stream() .map(CustomField::getName) @@ -189,7 +189,7 @@ public class CustomFieldService { CustomFieldExample example = new CustomFieldExample(); CustomFieldExample.Criteria criteria = example.createCriteria(); criteria.andNameEqualTo(customField.getName()); - criteria.andWorkspaceIdEqualTo(customField.getWorkspaceId()); + criteria.andProjectIdEqualTo(customField.getProjectId()); criteria.andSceneEqualTo(customField.getScene()); if (StringUtils.isNotBlank(customField.getId())) { criteria.andIdNotEqualTo(customField.getId()); diff --git a/backend/src/main/java/io/metersphere/service/IssueTemplateService.java b/backend/src/main/java/io/metersphere/service/IssueTemplateService.java index a2b1e5347c..a2479a46ee 100644 --- a/backend/src/main/java/io/metersphere/service/IssueTemplateService.java +++ b/backend/src/main/java/io/metersphere/service/IssueTemplateService.java @@ -91,7 +91,7 @@ public class IssueTemplateService extends TemplateBaseService { String originId = request.getId(); // 如果是全局字段,则创建对应工作空间字段 String id = add(request); - projectService.updateIssueTemplate(originId, id, request.getWorkspaceId()); + projectService.updateIssueTemplate(originId, id, request.getProjectId()); } else { checkExist(request); customFieldTemplateService.deleteByTemplateId(request.getId()); @@ -108,12 +108,13 @@ public class IssueTemplateService extends TemplateBaseService { * 获取该工作空间的系统模板 * - 如果没有,则创建该工作空间模板,并关联默认的字段 * - 如果有,则更新原来关联的 fieldId + * * @param customField */ public void handleSystemFieldCreate(CustomField customField) { - IssueTemplate workspaceSystemTemplate = getWorkspaceSystemTemplate(customField.getWorkspaceId()); + IssueTemplate workspaceSystemTemplate = getWorkspaceSystemTemplate(customField.getProjectId()); if (workspaceSystemTemplate == null) { - createTemplateWithUpdateField(customField.getWorkspaceId(), customField); + createTemplateWithUpdateField(customField.getProjectId(), customField); } else { updateRelateWithUpdateField(workspaceSystemTemplate, customField); } @@ -122,7 +123,7 @@ public class IssueTemplateService extends TemplateBaseService { private IssueTemplate getWorkspaceSystemTemplate(String workspaceId) { IssueTemplateExample example = new IssueTemplateExample(); example.createCriteria() - .andWorkspaceIdEqualTo(workspaceId) + .andProjectIdEqualTo(workspaceId) .andSystemEqualTo(true); List issueTemplates = issueTemplateMapper.selectByExampleWithBLOBs(example); if (CollectionUtils.isNotEmpty(issueTemplates)) { @@ -131,14 +132,14 @@ public class IssueTemplateService extends TemplateBaseService { return null; } - private void createTemplateWithUpdateField(String workspaceId, CustomField customField) { + private void createTemplateWithUpdateField(String projectId, CustomField customField) { UpdateIssueTemplateRequest request = new UpdateIssueTemplateRequest(); IssueTemplate issueTemplate = new IssueTemplate(); issueTemplate.setName("default"); issueTemplate.setPlatform(TemplateConstants.IssueTemplatePlatform.metersphere.name()); issueTemplate.setGlobal(false); issueTemplate.setSystem(true); - issueTemplate.setWorkspaceId(workspaceId); + issueTemplate.setProjectId(projectId); BeanUtils.copyBean(request, issueTemplate); List systemFieldCreateTemplate = customFieldTemplateService.getSystemFieldCreateTemplate(customField, TemplateConstants.FieldTemplateScene.ISSUE.name()); @@ -156,7 +157,7 @@ public class IssueTemplateService extends TemplateBaseService { IssueTemplateExample example = new IssueTemplateExample(); IssueTemplateExample.Criteria criteria = example.createCriteria(); criteria.andNameEqualTo(issueTemplate.getName()) - .andWorkspaceIdEqualTo(issueTemplate.getWorkspaceId()); + .andProjectIdEqualTo(issueTemplate.getProjectId()); if (StringUtils.isNotBlank(issueTemplate.getId())) { criteria.andIdNotEqualTo(issueTemplate.getId()); } @@ -166,16 +167,16 @@ public class IssueTemplateService extends TemplateBaseService { } } - public List getSystemTemplates(String workspaceId) { + public List getSystemTemplates(String projectId) { IssueTemplateExample example = new IssueTemplateExample(); - example.createCriteria().andWorkspaceIdEqualTo(workspaceId) + example.createCriteria().andProjectIdEqualTo(projectId) .andSystemEqualTo(true); example.or(example.createCriteria().andGlobalEqualTo(true)); List issueTemplates = issueTemplateMapper.selectByExample(example); Iterator iterator = issueTemplates.iterator(); while (iterator.hasNext()) { IssueTemplate next = iterator.next(); - for (IssueTemplate item: issueTemplates) { + for (IssueTemplate item : issueTemplates) { if (next.getGlobal() && !item.getGlobal() && StringUtils.equals(item.getName(), next.getName())) { // 如果有工作空间的模板则过滤掉全局模板 iterator.remove(); @@ -186,10 +187,10 @@ public class IssueTemplateService extends TemplateBaseService { return issueTemplates; } - public IssueTemplate getDefaultTemplate(String workspaceId) { + public IssueTemplate getDefaultTemplate(String projectId) { IssueTemplateExample example = new IssueTemplateExample(); example.createCriteria() - .andWorkspaceIdEqualTo(workspaceId) + .andProjectIdEqualTo(projectId) .andSystemEqualTo(true); List issueTemplates = issueTemplateMapper.selectByExample(example); if (CollectionUtils.isNotEmpty(issueTemplates)) { @@ -202,13 +203,13 @@ public class IssueTemplateService extends TemplateBaseService { } } - public List getOption(String workspaceId) { + public List getOption(String projectId) { IssueTemplateExample example = new IssueTemplateExample(); example.createCriteria() - .andWorkspaceIdEqualTo(workspaceId) + .andProjectIdEqualTo(projectId) .andSystemEqualTo(false); List issueTemplates = issueTemplateMapper.selectByExample(example); - issueTemplates.addAll(getSystemTemplates(workspaceId)); + issueTemplates.addAll(getSystemTemplates(projectId)); return issueTemplates; } @@ -234,18 +235,18 @@ public class IssueTemplateService extends TemplateBaseService { return issueTemplateDao; } - public String getLogDetails(String id, ListnewCustomFieldTemplates) { + public String getLogDetails(String id, List newCustomFieldTemplates) { List columns = new LinkedList<>(); IssueTemplate templateWithBLOBs = issueTemplateMapper.selectByPrimaryKey(id); - if(templateWithBLOBs==null){ + if (templateWithBLOBs == null) { return null; } CustomFieldTemplateExample example = new CustomFieldTemplateExample(); example.createCriteria().andTemplateIdEqualTo(templateWithBLOBs.getId()); example.createCriteria().andSceneEqualTo("ISSUE"); List customFieldTemplates = customFieldTemplateMapper.selectByExample(example); - if(newCustomFieldTemplates.size()>customFieldTemplates.size()){ - for (int i = 0; i < newCustomFieldTemplates.size()-customFieldTemplates.size(); i++) { + if (newCustomFieldTemplates.size() > customFieldTemplates.size()) { + for (int i = 0; i < newCustomFieldTemplates.size() - customFieldTemplates.size(); i++) { CustomFieldTemplate customFieldTemplate = new CustomFieldTemplate(); customFieldTemplates.add(customFieldTemplate); } @@ -258,7 +259,7 @@ public class IssueTemplateService extends TemplateBaseService { public String getLogDetails(UpdateIssueTemplateRequest request) { List columns = new LinkedList<>(); IssueTemplate templateWithBLOBs = issueTemplateMapper.selectByPrimaryKey(request.getId()); - if(templateWithBLOBs==null){ + if (templateWithBLOBs == null) { return null; } List newCustomFieldTemplates = request.getCustomFields(); @@ -266,8 +267,8 @@ public class IssueTemplateService extends TemplateBaseService { example.createCriteria().andTemplateIdEqualTo(templateWithBLOBs.getId()); example.createCriteria().andSceneEqualTo("ISSUE"); List customFieldTemplates = customFieldTemplateMapper.selectByExample(example); - if(newCustomFieldTemplates.size() columns, IssueTemplate templateWithBLOBs, List customFields) { for (CustomFieldTemplate customFieldTemplate : customFields) { CustomField customField = customFieldMapper.selectByPrimaryKey(customFieldTemplate.getFieldId()); - customField.setDefaultValue(customFieldTemplate.getDefaultValue()); - List columnsField = ReflexObjectUtil.getColumns(customField, SystemReference.issueFieldColumns); + CustomFieldDao customFieldDao = new CustomFieldDao(); + BeanUtils.copyBean(customFieldDao, customField); + customFieldDao.setDefaultValue(customFieldTemplate.getDefaultValue()); + List columnsField = ReflexObjectUtil.getColumns(customFieldDao, SystemReference.issueFieldColumns); columns.addAll(columnsField); } List columnIssues = ReflexObjectUtil.getColumns(templateWithBLOBs, SystemReference.issueFieldColumns); diff --git a/backend/src/main/java/io/metersphere/service/ProjectService.java b/backend/src/main/java/io/metersphere/service/ProjectService.java index 8c5e370ff8..2a28a92a0f 100644 --- a/backend/src/main/java/io/metersphere/service/ProjectService.java +++ b/backend/src/main/java/io/metersphere/service/ProjectService.java @@ -154,6 +154,9 @@ public class ProjectService { // 创建新项目检查当前用户 last_project_id extUserMapper.updateLastProjectIdIfNull(project.getId(), SessionUtils.getUserId()); + // 设置默认的通知 + extProjectMapper.setDefaultMessageTask(project.getId()); + ProjectVersionService projectVersionService = CommonBeanFactory.getBean(ProjectVersionService.class); if (projectVersionService != null) { ProjectVersion projectVersion = new ProjectVersion(); diff --git a/backend/src/main/java/io/metersphere/service/TestCaseTemplateService.java b/backend/src/main/java/io/metersphere/service/TestCaseTemplateService.java index d5d633cd7d..55de8c0295 100644 --- a/backend/src/main/java/io/metersphere/service/TestCaseTemplateService.java +++ b/backend/src/main/java/io/metersphere/service/TestCaseTemplateService.java @@ -82,7 +82,7 @@ public class TestCaseTemplateService extends TemplateBaseService { String originId = request.getId(); // 如果是全局字段,则创建对应工作空间字段 String id = add(request); - projectService.updateCaseTemplate(originId, id, request.getWorkspaceId()); + projectService.updateCaseTemplate(originId, id, request.getProjectId()); } else { checkExist(request); customFieldTemplateService.deleteByTemplateId(request.getId()); @@ -102,22 +102,22 @@ public class TestCaseTemplateService extends TemplateBaseService { * @param customField */ public void handleSystemFieldCreate(CustomField customField) { - TestCaseTemplateWithBLOBs workspaceSystemTemplate = getWorkspaceSystemTemplate(customField.getWorkspaceId()); + TestCaseTemplateWithBLOBs workspaceSystemTemplate = getWorkspaceSystemTemplate(customField.getProjectId()); if (workspaceSystemTemplate == null) { - createTemplateWithUpdateField(customField.getWorkspaceId(), customField); + createTemplateWithUpdateField(customField.getProjectId(), customField); } else { updateRelateWithUpdateField(workspaceSystemTemplate, customField); } } - private void createTemplateWithUpdateField(String workspaceId, CustomField customField) { + private void createTemplateWithUpdateField(String projectId, CustomField customField) { UpdateCaseFieldTemplateRequest request = new UpdateCaseFieldTemplateRequest(); TestCaseTemplate testCaseTemplate = new TestCaseTemplate(); testCaseTemplate.setName("default"); testCaseTemplate.setType(TemplateConstants.TestCaseTemplateScene.functional.name()); testCaseTemplate.setGlobal(false); testCaseTemplate.setSystem(true); - testCaseTemplate.setWorkspaceId(workspaceId); + testCaseTemplate.setProjectId(projectId); BeanUtils.copyBean(request, testCaseTemplate); List systemFieldCreateTemplate = customFieldTemplateService.getSystemFieldCreateTemplate(customField, TemplateConstants.FieldTemplateScene.TEST_CASE.name()); @@ -133,7 +133,7 @@ public class TestCaseTemplateService extends TemplateBaseService { private TestCaseTemplateWithBLOBs getWorkspaceSystemTemplate(String workspaceId) { TestCaseTemplateExample example = new TestCaseTemplateExample(); example.createCriteria() - .andWorkspaceIdEqualTo(workspaceId) + .andProjectIdEqualTo(workspaceId) .andSystemEqualTo(true); List testCaseTemplates = testCaseTemplateMapper.selectByExampleWithBLOBs(example); if (CollectionUtils.isNotEmpty(testCaseTemplates)) { @@ -147,7 +147,7 @@ public class TestCaseTemplateService extends TemplateBaseService { TestCaseTemplateExample example = new TestCaseTemplateExample(); TestCaseTemplateExample.Criteria criteria = example.createCriteria(); criteria.andNameEqualTo(testCaseTemplate.getName()) - .andWorkspaceIdEqualTo(testCaseTemplate.getWorkspaceId()); + .andProjectIdEqualTo(testCaseTemplate.getProjectId()); if (StringUtils.isNotBlank(testCaseTemplate.getId())) { criteria.andIdNotEqualTo(testCaseTemplate.getId()); } @@ -160,7 +160,7 @@ public class TestCaseTemplateService extends TemplateBaseService { public TestCaseTemplateWithBLOBs getDefaultTemplate(String workspaceId) { TestCaseTemplateExample example = new TestCaseTemplateExample(); example.createCriteria() - .andWorkspaceIdEqualTo(workspaceId) + .andProjectIdEqualTo(workspaceId) .andSystemEqualTo(true); List testCaseTemplates = testCaseTemplateMapper.selectByExampleWithBLOBs(example); if (CollectionUtils.isNotEmpty(testCaseTemplates)) { @@ -173,13 +173,13 @@ public class TestCaseTemplateService extends TemplateBaseService { } } - public List getOption(String workspaceId) { + public List getOption(String projectId) { TestCaseTemplateExample example = new TestCaseTemplateExample(); example.createCriteria() - .andWorkspaceIdEqualTo(workspaceId) + .andProjectIdEqualTo(projectId) .andSystemNotEqualTo(true); List testCaseTemplates = testCaseTemplateMapper.selectByExample(example); - testCaseTemplates.add(getDefaultTemplate(workspaceId)); + testCaseTemplates.add(getDefaultTemplate(projectId)); return testCaseTemplates; } diff --git a/backend/src/main/java/io/metersphere/service/WorkspaceService.java b/backend/src/main/java/io/metersphere/service/WorkspaceService.java index 18cce38632..301a144ad5 100644 --- a/backend/src/main/java/io/metersphere/service/WorkspaceService.java +++ b/backend/src/main/java/io/metersphere/service/WorkspaceService.java @@ -14,7 +14,10 @@ import io.metersphere.commons.constants.UserGroupType; import io.metersphere.commons.exception.MSException; import io.metersphere.commons.utils.SessionUtils; import io.metersphere.controller.request.WorkspaceRequest; -import io.metersphere.dto.*; +import io.metersphere.dto.RelatedSource; +import io.metersphere.dto.WorkspaceDTO; +import io.metersphere.dto.WorkspaceMemberDTO; +import io.metersphere.dto.WorkspaceResource; import io.metersphere.i18n.Translator; import io.metersphere.log.utils.ReflexObjectUtil; import io.metersphere.log.vo.DetailColumn; @@ -82,8 +85,6 @@ public class WorkspaceService { userGroupMapper.insert(userGroup); // 新项目创建新工作空间时设置 extUserMapper.updateLastWorkspaceIdIfNull(workspace.getId(), SessionUtils.getUserId()); - // 设置默认的通知 - extWorkspaceMapper.setDefaultMessageTask(workspace.getId()); } else { workspace.setUpdateTime(currentTime); workspaceMapper.updateByPrimaryKeySelective(workspace); @@ -216,8 +217,6 @@ public class WorkspaceService { userGroup.setGroupId(UserGroupConstants.WS_ADMIN); userGroup.setSourceId(workspace.getId()); userGroupMapper.insert(userGroup); - // 设置默认的通知 - extWorkspaceMapper.setDefaultMessageTask(workspace.getId()); return workspace; } diff --git a/backend/src/main/java/io/metersphere/track/controller/TestPlanController.java b/backend/src/main/java/io/metersphere/track/controller/TestPlanController.java index cd10aee076..970b21e9c1 100644 --- a/backend/src/main/java/io/metersphere/track/controller/TestPlanController.java +++ b/backend/src/main/java/io/metersphere/track/controller/TestPlanController.java @@ -77,9 +77,9 @@ public class TestPlanController { return testPlanService.listTestAllPlan(request); } - @GetMapping("/get/stage/option/{workspaceId}") - public JSONArray getStageOption(@PathVariable("workspaceId") String workspaceId) { - return testPlanService.getStageOption(workspaceId); + @GetMapping("/get/stage/option/{projectId}") + public JSONArray getStageOption(@PathVariable("projectId") String projectId) { + return testPlanService.getStageOption(projectId); } @GetMapping("recent/{count}/{id}") 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 ad5e9329b4..8b17e825e2 100644 --- a/backend/src/main/java/io/metersphere/track/service/TestPlanService.java +++ b/backend/src/main/java/io/metersphere/track/service/TestPlanService.java @@ -1986,10 +1986,10 @@ public class TestPlanService { return testPlanMapper.selectByPrimaryKey(planId).getRepeatCase(); } - public JSONArray getStageOption(String workspaceId) { + public JSONArray getStageOption(String projectId) { CustomFieldExample example = new CustomFieldExample(); example.createCriteria() - .andWorkspaceIdEqualTo(workspaceId) + .andProjectIdEqualTo(projectId) .andSceneEqualTo("PLAN") .andNameEqualTo("测试阶段"); diff --git a/backend/src/main/resources/db/migration/V110__v1.19_release.sql b/backend/src/main/resources/db/migration/V110__v1.19_release.sql index ef2581a5ec..63f9e1098b 100644 --- a/backend/src/main/resources/db/migration/V110__v1.19_release.sql +++ b/backend/src/main/resources/db/migration/V110__v1.19_release.sql @@ -41,4 +41,495 @@ CALL project_api_appl(); DROP PROCEDURE IF EXISTS project_api_appl; ALTER TABLE `api_definition` ADD INDEX methodIndex ( `method` ); -ALTER TABLE `api_definition` ADD INDEX protocolIndex ( `protocol` ); \ No newline at end of file +ALTER TABLE `api_definition` ADD INDEX protocolIndex ( `protocol` ); + + +-- +ALTER TABLE message_task + ADD project_id VARCHAR(64) NULL; + +-- 消息通知去掉工作空间 +DROP PROCEDURE IF EXISTS message_task_ws; +DELIMITER // +CREATE PROCEDURE message_task_ws() +BEGIN + DECLARE userId VARCHAR(64); + DECLARE testId VARCHAR(64); + DECLARE type VARCHAR(64); + DECLARE event VARCHAR(64); + DECLARE taskType VARCHAR(64); + DECLARE webhook VARCHAR(255); + DECLARE identification VARCHAR(64); + DECLARE isSet VARCHAR(64); + DECLARE workspaceId VARCHAR(64); + DECLARE createTime BIGINT; + DECLARE template TEXT; + + DECLARE done INT DEFAULT 0; + # 必须用 table_name.column_name + DECLARE cursor1 CURSOR FOR SELECT message_task.type, + message_task.event, + message_task.user_id, + message_task.task_type, + message_task.webhook, + message_task.identification, + message_task.is_set, + message_task.workspace_id, + message_task.test_id, + message_task.create_time, + message_task.template + FROM message_task; + + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cursor1; + outer_loop: + LOOP + FETCH cursor1 INTO type, event, userId, taskType, webhook, identification, isSet, + workspaceId, + testId, createTime, template; + IF done + THEN + LEAVE outer_loop; + END IF; + INSERT INTO message_task(id, type, event, user_id, task_type, webhook, identification, is_set, project_id, + test_id, create_time, template) + SELECT UUID(), + type, + event, + userId, + taskType, + webhook, + identification, + isSet, + id, + testId, + createTime, + template + FROM project + WHERE workspace_id = workspaceId; + DELETE FROM message_task WHERE workspace_id = workspaceId; + END LOOP; + CLOSE cursor1; +END +// +DELIMITER ; + +CALL message_task_ws(); +DROP PROCEDURE IF EXISTS message_task_ws; +-- 去掉组织id +ALTER TABLE message_task + DROP COLUMN workspace_id; + +-- 默认设置权限 +INSERT INTO user_group_permission (id, group_id, permission_id, module_id) +VALUES (UUID(), 'project_admin', 'PROJECT_MESSAGE:READ', 'PROJECT_MESSAGE'); +INSERT INTO user_group_permission (id, group_id, permission_id, module_id) +VALUES (UUID(), 'project_admin', 'PROJECT_MESSAGE:READ+EDIT', 'PROJECT_MESSAGE'); + +-- +ALTER TABLE custom_field + ADD project_id VARCHAR(64) NULL; +ALTER TABLE test_case_template + ADD project_id VARCHAR(64) NULL; +ALTER TABLE issue_template + ADD project_id VARCHAR(64) NULL; + +ALTER TABLE custom_field + MODIFY id VARCHAR(100); +ALTER TABLE test_case_template + MODIFY id VARCHAR(100); +ALTER TABLE issue_template + MODIFY id VARCHAR(100); + +UPDATE custom_field +SET project_id = 'global' +WHERE global = 1; + +UPDATE test_case_template +SET project_id = 'global' +WHERE global = 1; + +UPDATE issue_template +SET project_id = 'global' +WHERE global = 1; + + +-- 自定义字段去掉工作空间 +DROP PROCEDURE IF EXISTS custom_field_ws; +DELIMITER // +CREATE PROCEDURE custom_field_ws() +BEGIN + + DECLARE fieldId VARCHAR(64); + DECLARE name VARCHAR(64); + DECLARE scene VARCHAR(64); + DECLARE type VARCHAR(64); + DECLARE remark VARCHAR(255); + DECLARE options TEXT; + DECLARE `system` TINYINT(1); + DECLARE global TINYINT(1); + DECLARE workspaceId VARCHAR(64); + DECLARE createTime BIGINT; + DECLARE updateTime BIGINT; + DECLARE createUser VARCHAR(64); + + DECLARE done INT DEFAULT 0; + # 必须用 table_name.column_name + DECLARE cursor1 CURSOR FOR SELECT custom_field.id, + custom_field.name, + custom_field.scene, + custom_field.type, + custom_field.remark, + custom_field.options, + custom_field.`system`, + custom_field.global, + custom_field.workspace_id, + custom_field.create_time, + custom_field.update_time, + custom_field.create_user + FROM custom_field + WHERE custom_field.global = 0; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cursor1; + outer_loop: + LOOP + FETCH cursor1 INTO fieldId, name, scene, type, remark, options, `system`, global, workspaceId, + createTime, updateTime, createUser; + IF done + THEN + LEAVE outer_loop; + END IF; + + -- 自定义字段数据下发到项目 + INSERT INTO custom_field (id, name, scene, type, remark, options, `system`, global, create_time, + update_time, create_user, project_id, workspace_id) + SELECT CONCAT(fieldId, '-', SUBSTRING(MD5(RAND()), 1, 10)), + custom_field.name, + scene, + type, + remark, + options, + `system`, + global, + custom_field.create_time, + custom_field.update_time, + custom_field.create_user, + project.id, + project.workspace_id + FROM project + JOIN custom_field ON project.workspace_id = custom_field.workspace_id + WHERE custom_field.id = fieldId; + -- 删除处理过的数据 + DELETE FROM custom_field WHERE id = fieldId; + + END LOOP; + CLOSE cursor1; +END +// +DELIMITER ; + +CALL custom_field_ws(); +DROP PROCEDURE IF EXISTS custom_field_ws; + + +-- 用例模版去掉工作空间 +DROP PROCEDURE IF EXISTS case_template_ws; +DELIMITER // +CREATE PROCEDURE case_template_ws() +BEGIN + + DECLARE templateId VARCHAR(64); + DECLARE name VARCHAR(64); + DECLARE type VARCHAR(64); + DECLARE description VARCHAR(64); + DECLARE caseName VARCHAR(255); + DECLARE `system` TINYINT(1); + DECLARE global TINYINT(1); + DECLARE workspaceId VARCHAR(64); + DECLARE prerequisite VARCHAR(255); + DECLARE stepDescription TEXT; + DECLARE expectedResult TEXT; + DECLARE actualResult TEXT; + DECLARE createTime BIGINT; + DECLARE updateTime BIGINT; + DECLARE stepModel VARCHAR(10); + DECLARE steps TEXT; + DECLARE createUser VARCHAR(64); + + DECLARE done INT DEFAULT 0; + # 必须用 table_name.column_name + DECLARE cursor1 CURSOR FOR SELECT test_case_template.id, + test_case_template.name, + test_case_template.type, + test_case_template.description, + test_case_template.case_name, + test_case_template.`system`, + test_case_template.global, + test_case_template.workspace_id, + test_case_template.prerequisite, + test_case_template.step_description, + test_case_template.expected_result, + test_case_template.actual_result, + test_case_template.create_time, + test_case_template.update_time, + test_case_template.step_model, + test_case_template.steps, + test_case_template.create_user + FROM test_case_template + WHERE test_case_template.global = 0; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cursor1; + outer_loop: + LOOP + FETCH cursor1 INTO templateId, name, type, description, caseName, `system`, global, workspaceId, + prerequisite, stepDescription, expectedResult, actualResult, createTime, + updateTime, stepModel, steps, createUser; + IF done + THEN + LEAVE outer_loop; + END IF; + + -- 自定义字段数据下发到项目 + INSERT INTO test_case_template (id, name, type, description, case_name, `system`, global, workspace_id, + prerequisite, step_description, expected_result, actual_result, create_time, + update_time, step_model, steps, create_user, project_id) + SELECT CONCAT(templateId, '-', SUBSTRING(MD5(RAND()), 1, 10)), + test_case_template.name, + type, + test_case_template.description, + case_name, + `system`, + global, + test_case_template.workspace_id, + prerequisite, + step_description, + expected_result, + actual_result, + test_case_template.create_time, + test_case_template.update_time, + step_model, + steps, + test_case_template.create_user, + project.id + FROM project + JOIN test_case_template ON project.workspace_id = test_case_template.workspace_id + WHERE test_case_template.id = templateId; + -- 删除处理过的数据 + DELETE FROM test_case_template WHERE id = templateId; + + END LOOP; + CLOSE cursor1; +END +// +DELIMITER ; + +CALL case_template_ws(); +DROP PROCEDURE IF EXISTS case_template_ws; + + +-- 缺陷模版去掉工作空间 +DROP PROCEDURE IF EXISTS issue_template_ws; +DELIMITER // +CREATE PROCEDURE issue_template_ws() +BEGIN + + DECLARE templateId VARCHAR(64); + DECLARE name VARCHAR(64); + DECLARE platform VARCHAR(64); + DECLARE description VARCHAR(64); + DECLARE title VARCHAR(255); + DECLARE `system` TINYINT(1); + DECLARE global TINYINT(1); + DECLARE workspaceId VARCHAR(64); + DECLARE content TEXT; + DECLARE createTime BIGINT; + DECLARE updateTime BIGINT; + DECLARE createUser VARCHAR(64); + + DECLARE done INT DEFAULT 0; + # 必须用 table_name.column_name + DECLARE cursor1 CURSOR FOR SELECT issue_template.id, + issue_template.name, + issue_template.platform, + issue_template.description, + issue_template.title, + issue_template.`system`, + issue_template.global, + issue_template.workspace_id, + issue_template.content, + issue_template.create_time, + issue_template.update_time, + issue_template.create_user + FROM issue_template + WHERE issue_template.global = 0; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cursor1; + outer_loop: + LOOP + FETCH cursor1 INTO templateId, name, platform, description, title, `system`, global, workspaceId, content, + createTime, updateTime, createUser; + IF done + THEN + LEAVE outer_loop; + END IF; + + -- 自定义字段数据下发到项目 + INSERT INTO issue_template(id, name, platform, description, title, `system`, global, content, + create_time, update_time, create_user, project_id, workspace_id) + SELECT CONCAT(templateId, '-', SUBSTRING(MD5(RAND()), 1, 10)), + issue_template.name, + issue_template.platform, + issue_template.description, + title, + `system`, + global, + content, + issue_template.create_time, + issue_template.update_time, + issue_template.create_user, + project.id, + issue_template.workspace_id + FROM project + JOIN issue_template ON project.workspace_id = issue_template.workspace_id + WHERE issue_template.id = templateId; + -- 删除处理过的数据 + DELETE FROM issue_template WHERE id = templateId; + + END LOOP; + CLOSE cursor1; +END +// +DELIMITER ; + +CALL issue_template_ws(); +DROP PROCEDURE IF EXISTS issue_template_ws; + + +DROP TABLE IF EXISTS custom_field_template_bak; +CREATE TEMPORARY TABLE custom_field_template_bak LIKE custom_field_template; +INSERT INTO custom_field_template_bak +SELECT * +FROM custom_field_template; +TRUNCATE TABLE custom_field_template; + +-- 关系表去掉工作空间 +DROP PROCEDURE IF EXISTS custom_field_template_ws; +DELIMITER // +CREATE PROCEDURE custom_field_template_ws() +BEGIN + + DECLARE fieldId VARCHAR(64); + DECLARE templateId VARCHAR(64); + DECLARE scene VARCHAR(64); + DECLARE required TINYINT(1); + DECLARE `order` INT; + DECLARE defaultValue VARCHAR(100); + DECLARE customData VARCHAR(255); + DECLARE `key` VARCHAR(1); + + DECLARE done INT DEFAULT 0; + # 必须用 table_name.column_name + DECLARE cursor1 CURSOR FOR SELECT custom_field_template_bak.field_id, + custom_field_template_bak.template_id, + custom_field_template_bak.scene, + custom_field_template_bak.required, + custom_field_template_bak.`order`, + custom_field_template_bak.default_value, + custom_field_template_bak.custom_data, + custom_field_template_bak.`key` + FROM custom_field_template_bak; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + OPEN cursor1; + outer_loop: + LOOP + FETCH cursor1 INTO fieldId, templateId, scene, required, `order`, defaultValue, customData, `key`; + IF done + THEN + LEAVE outer_loop; + END IF; + + # + -- 关联数据下发到项目 + INSERT INTO custom_field_template(id, field_id, template_id, scene, required, `order`, default_value, + custom_data, `key`) + SELECT UUID(), + custom_field.id, + test_case_template.id, + scene, + required, + `order`, + defaultValue, + customData, + `key` + FROM custom_field, + test_case_template + WHERE custom_field.id LIKE CONCAT(fieldId, '%') + AND test_case_template.id LIKE CONCAT(templateId, '%'); + + INSERT INTO custom_field_template(id, field_id, template_id, scene, required, `order`, default_value, + custom_data, `key`) + SELECT UUID(), + custom_field.id, + issue_template.id, + scene, + required, + `order`, + defaultValue, + customData, + `key` + FROM custom_field, + issue_template + WHERE custom_field.id LIKE CONCAT(fieldId, '%') + AND issue_template.id LIKE CONCAT(templateId, '%'); + + END LOOP; + CLOSE cursor1; +END +// +DELIMITER ; + +CALL custom_field_template_ws(); +DROP PROCEDURE IF EXISTS custom_field_template_ws; +DROP TABLE IF EXISTS custom_field_template_bak; + + +-- 去掉组织id +ALTER TABLE test_case_template + DROP COLUMN workspace_id; + +ALTER TABLE issue_template + DROP COLUMN workspace_id; + +ALTER TABLE custom_field + DROP COLUMN workspace_id; + +-- project 数据调整 +UPDATE project + JOIN test_case_template ON project.id = test_case_template.project_id +SET project.case_template_id = test_case_template.id +WHERE case_template_id IS NOT NULL + AND test_case_template.id LIKE CONCAT(case_template_id, '%'); + +UPDATE project + JOIN issue_template ON project.id = issue_template.project_id +SET project.issue_template_id = issue_template.id +WHERE issue_template_id IS NOT NULL + AND issue_template.id LIKE CONCAT(issue_template_id, '%'); + +-- 默认设置权限 +INSERT INTO user_group_permission (id, group_id, permission_id, module_id) +VALUES (UUID(), 'project_admin', 'PROJECT_TEMPLATE:READ+CASE_TEMPLATE', 'PROJECT_TEMPLATE'); +INSERT INTO user_group_permission (id, group_id, permission_id, module_id) +VALUES (UUID(), 'project_admin', 'PROJECT_TEMPLATE:READ', 'PROJECT_TEMPLATE'); +INSERT INTO user_group_permission (id, group_id, permission_id, module_id) +VALUES (UUID(), 'project_admin', 'PROJECT_TEMPLATE:READ+CUSTOM', 'PROJECT_TEMPLATE'); +INSERT INTO user_group_permission (id, group_id, permission_id, module_id) +VALUES (UUID(), 'project_admin', 'PROJECT_TEMPLATE:READ+ISSUE_TEMPLATE', 'PROJECT_TEMPLATE'); + + + diff --git a/backend/src/main/resources/permission.json b/backend/src/main/resources/permission.json index 22fa9fc216..92c9e1f5c1 100644 --- a/backend/src/main/resources/permission.json +++ b/backend/src/main/resources/permission.json @@ -140,16 +140,6 @@ "name": "permission.workspace_service.edit", "resourceId": "WORKSPACE_SERVICE" }, - { - "id": "WORKSPACE_MESSAGE:READ", - "name": "permission.workspace_message.read", - "resourceId": "WORKSPACE_MESSAGE" - }, - { - "id": "WORKSPACE_MESSAGE:READ+EDIT", - "name": "permission.workspace_message.edit", - "resourceId": "WORKSPACE_MESSAGE" - }, { "id": "WORKSPACE_USER:READ", "name": "permission.workspace_user.read", @@ -255,26 +245,6 @@ "name": "permission.workspace_operation_log.read", "resourceId": "WORKSPACE_OPERATING_LOG" }, - { - "id": "WORKSPACE_TEMPLATE:READ", - "name": "permission.workspace_template.read", - "resourceId": "WORKSPACE_TEMPLATE" - }, - { - "id": "WORKSPACE_TEMPLATE:READ+CASE_TEMPLATE", - "name": "permission.workspace_template.case_template", - "resourceId": "WORKSPACE_TEMPLATE" - }, - { - "id": "WORKSPACE_TEMPLATE:READ+ISSUE_TEMPLATE", - "name": "permission.workspace_template.issue_template", - "resourceId": "WORKSPACE_TEMPLATE" - }, - { - "id": "WORKSPACE_TEMPLATE:READ+CUSTOM", - "name": "permission.workspace_template.custom", - "resourceId": "WORKSPACE_TEMPLATE" - }, { "id": "PROJECT_USER:READ", "name": "permission.project_user.read", @@ -405,6 +375,36 @@ "name": "permission.project_file.delete_file", "resourceId": "PROJECT_FILE" }, + { + "id": "PROJECT_TEMPLATE:READ", + "name": "permission.project_template.read", + "resourceId": "PROJECT_TEMPLATE" + }, + { + "id": "PROJECT_TEMPLATE:READ+CASE_TEMPLATE", + "name": "permission.project_template.case_template", + "resourceId": "PROJECT_TEMPLATE" + }, + { + "id": "PROJECT_TEMPLATE:READ+ISSUE_TEMPLATE", + "name": "permission.project_template.issue_template", + "resourceId": "PROJECT_TEMPLATE" + }, + { + "id": "PROJECT_TEMPLATE:READ+CUSTOM", + "name": "permission.project_template.custom", + "resourceId": "PROJECT_TEMPLATE" + }, + { + "id": "PROJECT_MESSAGE:READ", + "name": "permission.project_message.read", + "resourceId": "PROJECT_MESSAGE" + }, + { + "id": "PROJECT_MESSAGE:READ+EDIT", + "name": "permission.project_message.edit", + "resourceId": "PROJECT_MESSAGE" + }, { "id": "PROJECT_CUSTOM_CODE:READ", "name": "permission.project_custom_code.read", @@ -1006,14 +1006,6 @@ "id": "WORKSPACE_SERVICE", "name": "permission.workspace_service.name" }, - { - "id": "WORKSPACE_MESSAGE", - "name": "permission.workspace_message.name" - }, - { - "id": "WORKSPACE_TEMPLATE", - "name": "permission.workspace_template.name" - }, { "id": "WORKSPACE_PROJECT_MANAGER", "name": "permission.workspace_project_manager.name" @@ -1054,6 +1046,14 @@ "id": "PROJECT_FILE", "name": "permission.project_file.name" }, + { + "id": "PROJECT_TEMPLATE", + "name": "permission.project_template.name" + }, + { + "id": "PROJECT_MESSAGE", + "name": "permission.project_message.name" + }, { "id": "PROJECT_VERSION", "name": "project.version_manage", diff --git a/frontend/src/business/components/api/automation/schedule/ScheduleNotification.vue b/frontend/src/business/components/api/automation/schedule/ScheduleNotification.vue index 7ccc97f63f..cd80c259d5 100644 --- a/frontend/src/business/components/api/automation/schedule/ScheduleNotification.vue +++ b/frontend/src/business/components/api/automation/schedule/ScheduleNotification.vue @@ -99,7 +99,7 @@ v-show="!scope.row.isSet" :tip="$t('commons.edit')" @click="handleEditTask(scope.$index,scope.row)" - v-permission="['WORKSPACE_MESSAGE:READ+EDIT']"/> + v-permission="['PROJECT_MESSAGE:READ+EDIT']"/> + v-permission="['PROJECT_MESSAGE:READ+EDIT']"/> diff --git a/frontend/src/business/components/api/definition/components/import/SwaggerTaskNotification.vue b/frontend/src/business/components/api/definition/components/import/SwaggerTaskNotification.vue index 811e8e2bf6..67de67f23d 100644 --- a/frontend/src/business/components/api/definition/components/import/SwaggerTaskNotification.vue +++ b/frontend/src/business/components/api/definition/components/import/SwaggerTaskNotification.vue @@ -99,7 +99,7 @@ v-show="!scope.row.isSet" :tip="$t('commons.edit')" @click="handleEditTask(scope.$index,scope.row)" - v-permission="['WORKSPACE_MESSAGE:READ+EDIT']"/> + v-permission="['PROJECT_MESSAGE:READ+EDIT']"/> + v-permission="['PROJECT_MESSAGE:READ+EDIT']"/> diff --git a/frontend/src/business/components/common/components/MsScheduleEdit.vue b/frontend/src/business/components/common/components/MsScheduleEdit.vue index 7ef6a4b1db..2fde5c990b 100644 --- a/frontend/src/business/components/common/components/MsScheduleEdit.vue +++ b/frontend/src/business/components/common/components/MsScheduleEdit.vue @@ -41,16 +41,11 @@ + + diff --git a/frontend/src/business/components/settings/workspace/template/TestCaseReportTemplate.vue b/frontend/src/business/components/project/template/TestCaseReportTemplate.vue similarity index 62% rename from frontend/src/business/components/settings/workspace/template/TestCaseReportTemplate.vue rename to frontend/src/business/components/project/template/TestCaseReportTemplate.vue index dd93c41bb2..b3993dcc61 100644 --- a/frontend/src/business/components/settings/workspace/template/TestCaseReportTemplate.vue +++ b/frontend/src/business/components/project/template/TestCaseReportTemplate.vue @@ -17,24 +17,23 @@