From 54a1910c7ef669864116c0592f6baba6fc56d61c Mon Sep 17 00:00:00 2001 From: WangXu10 Date: Thu, 18 May 2023 11:40:24 +0800 Subject: [PATCH] =?UTF-8?q?build=EF=BC=9Afunctional=20basic=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/pom.xml | 2 +- .../app/src/main/resources/logback-spring.xml | 6 +- .../functional/domain/CaseReview.java | 72 +++++++++++ .../functional/domain/CaseReviewFollow.java | 32 +++++ .../domain/CaseReviewFunctionalCase.java | 64 ++++++++++ .../domain/CaseReviewFunctionalCaseUser.java | 37 ++++++ .../functional/domain/CaseReviewUser.java | 29 +++++ .../domain/CustomFieldTestCase.java | 38 ++++++ .../functional/domain/FunctionalCase.java | 120 ++++++++++++++++++ .../domain/FunctionalCaseAttachment.java | 29 +++++ .../functional/domain/FunctionalCaseBlob.java | 43 +++++++ .../domain/FunctionalCaseComment.java | 62 +++++++++ .../domain/FunctionalCaseFollow.java | 28 ++++ .../domain/FunctionalCaseModule.java | 58 +++++++++ .../FunctionalCaseRelationshipEdge.java | 54 ++++++++ .../functional/domain/FunctionalCaseTest.java | 50 ++++++++ .../functional/domain/MinderExtraNode.java | 44 +++++++ ...track.properties => functional.properties} | 0 .../i18n/functional_en_US.properties | 50 ++++++++ .../i18n/functional_zh_CN.properties | 49 +++++++ .../i18n/functional_zh_TW.properties | 49 +++++++ .../resources/i18n/track_en_US.properties | 0 .../resources/i18n/track_zh_CN.properties | 0 .../resources/i18n/track_zh_TW.properties | 0 .../{test-track => functional-test}/pom.xml | 4 +- .../controller/CaseReviewController.java | 16 +++ .../CaseReviewFollowController.java | 16 +++ .../CaseReviewFunctionalCaseController.java | 16 +++ ...aseReviewFunctionalCaseUserController.java | 16 +++ .../controller/CaseReviewUserController.java | 16 +++ .../CustomFieldTestCaseController.java | 16 +++ .../FunctionalCaseAttachmentController.java | 16 +++ .../FunctionalCaseBlobController.java | 14 ++ .../FunctionalCaseCommentController.java | 16 +++ .../controller/FunctionalCaseController.java | 15 +++ .../FunctionalCaseFollowController.java | 16 +++ .../FunctionalCaseModuleController.java | 17 +++ ...ctionalCaseRelationshipEdgeController.java | 16 +++ .../FunctionalCaseTestController.java | 16 +++ .../controller/MinderExtraNodeController.java | 16 +++ .../mapper/CaseReviewFollowMapper.java | 11 ++ .../CaseReviewFunctionalCaseMapper.java | 11 ++ .../CaseReviewFunctionalCaseUserMapper.java | 11 ++ .../functional/mapper/CaseReviewMapper.java | 11 ++ .../mapper/CaseReviewUserMapper.java | 11 ++ .../mapper/CustomFieldTestCaseMapper.java | 11 ++ .../FunctionalCaseAttachmentMapper.java | 17 +++ .../mapper/FunctionalCaseBlobMapper.java | 17 +++ .../mapper/FunctionalCaseCommentMapper.java | 9 ++ .../mapper/FunctionalCaseFollowMapper.java | 17 +++ .../mapper/FunctionalCaseMapper.java | 9 ++ .../mapper/FunctionalCaseModuleMapper.java | 17 +++ .../FunctionalCaseRelationshipEdgeMapper.java | 17 +++ .../mapper/FunctionalCaseTestMapper.java | 11 ++ .../mapper/MinderExtraNodeMapper.java | 11 ++ .../service/CaseReviewFollowService.java | 17 +++ .../CaseReviewFunctionalCaseService.java | 17 +++ .../CaseReviewFunctionalCaseUserService.java | 17 +++ .../functional/service/CaseReviewService.java | 17 +++ .../service/CaseReviewUserService.java | 17 +++ .../service/CustomFieldTestCaseService.java | 17 +++ .../FunctionalCaseAttachmentService.java | 13 ++ .../service/FunctionalCaseBlobService.java | 19 +++ .../service/FunctionalCaseCommentService.java | 10 ++ .../service/FunctionalCaseFollowService.java | 19 +++ .../service/FunctionalCaseModuleService.java | 19 +++ ...FunctionalCaseRelationshipEdgeService.java | 19 +++ .../service/FunctionalCaseService.java | 10 ++ .../service/FunctionalCaseTestService.java | 18 +++ .../service/MinderExtraNodeService.java | 17 +++ backend/services/pom.xml | 2 +- .../io/metersphere/track/domain/TestCase.java | 72 ----------- 72 files changed, 1590 insertions(+), 79 deletions(-) create mode 100644 backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReview.java create mode 100644 backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFollow.java create mode 100644 backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFunctionalCase.java create mode 100644 backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFunctionalCaseUser.java create mode 100644 backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewUser.java create mode 100644 backend/framework/domain/src/main/java/io/metersphere/functional/domain/CustomFieldTestCase.java create mode 100644 backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCase.java create mode 100644 backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseAttachment.java create mode 100644 backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseBlob.java create mode 100644 backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseComment.java create mode 100644 backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseFollow.java create mode 100644 backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseModule.java create mode 100644 backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseRelationshipEdge.java create mode 100644 backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseTest.java create mode 100644 backend/framework/domain/src/main/java/io/metersphere/functional/domain/MinderExtraNode.java rename backend/framework/sdk/src/main/resources/i18n/{track.properties => functional.properties} (100%) create mode 100644 backend/framework/sdk/src/main/resources/i18n/functional_en_US.properties create mode 100644 backend/framework/sdk/src/main/resources/i18n/functional_zh_CN.properties create mode 100644 backend/framework/sdk/src/main/resources/i18n/functional_zh_TW.properties delete mode 100644 backend/framework/sdk/src/main/resources/i18n/track_en_US.properties delete mode 100644 backend/framework/sdk/src/main/resources/i18n/track_zh_CN.properties delete mode 100644 backend/framework/sdk/src/main/resources/i18n/track_zh_TW.properties rename backend/services/{test-track => functional-test}/pom.xml (89%) create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewController.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewFollowController.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewFunctionalCaseController.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewFunctionalCaseUserController.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewUserController.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CustomFieldTestCaseController.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseAttachmentController.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseBlobController.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseCommentController.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseController.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseFollowController.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseModuleController.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseRelationshipEdgeController.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseTestController.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/controller/MinderExtraNodeController.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewFollowMapper.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewFunctionalCaseMapper.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewFunctionalCaseUserMapper.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewMapper.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewUserMapper.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CustomFieldTestCaseMapper.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseAttachmentMapper.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseBlobMapper.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseCommentMapper.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseFollowMapper.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseMapper.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseModuleMapper.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseRelationshipEdgeMapper.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseTestMapper.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/MinderExtraNodeMapper.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewFollowService.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewFunctionalCaseService.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewFunctionalCaseUserService.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewService.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewUserService.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/service/CustomFieldTestCaseService.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseAttachmentService.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseBlobService.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseCommentService.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseFollowService.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseModuleService.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseRelationshipEdgeService.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseService.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseTestService.java create mode 100644 backend/services/functional-test/src/main/java/io/metersphere/functional/service/MinderExtraNodeService.java delete mode 100644 backend/services/test-track/src/main/java/io/metersphere/track/domain/TestCase.java diff --git a/backend/app/pom.xml b/backend/app/pom.xml index 49bf902068..63b693b82d 100644 --- a/backend/app/pom.xml +++ b/backend/app/pom.xml @@ -46,7 +46,7 @@ io.metersphere - metersphere-test-track + metersphere-functional-test ${revision} diff --git a/backend/app/src/main/resources/logback-spring.xml b/backend/app/src/main/resources/logback-spring.xml index c98f1d4a59..4c75905c79 100644 --- a/backend/app/src/main/resources/logback-spring.xml +++ b/backend/app/src/main/resources/logback-spring.xml @@ -269,15 +269,15 @@ - + INFO - ${logging.file.path}/test-track.log + ${logging.file.path}/functional-test.log - ${logging.file.path}/history/test-track.%d{yyyyMMdd}-%i.log + ${logging.file.path}/history/functional-test.%d{yyyyMMdd}-%i.log ${logger.max.history:-30} 50MB diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReview.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReview.java new file mode 100644 index 0000000000..41bad9da4e --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReview.java @@ -0,0 +1,72 @@ +package io.metersphere.functional.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; + +@ApiModel(value = "用例评审") +@TableName("case_review") +@Data +public class CaseReview implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + @NotBlank(message = "{case_review.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "ID", required = true, allowableValues = "range[1, 50]") + private String id; + + @Size(min = 1, max = 200, message = "{case_review.name.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{case_review.name.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "名称", required = true, allowableValues = "range[1, 200]") + private String name; + + @Size(min = 1, max = 64, message = "{case_review.status.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{case_review.status.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "评审状态:未开始/进行中/已完成/已结束/已归档", required = true, allowableValues = "range[1, 64]") + private String status; + + + @ApiModelProperty(name = "创建时间", required = true, dataType = "Long") + private Long createTime; + + + @ApiModelProperty(name = "更新时间", required = true, dataType = "Long") + private Long updateTime; + + + @ApiModelProperty(name = "评审结束时间", required = true, dataType = "Long") + private Long endTime; + + + @ApiModelProperty(name = "描述", required = false) + private String description; + + @Size(min = 1, max = 50, message = "{case_review.project_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{case_review.project_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "项目ID", required = true, allowableValues = "range[1, 50]") + private String projectId; + + + @ApiModelProperty(name = "标签", required = false, allowableValues = "range[1, 1000]") + private String tags; + + @Size(min = 1, max = 50, message = "{case_review.create_user.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{case_review.create_user.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "创建人", required = true, allowableValues = "range[1, 50]") + private String createUser; + + @Size(min = 1, max = 64, message = "{case_review.review_pass_rule.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{case_review.review_pass_rule.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "评审规则:单人通过/全部通过", required = true, allowableValues = "range[1, 64]") + private String reviewPassRule; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFollow.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFollow.java new file mode 100644 index 0000000000..dc7c85c2f4 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFollow.java @@ -0,0 +1,32 @@ +package io.metersphere.functional.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; + +@ApiModel(value = "用例评审关注人") +@TableName("case_review_follow") +@Data +public class CaseReviewFollow implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + @NotBlank(message = "{case_review_follow.review_id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "评审ID", required = true, allowableValues = "range[1, 50]") + private String reviewId; + + + @NotBlank(message = "{case_review_follow.follow_id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "关注人", required = true, allowableValues = "range[1, 50]") + private String followId; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFunctionalCase.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFunctionalCase.java new file mode 100644 index 0000000000..c621b089dc --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFunctionalCase.java @@ -0,0 +1,64 @@ +package io.metersphere.functional.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; + +@ApiModel(value = "用例评审和功能用例的中间表") +@TableName("case_review_functional_case") +@Data +public class CaseReviewFunctionalCase implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + @NotBlank(message = "{case_review_functional_case.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "ID", required = true, allowableValues = "range[1, 50]") + private String id; + + @Size(min = 1, max = 50, message = "{case_review_functional_case.review_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{case_review_functional_case.review_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "评审ID", required = true, allowableValues = "range[1, 50]") + private String reviewId; + + @Size(min = 1, max = 50, message = "{case_review_functional_case.case_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{case_review_functional_case.case_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "用例ID", required = true, allowableValues = "range[1, 50]") + private String caseId; + + @Size(min = 1, max = 64, message = "{case_review_functional_case.status.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{case_review_functional_case.status.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "评审状态:进行中/通过/不通过/重新提审", required = true, allowableValues = "range[1, 64]") + private String status; + + + @ApiModelProperty(name = "创建时间", required = true, dataType = "Long") + private Long createTime; + + + @ApiModelProperty(name = "更新时间", required = true, dataType = "Long") + private Long updateTime; + + @Size(min = 1, max = 50, message = "{case_review_functional_case.create_user.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{case_review_functional_case.create_user.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "创建人", required = true, allowableValues = "range[1, 50]") + private String createUser; + + + @ApiModelProperty(name = "自定义排序,间隔5000", required = true, dataType = "Long") + private Long pos; + + @Size(min = 1, max = 1, message = "{case_review_functional_case.deleted.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{case_review_functional_case.deleted.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "关联的用例是否放入回收站", required = true, allowableValues = "range[1, 1]") + private Boolean deleted; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFunctionalCaseUser.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFunctionalCaseUser.java new file mode 100644 index 0000000000..dd2b6a4d9f --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFunctionalCaseUser.java @@ -0,0 +1,37 @@ +package io.metersphere.functional.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; + +@ApiModel(value = "功能用例评审和评审人的中间表") +@TableName("case_review_functional_case_user") +@Data +public class CaseReviewFunctionalCaseUser implements Serializable { + private static final long serialVersionUID = 1L; + + @Size(min = 1, max = 50, message = "{case_review_functional_case_user.case_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{case_review_functional_case_user.case_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "功能用例和评审中间表的ID", required = true, allowableValues = "range[1, 50]") + private String caseId; + + @Size(min = 1, max = 50, message = "{case_review_functional_case_user.review_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{case_review_functional_case_user.review_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "评审ID", required = true, allowableValues = "range[1, 50]") + private String reviewId; + + @Size(min = 1, max = 50, message = "{case_review_functional_case_user.user_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{case_review_functional_case_user.user_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "评审人ID", required = true, allowableValues = "range[1, 50]") + private String userId; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewUser.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewUser.java new file mode 100644 index 0000000000..0eff6fb2c2 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewUser.java @@ -0,0 +1,29 @@ +package io.metersphere.functional.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; +import java.io.Serializable; + +@ApiModel(value = "评审和评审人中间表") +@TableName("case_review_user") +@Data +public class CaseReviewUser implements Serializable { + private static final long serialVersionUID = 1L; + + @NotBlank(message = "{case_review_user.review_id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "评审ID", required = true, allowableValues="range[1, 50]") + private String reviewId; + + @NotBlank(message = "{case_review_user.user_id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "评审人ID", required = true, allowableValues="range[1, 50]") + private String userId; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CustomFieldTestCase.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CustomFieldTestCase.java new file mode 100644 index 0000000000..7369f4c950 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CustomFieldTestCase.java @@ -0,0 +1,38 @@ +package io.metersphere.functional.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; + +@ApiModel(value = "自定义字段功能用例关系") +@TableName("custom_field_test_case") +@Data +public class CustomFieldTestCase implements Serializable { + private static final long serialVersionUID = 1L; + + @NotBlank(message = "{custom_field_test_case.resource_id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "资源ID", required = true, allowableValues = "range[1, 50]") + private String resourceId; + + @NotBlank(message = "{custom_field_test_case.field_id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "字段ID", required = true, allowableValues = "range[1, 50]") + private String fieldId; + + + @ApiModelProperty(name = "字段值", required = false, allowableValues = "range[1, 1000]") + private String value; + + + @ApiModelProperty(name = "", required = false, allowableValues = "range[1, ]") + private String textValue; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCase.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCase.java new file mode 100644 index 0000000000..8ebbf7c52a --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCase.java @@ -0,0 +1,120 @@ +package io.metersphere.functional.domain; + + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; + +@ApiModel(value = "功能用例") +@TableName("functional_case") +@Data +public class FunctionalCase implements Serializable { + private static final long serialVersionUID = 1L; + + + @TableId + @NotBlank(message = "{functional_case.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "ID", required = true, allowableValues = "range[1, 50]") + private String id; + + + @ApiModelProperty(name = "业务ID", required = true, dataType = "Integer") + private Integer num; + + @Size(min = 1, max = 64, message = "{functional_case.custom_num.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case.custom_num.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "自定义业务ID", required = true, allowableValues = "range[1, 64]") + private String customNum; + + @Size(min = 1, max = 50, message = "{functional_case.module_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case.module_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "模块ID", required = true, allowableValues = "range[1, 50]") + private String moduleId; + + @Size(min = 1, max = 50, message = "{functional_case.project_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case.project_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "项目ID", required = true, allowableValues = "range[1, 50]") + private String projectId; + + @Size(min = 1, max = 255, message = "{functional_case.name.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case.name.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "名称", required = true, allowableValues = "range[1, 255]") + private String name; + + @Size(min = 1, max = 64, message = "{functional_case.review_status.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case.review_status.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "评审状态:未开始/进行中/已完成/已结束", required = true, allowableValues = "range[1, 64]") + private String reviewStatus; + + + @ApiModelProperty(name = "标签(JSON)", required = false, allowableValues = "range[1, 1000]") + private String tags; + + @Size(min = 1, max = 64, message = "{functional_case.step_model.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case.step_model.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "编辑模式:步骤模式/文本模式", required = true, allowableValues = "range[1, 64]") + private String stepModel; + + + @ApiModelProperty(name = "自定义排序,间隔5000", required = true, dataType = "Long") + private Long pos; + + @Size(min = 1, max = 50, message = "{functional_case.version_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case.version_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "版本ID", required = true, allowableValues = "range[1, 50]") + private String versionId; + + @Size(min = 1, max = 50, message = "{functional_case.ref_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case.ref_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "指向初始版本ID", required = true, allowableValues = "range[1, 50]") + private String refId; + + @Size(min = 1, max = 64, message = "{functional_case.last_execute_result.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case.last_execute_result.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "最近的执行结果:未执行/通过/失败/阻塞/跳过", required = true, allowableValues = "range[1, 64]") + private String lastExecuteResult; + + @Size(min = 1, max = 1, message = "{functional_case.deleted.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case.deleted.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "是否在回收站:0-否,1-是", required = true, allowableValues = "range[1, 1]") + private Boolean deleted; + + @Size(min = 1, max = 1, message = "{functional_case.public_case.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case.public_case.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "是否是公共用例:0-否,1-是", required = true, allowableValues = "range[1, 1]") + private Boolean publicCase; + + @Size(min = 1, max = 1, message = "{functional_case.latest.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case.latest.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "是否为最新版本:0-否,1-是", required = true, allowableValues = "range[1, 1]") + private Boolean latest; + + @Size(min = 1, max = 100, message = "{functional_case.create_user.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case.create_user.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "创建人", required = true, allowableValues = "range[1, 100]") + private String createUser; + + + @ApiModelProperty(name = "删除人", required = false, allowableValues = "range[1, 64]") + private String deleteUser; + + + @ApiModelProperty(name = "创建时间", required = true, dataType = "Long") + private Long createTime; + + + @ApiModelProperty(name = "更新时间", required = true, dataType = "Long") + private Long updateTime; + + + @ApiModelProperty(name = "删除时间", required = false, dataType = "Long") + private Long deleteTime; +} diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseAttachment.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseAttachment.java new file mode 100644 index 0000000000..900d21e6b1 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseAttachment.java @@ -0,0 +1,29 @@ +package io.metersphere.functional.domain; + +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +@ApiModel(value = "功能用例和附件的中间表") +@TableName("functional_case_attachment") +@Data +public class FunctionalCaseAttachment implements Serializable { + private static final long serialVersionUID = 1L; + + @NotBlank(message = "{functional_case_attachment.functional_case_id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "功能用例ID", required = true, allowableValues = "range[1, 50]") + private String functionalCaseId; + + @NotBlank(message = "{functional_case_attachment.file_id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "文件的ID", required = true, allowableValues = "range[1, 50]") + private String fileId; + +} diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseBlob.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseBlob.java new file mode 100644 index 0000000000..3d46733f00 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseBlob.java @@ -0,0 +1,43 @@ +package io.metersphere.functional.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; + +import java.io.Serializable; + +@ApiModel(value = "功能用例") +@TableName("functional_case_blob") +@Data +public class FunctionalCaseBlob implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + @NotBlank(message = "{functional_case_blob.functional_case_id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "功能用例ID", required = true, allowableValues = "range[1, 50]") + private String functionalCaseId; + + + @ApiModelProperty(name = "用例步骤(JSON),step_model 为 0 时启用", required = false) + private String steps; + + + @ApiModelProperty(name = "步骤描述,step_model 为 1 时启用", required = false) + private String stepDescription; + + + @ApiModelProperty(name = "预期结果,step_model 为 1 时启用", required = false) + private String expectedResult; + + + @ApiModelProperty(name = "前置条件", required = false) + private String prerequisite; + + + @ApiModelProperty(name = "备注", required = false) + private String description; +} diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseComment.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseComment.java new file mode 100644 index 0000000000..1a2af46a6e --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseComment.java @@ -0,0 +1,62 @@ +package io.metersphere.functional.domain; + +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +@ApiModel(value = "功能用例评论") +@TableName("functional_case_comment") +@Data +public class FunctionalCaseComment implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + @NotBlank(message = "{functional_case_comment.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "ID", required = true, allowableValues = "range[1, 50]") + private String id; + + @Size(min = 1, max = 50, message = "{functional_case_comment.case_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case_comment.case_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "功能用例ID", required = true, allowableValues = "range[1, 50]") + private String caseId; + + @Size(min = 1, max = 50, message = "{functional_case_comment.create_user.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case_comment.create_user.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "评论人", required = true, allowableValues = "range[1, 50]") + private String createUser; + + + @ApiModelProperty(name = "评论时添加的状态:通过/不通过/重新提审/通过标准变更标记/强制通过标记/强制不通过标记/状态变更标记", required = false, allowableValues = "range[1, 64]") + private String status; + + @Size(min = 1, max = 64, message = "{functional_case_comment.type.length_range}", groups = {Created.class, Updated.class}) + + @NotBlank(message = "{functional_case_comment.type.not_blank}", groups = {Created.class}) + + @ApiModelProperty(name = "评论类型:用例评论/测试计划用例评论/评审用例评论", required = true, allowableValues = "range[1, 64]") + private String type; + + + @ApiModelProperty(name = "当前评审所属的测试计划ID或评审ID", required = false, allowableValues = "range[1, 50]") + private String belongId; + + + @ApiModelProperty(name = "创建时间", required = true, dataType = "Long") + private Long createTime; + + + @ApiModelProperty(name = "更新时间", required = true, dataType = "Long") + private Long updateTime; + + + @ApiModelProperty(name = "描述", required = false) + private String description; +} diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseFollow.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseFollow.java new file mode 100644 index 0000000000..3ac8825887 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseFollow.java @@ -0,0 +1,28 @@ +package io.metersphere.functional.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; + +import java.io.Serializable; + +@ApiModel(value = "功能用例和关注人的中间表") +@TableName("functional_case_follow") +@Data +public class FunctionalCaseFollow implements Serializable { + private static final long serialVersionUID = 1L; + + @NotBlank(message = "{functional_case_follow.case_id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "功能用例ID", required = true, allowableValues = "range[1, 50]") + private String caseId; + + @NotBlank(message = "{functional_case_follow.follow_id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "关注人ID", required = true, allowableValues = "range[1, 50]") + private String followId; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseModule.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseModule.java new file mode 100644 index 0000000000..d15f1be841 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseModule.java @@ -0,0 +1,58 @@ +package io.metersphere.functional.domain; + +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +@ApiModel(value = "功能用例模块") +@TableName("functional_case_module") +@Data +public class FunctionalCaseModule implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + @NotBlank(message = "{functional_case_module.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "ID", required = true, allowableValues = "range[1, 50]") + private String id; + + @Size(min = 1, max = 50, message = "{functional_case_module.project_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case_module.project_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "项目ID", required = true, allowableValues = "range[1, 50]") + private String projectId; + + @Size(min = 1, max = 100, message = "{functional_case_module.name.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case_module.name.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "名称", required = true, allowableValues = "range[1, 100]") + private String name; + + @ApiModelProperty(name = "父节点ID", required = false, allowableValues = "range[1, 50]") + private String parentId; + + + @ApiModelProperty(name = "节点的层级", required = true, dataType = "Integer") + private Integer level; + + @ApiModelProperty(name = "创建时间", required = true, dataType = "Long") + private Long createTime; + + @ApiModelProperty(name = "更新时间", required = true, dataType = "Long") + private Long updateTime; + + @Size(min = 1, max = 10, message = "{functional_case_module.pos.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case_module.pos.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "同一节点下的顺序", required = true, dataType = "Long") + private Long pos; + + @Size(min = 1, max = 50, message = "{functional_case_module.create_user.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case_module.create_user.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "创建人", required = true, allowableValues = "range[1, 50]") + private String createUser; +} diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseRelationshipEdge.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseRelationshipEdge.java new file mode 100644 index 0000000000..762fa7397f --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseRelationshipEdge.java @@ -0,0 +1,54 @@ +package io.metersphere.functional.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; + +@ApiModel(value = "功能用例的前后置关系") +@TableName("functional_case_relationship_edge") +@Data +public class FunctionalCaseRelationshipEdge implements Serializable { + private static final long serialVersionUID = 1L; + @TableId + @NotBlank(message = "{functional_case_relationship_edge.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "ID", required = true, allowableValues = "range[1, 50]") + private String id; + + @Size(min = 1, max = 50, message = "{functional_case_relationship_edge.source_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case_relationship_edge.source_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "源节点的ID", required = true, allowableValues = "range[1, 50]") + private String sourceId; + + @Size(min = 1, max = 50, message = "{functional_case_relationship_edge.target_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case_relationship_edge.target_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "目标节点的ID", required = true, allowableValues = "range[1, 50]") + private String targetId; + + @Size(min = 1, max = 50, message = "{functional_case_relationship_edge.graph_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case_relationship_edge.graph_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "所属关系图的ID", required = true, allowableValues = "range[1, 50]") + private String graphId; + + @Size(min = 1, max = 50, message = "{functional_case_relationship_edge.create_user.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case_relationship_edge.create_user.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "创建人", required = true, allowableValues = "range[1, 50]") + private String createUser; + + + @ApiModelProperty(name = "更新时间", required = true, dataType = "Long") + private Long updateTime; + + + @ApiModelProperty(name = "创建时间", required = true, dataType = "Long") + private Long createTime; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseTest.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseTest.java new file mode 100644 index 0000000000..e9fc47a431 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseTest.java @@ -0,0 +1,50 @@ +package io.metersphere.functional.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.io.Serializable; + +@ApiModel(value = "功能用例和其他用例的中间表") +@TableName("functional_case_test") +@Data +public class FunctionalCaseTest implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + @NotBlank(message = "{functional_case_test.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "ID", required = true, allowableValues = "range[1, 50]") + private String id; + + @Size(min = 1, max = 50, message = "{functional_case_test.functional_case_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case_test.functional_case_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "功能用例ID", required = true, allowableValues = "range[1, 50]") + private String functionalCaseId; + + @Size(min = 1, max = 50, message = "{functional_case_test.test_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case_test.test_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "其他类型用例ID", required = true, allowableValues = "range[1, 50]") + private String testId; + + @Size(min = 1, max = 64, message = "{functional_case_test.test_type.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{functional_case_test.test_type.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "用例类型:接口用例/场景用例/性能用例/UI用例", required = true, allowableValues = "range[1, 64]") + private String testType; + + + @ApiModelProperty(name = "创建时间", required = true, dataType = "Long") + private Long createTime; + + + @ApiModelProperty(name = "更新时间", required = true, dataType = "Long") + private Long updateTime; + + +} \ No newline at end of file diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/MinderExtraNode.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/MinderExtraNode.java new file mode 100644 index 0000000000..6fa307a797 --- /dev/null +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/MinderExtraNode.java @@ -0,0 +1,44 @@ +package io.metersphere.functional.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.metersphere.validation.groups.Created; +import io.metersphere.validation.groups.Updated; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Data; +import java.io.Serializable; + +@ApiModel(value = "脑图临时节点") +@TableName("minder_extra_node") +@Data +public class MinderExtraNode implements Serializable { + private static final long serialVersionUID = 1L; + @TableId + @NotBlank(message = "{minder_extra_node.id.not_blank}", groups = {Updated.class}) + @ApiModelProperty(name = "ID", required = true, allowableValues="range[1, 50]") + private String id; + + @Size(min = 1, max = 50, message = "{minder_extra_node.parent_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{minder_extra_node.parent_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "父节点的ID,即模块ID", required = true, allowableValues="range[1, 50]") + private String parentId; + + @Size(min = 1, max = 50, message = "{minder_extra_node.group_id.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{minder_extra_node.group_id.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "项目ID,可扩展为其他资源ID", required = true, allowableValues="range[1, 50]") + private String groupId; + + @Size(min = 1, max = 30, message = "{minder_extra_node.type.length_range}", groups = {Created.class, Updated.class}) + @NotBlank(message = "{minder_extra_node.type.not_blank}", groups = {Created.class}) + @ApiModelProperty(name = "类型,如:用例编辑脑图", required = true, allowableValues="range[1, 30]") + private String type; + + + @ApiModelProperty(name = "存储脑图节点额外信息", required = true, allowableValues="range[1, ]") + private String nodeData; + + +} \ No newline at end of file diff --git a/backend/framework/sdk/src/main/resources/i18n/track.properties b/backend/framework/sdk/src/main/resources/i18n/functional.properties similarity index 100% rename from backend/framework/sdk/src/main/resources/i18n/track.properties rename to backend/framework/sdk/src/main/resources/i18n/functional.properties diff --git a/backend/framework/sdk/src/main/resources/i18n/functional_en_US.properties b/backend/framework/sdk/src/main/resources/i18n/functional_en_US.properties new file mode 100644 index 0000000000..653c86b42b --- /dev/null +++ b/backend/framework/sdk/src/main/resources/i18n/functional_en_US.properties @@ -0,0 +1,50 @@ +#module:FunctionalCase +functional_case.id.not_blank=ID cannot be empty +functional_case.num.not_blank=Business ID cannot be empty +functional_case.custom_num.length_range=The length of the custom business ID must be between 1 and 64 +functional_case.custom_num.not_blank=Custom business ID cannot be empty +functional_case.module_id.length_range=Module ID length must be between 1 and 50 +functional_case.module_id.not_blank=Module ID cannot be empty +functional_case.project_id.length_range=The length of the project ID must be between 1 and 50 +functional_case.project_id.not_blank=Project ID cannot be empty +functional_case.name.length_range=The name length must be between 1 and 255 +functional_case.name.not_blank=Name cannot be empty +functional_case.review_status.length_range=The length of the review status must be between 1 and 64 +functional_case.review_status.not_blank=Review status cannot be empty +functional_case.step_model.length_range=The length of the editing mode must be between 1 and 64 +functional_case.step_model.not_blank=Edit mode cannot be empty +functional_case.version_id.length_range=Version ID length must be between 1 and 50 +functional_case.version_id.not_blank=Version ID cannot be empty +functional_case.ref_id.length_range=Pointing to the initial version ID must be between 1 and 50 +functional_case.ref_id.not_blank=Pointing to the initial version ID cannot be empty +functional_case.last_execute_result.length_range=The length of the most recent execution result must be between 1 and 64 +functional_case.last_execute_result.not_blank=The recent execution result cannot be empty +functional_case.deleted.length_range=Whether the length of the recycle bin must be between 1 and 1 +functional_case.deleted.not_blank=Whether it is in the recycle bin cannot be empty +functional_case.public_case.length_range=Whether it is a public use case, the length must be between 1 and 1 +functional_case.public_case.not_blank=whether it is a public use case cannot be empty +functional_case.latest.length_range=Whether it is the latest version or not. The length must be between 1 and 1 +functional_case.latest.not_blank=whether it is the latest version cannot be empty +functional_case.create_user.length_range=Creator length must be between 1 and 100 +functional_case.create_user.not_blank=Creator cannot be empty +#module:FunctionalCaseBlob +functional_case_blob.functional_case_id.not_blank=Function case ID cannot be empty +#module:FunctionalCaseComment +functional_case_comment.id.not_blank=ID cannot be empty +functional_case_comment.case_id.length_range=The length of the function case ID must be between 1 and 50 +functional_case_comment.case_id.not_blank=Function case ID cannot be empty +functional_case_comment.create_user.length_range=The length of the reviewer must be between 1 and 50 +functional_case_comment.create_user.not_blank=Reviewer cannot be empty +functional_case_comment.type.length_range=Comment type length must be between 1 and 64 +functional_case_comment.type.not_blank=Comment type cannot be empty +#module:FunctionalCaseModule +functional_case_module.id.not_blank=ID cannot be empty +functional_case_module.project_id.length_range=The length of the project ID must be between 1 and 50 +functional_case_module.project_id.not_blank=Project ID cannot be empty +functional_case_module.name.length_range=The name length must be between 1 and 100 +functional_case_module.name.not_blank=Name cannot be empty +functional_case_module.pos.length_range=The order length under the same node must be between 1 and 10 +functional_case_module.pos.not_blank=The order under the same node cannot be empty +functional_case_module.create_user.length_range=Creator length must be between 1 and 50 +functional_case_module.create_user.not_blank=Creator cannot be empty + diff --git a/backend/framework/sdk/src/main/resources/i18n/functional_zh_CN.properties b/backend/framework/sdk/src/main/resources/i18n/functional_zh_CN.properties new file mode 100644 index 0000000000..80cfd9284d --- /dev/null +++ b/backend/framework/sdk/src/main/resources/i18n/functional_zh_CN.properties @@ -0,0 +1,49 @@ +#module:FunctionalCase +functional_case.id.not_blank=ID不能为空 +functional_case.num.not_blank=业务ID不能为空 +functional_case.custom_num.length_range=自定义业务ID长度必须在1-64之间 +functional_case.custom_num.not_blank=自定义业务ID不能为空 +functional_case.module_id.length_range=模块ID长度必须在1-50之间 +functional_case.module_id.not_blank=模块ID不能为空 +functional_case.project_id.length_range=项目ID长度必须在1-50之间 +functional_case.project_id.not_blank=项目ID不能为空 +functional_case.name.length_range=名称长度必须在1-255之间 +functional_case.name.not_blank=名称不能为空 +functional_case.review_status.length_range=评审状态长度必须在1-64之间 +functional_case.review_status.not_blank=评审状态不能为空 +functional_case.step_model.length_range=编辑模式长度必须在1-64之间 +functional_case.step_model.not_blank=编辑模式不能为空 +functional_case.version_id.length_range=版本ID长度必须在1-50之间 +functional_case.version_id.not_blank=版本ID不能为空 +functional_case.ref_id.length_range=指向初始版本ID必须在1-50之间 +functional_case.ref_id.not_blank=指向初始版本ID不能为空 +functional_case.last_execute_result.length_range=最近的执行结果长度必须在1-64之间 +functional_case.last_execute_result.not_blank=最近的执行结果不能为空 +functional_case.deleted.length_range=是否在回收站长度必须在1-1之间 +functional_case.deleted.not_blank=是否在回收站不能为空 +functional_case.public_case.length_range=是否是公共用例长度必须在1-1之间 +functional_case.public_case.not_blank=是否是公共用例不能为空 +functional_case.latest.length_range=是否为最新版本长度必须在1-1之间 +functional_case.latest.not_blank=是否为最新版本不能为空 +functional_case.create_user.length_range=创建人长度必须在1-100之间 +functional_case.create_user.not_blank=创建人不能为空 +#module:FunctionalCaseBlob +functional_case_blob.functional_case_id.not_blank=功能用例ID不能为空 +#module:FunctionalCaseComment +functional_case_comment.id.not_blank=ID不能为空 +functional_case_comment.case_id.length_range=功能用例ID长度必须在1-50之间 +functional_case_comment.case_id.not_blank=功能用例ID不能为空 +functional_case_comment.create_user.length_range=评论人长度必须在1-50之间 +functional_case_comment.create_user.not_blank=评论人不能为空 +functional_case_comment.type.length_range=评论类型长度必须在1-64之间 +functional_case_comment.type.not_blank=评论类型不能为空 +#module:FunctionalCaseModule +functional_case_module.id.not_blank=ID不能为空 +functional_case_module.project_id.length_range=项目ID长度必须在1-50之间 +functional_case_module.project_id.not_blank=项目ID不能为空 +functional_case_module.name.length_range=名称长度必须在1-100之间 +functional_case_module.name.not_blank=名称不能为空 +functional_case_module.pos.length_range=同一节点下的顺序长度必须在1-10之间 +functional_case_module.pos.not_blank=同一节点下的顺序不能为空 +functional_case_module.create_user.length_range=创建人长度必须在1-50之间 +functional_case_module.create_user.not_blank=创建人不能为空 diff --git a/backend/framework/sdk/src/main/resources/i18n/functional_zh_TW.properties b/backend/framework/sdk/src/main/resources/i18n/functional_zh_TW.properties new file mode 100644 index 0000000000..7024b2e04c --- /dev/null +++ b/backend/framework/sdk/src/main/resources/i18n/functional_zh_TW.properties @@ -0,0 +1,49 @@ +#module:FunctionalCase +functional_case.id.not_blank=ID不能為空 +functional_case.num.not_blank=业务ID不能為空 +functional_case.custom_num.length_range=自定義業務ID長度必須在1-64之間 +functional_case.custom_num.not_blank=自定義業務ID不能為空 +functional_case.module_id.length_range=模塊ID長度必須在1-50之間 +functional_case.module_id.not_blank=模塊ID不能為空 +functional_case.project_id.length_range=項目ID長度必須在1-50之間 +functional_case.project_id.not_blank=項目ID不能為空 +functional_case.name.length_range=名稱長度必須在1-255之間 +functional_case.name.not_blank=名稱不能為空 +functional_case.review_status.length_range=評審狀態長度必須在1-64之間 +functional_case.review_status.not_blank=評審狀態不能為空 +functional_case.step_model.length_range=編輯模式長度必須在1-64之間 +functional_case.step_model.not_blank=編輯模式不能為空 +functional_case.version_id.length_range=版本ID長度必須在1-50之間 +functional_case.version_id.not_blank=版本ID不能為空 +functional_case.ref_id.length_range=指向初始版本ID必须在1-50之間 +functional_case.ref_id.not_blank=指向初始版本ID不能為空 +functional_case.last_execute_result.length_range=最近的執行結果長度必須在1-64之間 +functional_case.last_execute_result.not_blank=最近的執行結果不能為空 +functional_case.deleted.length_range=是否在回收站長度必須在1-1之間 +functional_case.deleted.not_blank=是否在回收站不能為空 +functional_case.public_case.length_range=是否是公共用例長度必須在1-1之間 +functional_case.public_case.not_blank=是否是公共用例不能為空 +functional_case.latest.length_range=是否为最新版本長度必須在1-1之間 +functional_case.latest.not_blank=是否为最新版本不能為空 +functional_case.create_user.length_range=創建人長度必須在1-100之間 +functional_case.create_user.not_blank=創建人不能為空 +#module:FunctionalCaseBlob +functional_case_blob.functional_case_id.not_blank=功能用例ID不能為空 +#module:FunctionalCaseComment +functional_case_comment.id.not_blank=ID不能為空 +functional_case_comment.case_id.length_range=功能用例ID長度必須在1-50之間 +functional_case_comment.case_id.not_blank=功能用例ID不能為空 +functional_case_comment.create_user.length_range=評論人長度必須在1-50之間 +functional_case_comment.create_user.not_blank=評論人不能為空 +functional_case_comment.type.length_range=評論類型長度必須在1-64之間 +functional_case_comment.type.not_blank=評論類型不能為空 +#module:FunctionalCaseModule +functional_case_module.id.not_blank=ID不能為空 +functional_case_module.project_id.length_range=項目ID長度必須在1-50之間 +functional_case_module.project_id.not_blank=項目ID不能為空 +functional_case_module.name.length_range=名稱長度必須在1-100之間 +functional_case_module.name.not_blank=名稱不能為空 +functional_case_module.pos.length_range=同一節點下的順序長度必須在1-10之間 +functional_case_module.pos.not_blank=同一節點下的順序不能為空 +functional_case_module.create_user.length_range=創建人長度必須在1-50之間 +functional_case_module.create_user.not_blank=創建人不能為空 diff --git a/backend/framework/sdk/src/main/resources/i18n/track_en_US.properties b/backend/framework/sdk/src/main/resources/i18n/track_en_US.properties deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/backend/framework/sdk/src/main/resources/i18n/track_zh_CN.properties b/backend/framework/sdk/src/main/resources/i18n/track_zh_CN.properties deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/backend/framework/sdk/src/main/resources/i18n/track_zh_TW.properties b/backend/framework/sdk/src/main/resources/i18n/track_zh_TW.properties deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/backend/services/test-track/pom.xml b/backend/services/functional-test/pom.xml similarity index 89% rename from backend/services/test-track/pom.xml rename to backend/services/functional-test/pom.xml index ab9d595ce1..db088b8535 100644 --- a/backend/services/test-track/pom.xml +++ b/backend/services/functional-test/pom.xml @@ -7,9 +7,9 @@ services ${revision} - metersphere-test-track + metersphere-functional-test ${revision} - test-track + functional-test diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewController.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewController.java new file mode 100644 index 0000000000..a5162fc516 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewController.java @@ -0,0 +1,16 @@ +package io.metersphere.functional.controller; + +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import io.metersphere.functional.service.CaseReviewService; + + +@RestController +@RequestMapping("/case/review") +public class CaseReviewController { + + @Resource + private CaseReviewService caseReviewService; + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewFollowController.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewFollowController.java new file mode 100644 index 0000000000..15b633b36b --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewFollowController.java @@ -0,0 +1,16 @@ +package io.metersphere.functional.controller; + +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import io.metersphere.functional.service.CaseReviewFollowService; + + +@RestController +@RequestMapping("/case/review/follow") +public class CaseReviewFollowController { + + @Resource + private CaseReviewFollowService caseReviewFollowService; + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewFunctionalCaseController.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewFunctionalCaseController.java new file mode 100644 index 0000000000..d11138b185 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewFunctionalCaseController.java @@ -0,0 +1,16 @@ +package io.metersphere.functional.controller; + +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import io.metersphere.functional.service.CaseReviewFunctionalCaseService; + + +@RestController +@RequestMapping("/case/review/functional/case") +public class CaseReviewFunctionalCaseController { + + @Resource + private CaseReviewFunctionalCaseService caseReviewFunctionalCaseService; + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewFunctionalCaseUserController.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewFunctionalCaseUserController.java new file mode 100644 index 0000000000..9ef5429220 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewFunctionalCaseUserController.java @@ -0,0 +1,16 @@ +package io.metersphere.functional.controller; + +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import io.metersphere.functional.service.CaseReviewFunctionalCaseUserService; + + +@RestController +@RequestMapping("/case/review/functional/case/user") +public class CaseReviewFunctionalCaseUserController { + + @Resource + private CaseReviewFunctionalCaseUserService caseReviewFunctionalCaseUserService; + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewUserController.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewUserController.java new file mode 100644 index 0000000000..c2ad463601 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CaseReviewUserController.java @@ -0,0 +1,16 @@ +package io.metersphere.functional.controller; + +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import io.metersphere.functional.service.CaseReviewUserService; + + +@RestController +@RequestMapping("/case/review/user") +public class CaseReviewUserController { + + @Resource + private CaseReviewUserService caseReviewUserService; + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CustomFieldTestCaseController.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CustomFieldTestCaseController.java new file mode 100644 index 0000000000..8009a91412 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/CustomFieldTestCaseController.java @@ -0,0 +1,16 @@ +package io.metersphere.functional.controller; + +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import io.metersphere.functional.service.CustomFieldTestCaseService; + + +@RestController +@RequestMapping("/custom/field/test/case") +public class CustomFieldTestCaseController { + + @Resource + private CustomFieldTestCaseService customFieldTestCaseService; + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseAttachmentController.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseAttachmentController.java new file mode 100644 index 0000000000..ec118b65e0 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseAttachmentController.java @@ -0,0 +1,16 @@ +package io.metersphere.functional.controller; + + +import io.metersphere.functional.service.FunctionalCaseAttachmentService; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/functional/case/attachment") +public class FunctionalCaseAttachmentController { + + @Resource + private FunctionalCaseAttachmentService functionalCaseAttachmentService; + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseBlobController.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseBlobController.java new file mode 100644 index 0000000000..5c39f100f0 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseBlobController.java @@ -0,0 +1,14 @@ +package io.metersphere.functional.controller; + +import io.metersphere.functional.service.FunctionalCaseBlobService; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/functional/case/blob") +public class FunctionalCaseBlobController { + + @Resource + private FunctionalCaseBlobService functionalCaseBlobService; +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseCommentController.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseCommentController.java new file mode 100644 index 0000000000..f7ce883f53 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseCommentController.java @@ -0,0 +1,16 @@ +package io.metersphere.functional.controller; + + +import io.metersphere.functional.service.FunctionalCaseCommentService; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/functional/case/comment") +public class FunctionalCaseCommentController { + + @Resource + private FunctionalCaseCommentService functionalCaseCommentService; + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseController.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseController.java new file mode 100644 index 0000000000..150e848b4d --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseController.java @@ -0,0 +1,15 @@ +package io.metersphere.functional.controller; + +import io.metersphere.functional.service.FunctionalCaseService; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/functional/case") +public class FunctionalCaseController { + + @Resource + private FunctionalCaseService functionalCaseService; + +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseFollowController.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseFollowController.java new file mode 100644 index 0000000000..56d15f9eab --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseFollowController.java @@ -0,0 +1,16 @@ +package io.metersphere.functional.controller; + +import io.metersphere.functional.service.FunctionalCaseFollowService; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +@RestController +@RequestMapping("/functional/case/follow") +public class FunctionalCaseFollowController { + + @Resource + private FunctionalCaseFollowService functionalCaseFollowService; + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseModuleController.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseModuleController.java new file mode 100644 index 0000000000..3285bfe085 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseModuleController.java @@ -0,0 +1,17 @@ +package io.metersphere.functional.controller; + + +import io.metersphere.functional.service.FunctionalCaseModuleService; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +@RestController +@RequestMapping("/functional/case/Module") +public class FunctionalCaseModuleController { + + @Resource + private FunctionalCaseModuleService functionalCaseModuleService; + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseRelationshipEdgeController.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseRelationshipEdgeController.java new file mode 100644 index 0000000000..042a7ce11b --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseRelationshipEdgeController.java @@ -0,0 +1,16 @@ +package io.metersphere.functional.controller; + +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import io.metersphere.functional.service.FunctionalCaseRelationshipEdgeService; + + +@RestController +@RequestMapping("/functional/case/relationship/edge") +public class FunctionalCaseRelationshipEdgeController { + + @Resource + private FunctionalCaseRelationshipEdgeService functionalCaseRelationshipEdgeService; + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseTestController.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseTestController.java new file mode 100644 index 0000000000..841ba07f06 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/FunctionalCaseTestController.java @@ -0,0 +1,16 @@ +package io.metersphere.functional.controller; + +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import io.metersphere.functional.service.FunctionalCaseTestService; + + +@RestController +@RequestMapping("/functional/case/test") +public class FunctionalCaseTestController { + + @Resource + private FunctionalCaseTestService functionalCaseTestService; + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/MinderExtraNodeController.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/MinderExtraNodeController.java new file mode 100644 index 0000000000..8b4e3acc7e --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/controller/MinderExtraNodeController.java @@ -0,0 +1,16 @@ +package io.metersphere.functional.controller; + +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import io.metersphere.functional.service.MinderExtraNodeService; + + +@RestController +@RequestMapping("/minder/extra/node") +public class MinderExtraNodeController { + + @Resource + private MinderExtraNodeService minderExtraNodeService; + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewFollowMapper.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewFollowMapper.java new file mode 100644 index 0000000000..c056df6aa2 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewFollowMapper.java @@ -0,0 +1,11 @@ +package io.metersphere.functional.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import io.metersphere.functional.domain.CaseReviewFollow; + + +@Mapper +public interface CaseReviewFollowMapper extends BaseMapper { + +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewFunctionalCaseMapper.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewFunctionalCaseMapper.java new file mode 100644 index 0000000000..f6aa0c6ed6 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewFunctionalCaseMapper.java @@ -0,0 +1,11 @@ +package io.metersphere.functional.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import io.metersphere.functional.domain.CaseReviewFunctionalCase; + + +@Mapper +public interface CaseReviewFunctionalCaseMapper extends BaseMapper { + +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewFunctionalCaseUserMapper.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewFunctionalCaseUserMapper.java new file mode 100644 index 0000000000..13d6a9df4d --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewFunctionalCaseUserMapper.java @@ -0,0 +1,11 @@ +package io.metersphere.functional.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import io.metersphere.functional.domain.CaseReviewFunctionalCaseUser; + + +@Mapper +public interface CaseReviewFunctionalCaseUserMapper extends BaseMapper { + +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewMapper.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewMapper.java new file mode 100644 index 0000000000..8376b10668 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewMapper.java @@ -0,0 +1,11 @@ +package io.metersphere.functional.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import io.metersphere.functional.domain.CaseReview; + + +@Mapper +public interface CaseReviewMapper extends BaseMapper { + +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewUserMapper.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewUserMapper.java new file mode 100644 index 0000000000..7cab0a7201 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CaseReviewUserMapper.java @@ -0,0 +1,11 @@ +package io.metersphere.functional.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import io.metersphere.functional.domain.CaseReviewUser; + + +@Mapper +public interface CaseReviewUserMapper extends BaseMapper { + +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CustomFieldTestCaseMapper.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CustomFieldTestCaseMapper.java new file mode 100644 index 0000000000..7b1d8ac037 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/CustomFieldTestCaseMapper.java @@ -0,0 +1,11 @@ +package io.metersphere.functional.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import io.metersphere.functional.domain.CustomFieldTestCase; + + +@Mapper +public interface CustomFieldTestCaseMapper extends BaseMapper { + +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseAttachmentMapper.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseAttachmentMapper.java new file mode 100644 index 0000000000..f607d5ebd1 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseAttachmentMapper.java @@ -0,0 +1,17 @@ +/** + * @filename:FunctionalCaseAttachmentDao 2023年5月17日 + * @project ms V3.x + * Copyright(c) 2020 wx Co. Ltd. + * All right reserved. + */ +package io.metersphere.functional.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import io.metersphere.functional.domain.FunctionalCaseAttachment; + + +@Mapper +public interface FunctionalCaseAttachmentMapper extends BaseMapper { + +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseBlobMapper.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseBlobMapper.java new file mode 100644 index 0000000000..8cb7bb224f --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseBlobMapper.java @@ -0,0 +1,17 @@ +/** + * @filename:FunctionalCaseBlobDao 2023年5月17日 + * @project ms V3.x + * Copyright(c) 2020 wx Co. Ltd. + * All right reserved. + */ +package io.metersphere.functional.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import io.metersphere.functional.domain.FunctionalCaseBlob; +import org.apache.ibatis.annotations.Mapper; + + +@Mapper +public interface FunctionalCaseBlobMapper extends BaseMapper { + +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseCommentMapper.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseCommentMapper.java new file mode 100644 index 0000000000..6716dd3b29 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseCommentMapper.java @@ -0,0 +1,9 @@ +package io.metersphere.functional.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import io.metersphere.functional.domain.FunctionalCaseComment; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface FunctionalCaseCommentMapper extends BaseMapper { +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseFollowMapper.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseFollowMapper.java new file mode 100644 index 0000000000..bfc6eb98e9 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseFollowMapper.java @@ -0,0 +1,17 @@ +/** + * @filename:FunctionalCaseFollowDao 2023年5月17日 + * @project ms V3.x + * Copyright(c) 2020 wx Co. Ltd. + * All right reserved. + */ +package io.metersphere.functional.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import io.metersphere.functional.domain.FunctionalCaseFollow; + + +@Mapper +public interface FunctionalCaseFollowMapper extends BaseMapper { + +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseMapper.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseMapper.java new file mode 100644 index 0000000000..64afc463bb --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseMapper.java @@ -0,0 +1,9 @@ +package io.metersphere.functional.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import io.metersphere.functional.domain.FunctionalCase; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface FunctionalCaseMapper extends BaseMapper { +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseModuleMapper.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseModuleMapper.java new file mode 100644 index 0000000000..da05a0a783 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseModuleMapper.java @@ -0,0 +1,17 @@ +/** + * @filename:FunctionalCaseModuleDao 2023年5月17日 + * @project ms V3.x + * Copyright(c) 2020 wx Co. Ltd. + * All right reserved. + */ +package io.metersphere.functional.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import io.metersphere.functional.domain.FunctionalCaseModule; + + +@Mapper +public interface FunctionalCaseModuleMapper extends BaseMapper { + +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseRelationshipEdgeMapper.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseRelationshipEdgeMapper.java new file mode 100644 index 0000000000..0ccdc0ac88 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseRelationshipEdgeMapper.java @@ -0,0 +1,17 @@ +/** + * @filename:FunctionalCaseRelationshipEdgeDao 2023年5月17日 + * @project ms V3.x + * Copyright(c) 2020 wx Co. Ltd. + * All right reserved. + */ +package io.metersphere.functional.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import io.metersphere.functional.domain.FunctionalCaseRelationshipEdge; + + +@Mapper +public interface FunctionalCaseRelationshipEdgeMapper extends BaseMapper { + +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseTestMapper.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseTestMapper.java new file mode 100644 index 0000000000..3e14303f34 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/FunctionalCaseTestMapper.java @@ -0,0 +1,11 @@ +package io.metersphere.functional.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import io.metersphere.functional.domain.FunctionalCaseTest; + + +@Mapper +public interface FunctionalCaseTestMapper extends BaseMapper { + +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/MinderExtraNodeMapper.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/MinderExtraNodeMapper.java new file mode 100644 index 0000000000..6ca96cd347 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/mapper/MinderExtraNodeMapper.java @@ -0,0 +1,11 @@ +package io.metersphere.functional.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import io.metersphere.functional.domain.MinderExtraNode; + + +@Mapper +public interface MinderExtraNodeMapper extends BaseMapper { + +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewFollowService.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewFollowService.java new file mode 100644 index 0000000000..c47d6ba4d8 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewFollowService.java @@ -0,0 +1,17 @@ +package io.metersphere.functional.service; + + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.metersphere.functional.domain.CaseReviewFollow; +import io.metersphere.functional.mapper.CaseReviewFollowMapper; + +/** + * 用例评审关注人表服务实现类 + * + * @date : 2023-5-17 + */ +@Service +public class CaseReviewFollowService extends ServiceImpl { + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewFunctionalCaseService.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewFunctionalCaseService.java new file mode 100644 index 0000000000..34ce968e7d --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewFunctionalCaseService.java @@ -0,0 +1,17 @@ +package io.metersphere.functional.service; + + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.metersphere.functional.domain.CaseReviewFunctionalCase; +import io.metersphere.functional.mapper.CaseReviewFunctionalCaseMapper; + +/** + * 用例评审和功能用例的中间表服务实现类 + * + * @date : 2023-5-17 + */ +@Service +public class CaseReviewFunctionalCaseService extends ServiceImpl { + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewFunctionalCaseUserService.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewFunctionalCaseUserService.java new file mode 100644 index 0000000000..520726e8ba --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewFunctionalCaseUserService.java @@ -0,0 +1,17 @@ +package io.metersphere.functional.service; + + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.metersphere.functional.domain.CaseReviewFunctionalCaseUser; +import io.metersphere.functional.mapper.CaseReviewFunctionalCaseUserMapper; + +/** + * 功能用例评审和评审人的中间表服务实现类 + * + * @date : 2023-5-17 + */ +@Service +public class CaseReviewFunctionalCaseUserService extends ServiceImpl { + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewService.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewService.java new file mode 100644 index 0000000000..d6c776d2de --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewService.java @@ -0,0 +1,17 @@ +package io.metersphere.functional.service; + + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.metersphere.functional.domain.CaseReview; +import io.metersphere.functional.mapper.CaseReviewMapper; + +/** + * 用例评审表服务实现类 + * + * @date : 2023-5-17 + */ +@Service +public class CaseReviewService extends ServiceImpl { + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewUserService.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewUserService.java new file mode 100644 index 0000000000..b344129f83 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CaseReviewUserService.java @@ -0,0 +1,17 @@ +package io.metersphere.functional.service; + + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.metersphere.functional.domain.CaseReviewUser; +import io.metersphere.functional.mapper.CaseReviewUserMapper; + +/** + * 评审和评审人中间表服务实现类 + * + * @date : 2023-5-17 + */ +@Service +public class CaseReviewUserService extends ServiceImpl { + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CustomFieldTestCaseService.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CustomFieldTestCaseService.java new file mode 100644 index 0000000000..3d3d4a99a5 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/CustomFieldTestCaseService.java @@ -0,0 +1,17 @@ +package io.metersphere.functional.service; + + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.metersphere.functional.domain.CustomFieldTestCase; +import io.metersphere.functional.mapper.CustomFieldTestCaseMapper; + +/** + * 自定义字段功能用例关系表服务实现类 + * + * @date : 2023-5-17 + */ +@Service +public class CustomFieldTestCaseService extends ServiceImpl { + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseAttachmentService.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseAttachmentService.java new file mode 100644 index 0000000000..a1dfae4de7 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseAttachmentService.java @@ -0,0 +1,13 @@ +package io.metersphere.functional.service; + + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.metersphere.functional.domain.FunctionalCaseAttachment; +import io.metersphere.functional.mapper.FunctionalCaseAttachmentMapper; + + +@Service +public class FunctionalCaseAttachmentService extends ServiceImpl { + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseBlobService.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseBlobService.java new file mode 100644 index 0000000000..2ad5ef2b14 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseBlobService.java @@ -0,0 +1,19 @@ +/** + * @filename:FunctionalCaseBlobServiceImpl 2023年5月17日 + * @project ms V3.x + * Copyright(c) 2018 wx Co. Ltd. + * All right reserved. + */ +package io.metersphere.functional.service; + + +import io.metersphere.functional.domain.FunctionalCaseBlob; +import io.metersphere.functional.mapper.FunctionalCaseBlobMapper; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + + +@Service +public class FunctionalCaseBlobService extends ServiceImpl { + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseCommentService.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseCommentService.java new file mode 100644 index 0000000000..52b3d75f2a --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseCommentService.java @@ -0,0 +1,10 @@ +package io.metersphere.functional.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.metersphere.functional.domain.FunctionalCaseComment; +import io.metersphere.functional.mapper.FunctionalCaseCommentMapper; +import org.springframework.stereotype.Service; + +@Service +public class FunctionalCaseCommentService extends ServiceImpl { +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseFollowService.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseFollowService.java new file mode 100644 index 0000000000..4e6affd2b8 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseFollowService.java @@ -0,0 +1,19 @@ +/** + * @filename:FunctionalCaseFollowServiceImpl 2023年5月17日 + * @project ms V3.x + * Copyright(c) 2018 wx Co. Ltd. + * All right reserved. + */ +package io.metersphere.functional.service; + + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.metersphere.functional.domain.FunctionalCaseFollow; +import io.metersphere.functional.mapper.FunctionalCaseFollowMapper; + + +@Service +public class FunctionalCaseFollowService extends ServiceImpl { + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseModuleService.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseModuleService.java new file mode 100644 index 0000000000..1f64b9dd06 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseModuleService.java @@ -0,0 +1,19 @@ +/** + * @filename:FunctionalCaseModuleServiceImpl 2023年5月17日 + * @project ms V3.x + * Copyright(c) 2018 wx Co. Ltd. + * All right reserved. + */ +package io.metersphere.functional.service; + + +import io.metersphere.functional.mapper.FunctionalCaseModuleMapper; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.metersphere.functional.domain.FunctionalCaseModule; + + +@Service +public class FunctionalCaseModuleService extends ServiceImpl { + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseRelationshipEdgeService.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseRelationshipEdgeService.java new file mode 100644 index 0000000000..72d393975a --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseRelationshipEdgeService.java @@ -0,0 +1,19 @@ +/** + * @filename:FunctionalCaseRelationshipEdgeServiceImpl 2023年5月17日 + * @project ms V3.x + * Copyright(c) 2018 wx Co. Ltd. + * All right reserved. + */ +package io.metersphere.functional.service; + + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.metersphere.functional.domain.FunctionalCaseRelationshipEdge; +import io.metersphere.functional.mapper.FunctionalCaseRelationshipEdgeMapper; + + +@Service +public class FunctionalCaseRelationshipEdgeService extends ServiceImpl { + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseService.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseService.java new file mode 100644 index 0000000000..0a12bdde44 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseService.java @@ -0,0 +1,10 @@ +package io.metersphere.functional.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.metersphere.functional.domain.FunctionalCase; +import io.metersphere.functional.mapper.FunctionalCaseMapper; +import org.springframework.stereotype.Service; + +@Service +public class FunctionalCaseService extends ServiceImpl { +} diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseTestService.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseTestService.java new file mode 100644 index 0000000000..d22c41afa7 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/FunctionalCaseTestService.java @@ -0,0 +1,18 @@ +package io.metersphere.functional.service; + + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.metersphere.functional.domain.FunctionalCaseTest; +import io.metersphere.functional.mapper.FunctionalCaseTestMapper; + + +/** + * 功能用例和其他用例的中间表服务实现类 + * + * @date : 2023-5-17 + */ +@Service +public class FunctionalCaseTestService extends ServiceImpl { + +} \ No newline at end of file diff --git a/backend/services/functional-test/src/main/java/io/metersphere/functional/service/MinderExtraNodeService.java b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/MinderExtraNodeService.java new file mode 100644 index 0000000000..feaceaa6c0 --- /dev/null +++ b/backend/services/functional-test/src/main/java/io/metersphere/functional/service/MinderExtraNodeService.java @@ -0,0 +1,17 @@ +package io.metersphere.functional.service; + + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.metersphere.functional.domain.MinderExtraNode; +import io.metersphere.functional.mapper.MinderExtraNodeMapper; + +/** + * 脑图临时节点服务实现类 + * + * @date : 2023-5-17 + */ +@Service +public class MinderExtraNodeService extends ServiceImpl { + +} \ No newline at end of file diff --git a/backend/services/pom.xml b/backend/services/pom.xml index 01ad486042..3e48bd772c 100644 --- a/backend/services/pom.xml +++ b/backend/services/pom.xml @@ -20,7 +20,7 @@ project-management system-setting test-plan - test-track + functional-test ui-test workstation diff --git a/backend/services/test-track/src/main/java/io/metersphere/track/domain/TestCase.java b/backend/services/test-track/src/main/java/io/metersphere/track/domain/TestCase.java deleted file mode 100644 index 3ab5d7c0a5..0000000000 --- a/backend/services/test-track/src/main/java/io/metersphere/track/domain/TestCase.java +++ /dev/null @@ -1,72 +0,0 @@ -package io.metersphere.track.domain; - -import lombok.Data; - -import java.io.Serializable; - -@Data -public class TestCase implements Serializable { - private String id; - - private String nodeId; - - private String testId; - - private String nodePath; - - private String projectId; - - private String name; - - private String type; - - private String maintainer; - - private String priority; - - private String method; - - private Long createTime; - - private Long updateTime; - - private Integer sort; - - private Integer num; - - private String reviewStatus; - - private String tags; - - private String demandId; - - private String demandName; - - private String status; - - private String stepModel; - - private String customNum; - - private String createUser; - - private String originalStatus; - - private Long deleteTime; - - private String deleteUserId; - - private Long order; - - private Boolean casePublic; - - private String versionId; - - private String refId; - - private Boolean latest; - - private String lastExecuteResult; - - private static final long serialVersionUID = 1L; -} \ No newline at end of file