/*
* Copyright (c) 京北方信息技术股份有限公司 Corporation 2021 . All rights reserved.
*
*/
package net.northking.cctp.testbug.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;

/**
* Restful接口--新增资源--数据传输对象：缺陷管理
*
* createddate:  2021-10-08 16:05:30  <br>
* @author:  maven-cctp-plugin  <br>
* @since:  1.0 <br>
*/
@ApiModel(description = "缺陷管理")
public class BugManagementAddDto implements Serializable
{

    /**
     * 缺陷id<br>
     */
    @ApiModelProperty("缺陷id")
    @Size(max = 32, message="缺陷id-bugId: 数据长度不能 > 32" )
    private String bugId;
    /**
     * 缺陷标题<br>
     */
    @ApiModelProperty("缺陷标题")
    @Size(max = 255, message="缺陷标题-bugTitle: 数据长度不能 > 255" )
    @NotEmpty(message = "缺陷标题不能为空")
    private String bugTitle;
    /**
     * 严重程度:   建议性错误-E类、警告性错误-D类、一般性错误-C类、严重性错误-B类、致命性错误-A类
     <br>
     */
    @ApiModelProperty("严重程度:   建议性错误-E类、警告性错误-D类、一般性错误-C类、严重性错误-B类、致命性错误-A类")
    @Size(max = 1, message="严重程度:   建议性错误-E类、警告性错误-D类、一般性错误-C类、严重性错误-B类、致命性错误-A类-bugGrade: 数据长度不能 > 1" )
    @NotEmpty(message = "严重程度不能为空")
    private String bugGrade;
    /**
     * 缺陷分类:  1.需求缺陷、2.设计缺陷、3.编码缺陷、4.UI缺陷、5.兼容性缺陷、6.环境缺陷、7.用户体验、8移植缺陷<br>
     */
    @ApiModelProperty("缺陷分类:  1.需求缺陷、2.设计缺陷、3.编码缺陷、4.UI缺陷、5.兼容性缺陷、6.环境缺陷、7.用户体验、8移植缺陷")
    @Size(max = 50, message="缺陷分类:  1.需求缺陷、2.设计缺陷、3.编码缺陷、4.UI缺陷、5.兼容性缺陷、6.环境缺陷、7.用户体验、8移植缺陷-bugType: 数据长度不能 > 50" )
    @NotEmpty(message = "缺陷分类不能为空")
    private String bugType;
    /**
     * 紧急程度：1.高、2.中、3.低<br>
     */
    @ApiModelProperty("紧急程度：1.高、2.中、3.低")
    @Size(max = 1, message="紧急程度：1.高、2.中、3.低-emergency: 数据长度不能 > 1" )
    @NotEmpty(message = "紧急程度不能为空")
    private String emergency;
    /**
     * 可重现：Y是、N否<br>
     */
    @ApiModelProperty("可重现：Y是、N否")
    @Size(max = 1, message="可重现：Y是、N否-isReappear: 数据长度不能 > 1" )
    @NotEmpty(message = "是否可重现不能为空")
    private String isReappear;
    /**
     * 分配给，缺陷接收人<br>
     */
    @ApiModelProperty("分配给，缺陷接收人")
    @Size(max = 32, message="分配给，缺陷接收人-receiver: 数据长度不能 > 32" )
    @NotEmpty(message = "分配给不能为空")
    private String receiver;
    /**
     * 错误信息描述<br>
     */
    @ApiModelProperty("错误信息描述")
    @Size(max = 20007, message="错误信息描述-errorMessage: 数据长度不能 > 20000" )
    @NotEmpty(message = "错误信息描述不能为空")
    private String errorMessage;
    /**
     * 自定义字段<br>
     */
    @ApiModelProperty("自定义字段")
    @Size(max = 20000, message="自定义字段-expands: 数据长度不能 > 20000" )
    private String expands;
    /**
     * 注释<br>
     */
    @ApiModelProperty("注释")
    @Size(max = 20007, message="注释-message: 数据长度不能 > 20000" )
    private String message;
    /**
     * 系统id<br>
     */
    @ApiModelProperty("系统id")
    @Size(max = 50, message="系统id-systemId: 数据长度不能 > 50" )
    private String systemId;
    /**
     * 轮次id<br>
     */
    @ApiModelProperty("轮次id")
    @Size(max = 50, message="轮次id-roundId: 数据长度不能 > 50" )
    @NotEmpty(message = "所属轮次不能为空")
    private String roundId;
    /**
     * 模块id<br>
     */
    @ApiModelProperty("模块id")
    @Size(max = 50, message="模块id-moduleId: 数据长度不能 > 50" )
    @NotEmpty(message = "所属模块不能为空")
    private String moduleId;
    /**
     * 项目id<br>
     */
    @ApiModelProperty("项目id")
    @Size(max = 32, message="项目id-proId: 数据长度不能 > 32" )
    private String proId;

