build:functional basic code
This commit is contained in:
parent
57bd98888c
commit
54a1910c7e
|
@ -46,7 +46,7 @@
|
|||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.metersphere</groupId>
|
||||
<artifactId>metersphere-test-track</artifactId>
|
||||
<artifactId>metersphere-functional-test</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
@ -269,15 +269,15 @@
|
|||
<appender-ref ref="testPlanRefAppender"/>
|
||||
</logger>
|
||||
|
||||
<!-- 自定义test-track模块日志 -->
|
||||
<!-- 自定义functional-test模块日志 -->
|
||||
<appender name="testTrackAppender"
|
||||
class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>INFO</level>
|
||||
</filter>
|
||||
<File>${logging.file.path}/test-track.log</File>
|
||||
<File>${logging.file.path}/functional-test.log</File>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<FileNamePattern>${logging.file.path}/history/test-track.%d{yyyyMMdd}-%i.log</FileNamePattern>
|
||||
<FileNamePattern>${logging.file.path}/history/functional-test.%d{yyyyMMdd}-%i.log</FileNamePattern>
|
||||
<maxHistory>${logger.max.history:-30}</maxHistory>
|
||||
<maxFileSize>50MB</maxFileSize>
|
||||
</rollingPolicy>
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
|
||||
}
|
|
@ -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
|
||||
|
|
@ -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=创建人不能为空
|
|
@ -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=創建人不能為空
|
|
@ -7,9 +7,9 @@
|
|||
<artifactId>services</artifactId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
<artifactId>metersphere-test-track</artifactId>
|
||||
<artifactId>metersphere-functional-test</artifactId>
|
||||
<version>${revision}</version>
|
||||
<name>test-track</name>
|
||||
<name>functional-test</name>
|
||||
<properties>
|
||||
</properties>
|
||||
<dependencies>
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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<CaseReviewFollow> {
|
||||
|
||||
}
|
|
@ -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<CaseReviewFunctionalCase> {
|
||||
|
||||
}
|
|
@ -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<CaseReviewFunctionalCaseUser> {
|
||||
|
||||
}
|
|
@ -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<CaseReview> {
|
||||
|
||||
}
|
|
@ -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<CaseReviewUser> {
|
||||
|
||||
}
|
|
@ -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<CustomFieldTestCase> {
|
||||
|
||||
}
|
|
@ -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<FunctionalCaseAttachment> {
|
||||
|
||||
}
|
|
@ -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<FunctionalCaseBlob> {
|
||||
|
||||
}
|
|
@ -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<FunctionalCaseComment> {
|
||||
}
|
|
@ -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<FunctionalCaseFollow> {
|
||||
|
||||
}
|
|
@ -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<FunctionalCase> {
|
||||
}
|
|
@ -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<FunctionalCaseModule> {
|
||||
|
||||
}
|
|
@ -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<FunctionalCaseRelationshipEdge> {
|
||||
|
||||
}
|
|
@ -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<FunctionalCaseTest> {
|
||||
|
||||
}
|
|
@ -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<MinderExtraNode> {
|
||||
|
||||
}
|
|
@ -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<CaseReviewFollowMapper, CaseReviewFollow> {
|
||||
|
||||
}
|
|
@ -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<CaseReviewFunctionalCaseMapper, CaseReviewFunctionalCase> {
|
||||
|
||||
}
|
|
@ -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<CaseReviewFunctionalCaseUserMapper, CaseReviewFunctionalCaseUser> {
|
||||
|
||||
}
|
|
@ -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<CaseReviewMapper, CaseReview> {
|
||||
|
||||
}
|
|
@ -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<CaseReviewUserMapper, CaseReviewUser> {
|
||||
|
||||
}
|
|
@ -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<CustomFieldTestCaseMapper, CustomFieldTestCase> {
|
||||
|
||||
}
|
|
@ -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<FunctionalCaseAttachmentMapper, FunctionalCaseAttachment> {
|
||||
|
||||
}
|
|
@ -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<FunctionalCaseBlobMapper, FunctionalCaseBlob> {
|
||||
|
||||
}
|
|
@ -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<FunctionalCaseCommentMapper, FunctionalCaseComment> {
|
||||
}
|
|
@ -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<FunctionalCaseFollowMapper, FunctionalCaseFollow> {
|
||||
|
||||
}
|
|
@ -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<FunctionalCaseModuleMapper, FunctionalCaseModule> {
|
||||
|
||||
}
|
|
@ -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<FunctionalCaseRelationshipEdgeMapper, FunctionalCaseRelationshipEdge> {
|
||||
|
||||
}
|
|
@ -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<FunctionalCaseMapper, FunctionalCase> {
|
||||
}
|
|
@ -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<FunctionalCaseTestMapper, FunctionalCaseTest> {
|
||||
|
||||
}
|
|
@ -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<MinderExtraNodeMapper, MinderExtraNode> {
|
||||
|
||||
}
|
|
@ -20,7 +20,7 @@
|
|||
<module>project-management</module>
|
||||
<module>system-setting</module>
|
||||
<module>test-plan</module>
|
||||
<module>test-track</module>
|
||||
<module>functional-test</module>
|
||||
<module>ui-test</module>
|
||||
<module>workstation</module>
|
||||
</modules>
|
||||
|
|
|
@ -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;
|
||||
}
|
Loading…
Reference in New Issue