    /**
     * 关联信息
     */
    @ApiModelProperty("缺陷关联信息")
    private List<BugCorrelationLinkAddDto> correlationLinkAddDtos;

    @ApiModelProperty("创建类型")
    @NotEmpty(message = "缺陷类型不能为空")
    private String createType;
    /**
     * 缺陷状态：1.新建、2.打开、3.已分配、4.拒绝、5.待验证、6.处理中、7.延迟、8.已修复、9.关闭、10.无效、11.重新打开、12.挂起、13.待裁决、14.待完善、15.待分配、16.待修复、17.待审核<br>
     */
    @ApiModelProperty("缺陷状态：1.新建、2.打开、3.已分配、4.拒绝、5.待验证、6.处理中、7.延迟、8.已修复、9.关闭、10.无效、11.重新打开、12.挂起、13.待裁决、14.待完善、15.待分配、16.待修复、17.待审核")
    @Size(max = 50, message="缺陷状态：1.新建、2.打开、3.已分配、4.拒绝、5.待验证、6.处理中、7.延迟、8.已修复、9.关闭、10.无效、11.重新打开、12.挂起、13.待裁决、14.待完善、15.待分配、16.待修复、17.待审核-bugStatus: 数据长度不能 > 50" )
    @NotEmpty(message = "缺陷状态不能为空")
    private String bugStatus;

    @ApiModelProperty("项目类型0-人工,1-自动化")
    private Integer projectType;

    public Integer getProjectType() {
        return projectType;
    }

    public void setProjectType(Integer projectType) {
        this.projectType = projectType;
    }

    public String getBugStatus() {
        return bugStatus;
    }

    public void setBugStatus(String bugStatus) {
        this.bugStatus = bugStatus;
    }

    public String getBugTitle() {
        return bugTitle;
    }

    public void setBugTitle(String bugTitle) {
        this.bugTitle = bugTitle;
    }

    public String getBugGrade() {
        return bugGrade;
    }

    public void setBugGrade(String bugGrade) {
        this.bugGrade = bugGrade;
    }

    public String getBugType() {
        return bugType;
    }

    public void setBugType(String bugType) {
        this.bugType = bugType;
    }

    public String getEmergency() {
        return emergency;
    }

    public void setEmergency(String emergency) {
        this.emergency = emergency;
    }

    public String getIsReappear() {
        return isReappear;
    }

    public void setIsReappear(String isReappear) {
        this.isReappear = isReappear;
    }

    public String getReceiver() {
        return receiver;
    }

    public void setReceiver(String receiver) {
        this.receiver = receiver;
    }

    public String getErrorMessage() {
        return errorMessage;
    }

    public void setErrorMessage(String errorMessage) {
        this.errorMessage = errorMessage;
    }

    public String getExpands() {
        return expands;
    }

    public void setExpands(String expands) {
        this.expands = expands;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getSystemId() {
        return systemId;
    }

    public void setSystemId(String systemId) {
        this.systemId = systemId;
    }

    public String getRoundId() {
        return roundId;
    }

    public void setRoundId(String roundId) {
        this.roundId = roundId;
    }

    public String getModuleId() {
        return moduleId;
    }

    public void setModuleId(String moduleId) {
        this.moduleId = moduleId;
    }

    public String getProId() {
        return proId;
    }

    public void setProId(String proId) {
        this.proId = proId;
    }

    public List<BugCorrelationLinkAddDto> getCorrelationLinkAddDtos() {
        return correlationLinkAddDtos;
    }

    public void setCorrelationLinkAddDtos(List<BugCorrelationLinkAddDto> correlationLinkAddDtos) {
        this.correlationLinkAddDtos = correlationLinkAddDtos;
    }

    public String getCreateType() {
        return createType;
    }

    public void setCreateType(String createType) {
        this.createType = createType;
    }

    public String getBugId() {
        return bugId;
    }

    public void setBugId(String bugId) {
        this.bugId = bugId;
    }

    @Override
    public String toString() {
        return "BugManagementAddDto{" +
                "bugId='" + bugId + '\'' +
                ", bugTitle='" + bugTitle + '\'' +
                ", bugGrade='" + bugGrade + '\'' +
                ", bugType='" + bugType + '\'' +
                ", emergency='" + emergency + '\'' +
                ", isReappear='" + isReappear + '\'' +
                ", receiver='" + receiver + '\'' +
                ", errorMessage='" + errorMessage + '\'' +
                ", expands='" + expands + '\'' +
                ", message='" + message + '\'' +
                ", systemId='" + systemId + '\'' +
                ", roundId='" + roundId + '\'' +
                ", moduleId='" + moduleId + '\'' +
                ", proId='" + proId + '\'' +
                ", correlationLinkAddDtos=" + correlationLinkAddDtos +
                ", createType='" + createType + '\'' +
                '}';
    }
}