package net.northking.cctp.executePlan.dto.planTask;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

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

/**
 * <p>Title: AtuPlanTaskPageDto</p>
 * <p>Description: 分页查询对象</p>
 *
 * @Author chenjianfeng
 * @Version V1.0
 * @Date 2022/12/06
 * <p>Copyright (c) 京北方信息技术股份有限公司 Corporation 2022 . All rights reserved.</p>
 */
@JsonSerialize
@ApiModel(description = "执行计划任务表")
public class AtuPlanTaskPageDto implements Serializable {

    /**
     * 主键<br>
     */
    @ApiModelProperty("主键")
    @Size(max = 32, message = "主键-id: 数据长度不能 > 32")
    private String id;

    /**
     * 关键字<br>
     */
    @ApiModelProperty("关键字")
    @Size(max = 30, message = "关键字: 数据长度不能 > 30")
    private String keyword;

    /**
     * 调度主键<br>
     */
    @ApiModelProperty("调度主键")
    @Size(max = 32, message = "调度主键-batchId: 数据长度不能 > 32")
    private String batchId;

    /**
     * 环境主键
     */
    @ApiModelProperty("环境主键")
    private String envId;

    /**
     * 环境名称
     */
    @ApiModelProperty("环境名称")
    private String envName;

    /**
     * 脚本主键<br>
     */
    @ApiModelProperty("脚本主键")
    @Size(max = 32, message = "脚本主键-scriptId: 数据长度不能 > 32")
    private String scriptId;

    /**
     * 版本主键
     */
    @ApiModelProperty("版本主键")
    private Integer versionId;

    /**
     * 版本名称
     */
    @ApiModelProperty("版本名称")
    private String versionName;

    /**
     * 脚本名称<br>
     */
    @ApiModelProperty("脚本名称")
    @Size(max = 90, message = "脚本名称-scriptName: 数据长度不能 > 90")
    private String scriptName;

    /**
     * 脚本编码<br>
     */
    @ApiModelProperty("脚本编码")
    private String scriptCode;
    /**
     * 用例主键<br>
     */
    @ApiModelProperty("用例主键")
    @Size(max = 32, message = "用例主键-caseId: 数据长度不能 > 32")
    private String caseId;
    /**
     * 用例编号<br>
     */
    @ApiModelProperty("用例编号")
    @Size(max = 32, message = "用例编号-caseNo: 数据长度不能 > 32")
    private String caseNo;
    /**
     * 用例名称<br>
     */
    @ApiModelProperty("用例名称")
    @Size(max = 90, message = "用例名称-caseName: 数据长度不能 > 90")
    private String caseName;
    /**
     * 用例类型;1-接口，2-PC/BS，3-PC/CS，4-安卓，5-ios，6-场景用例<br>
     */
    @ApiModelProperty("用例类型;1-接口，2-PC/BS，3-PC/CS，4-安卓，5-ios，6-场景用例")
    @Size(max = 1, message = "用例类型;1-接口，2-PC/BS，3-PC/CS，4-安卓，5-ios，6-场景用例-caseType: 数据长度不能 > 1")
    private String caseType;
    /**
     * 用例参数<br>
     */
    @ApiModelProperty("用例参数")
    @Size(max = 65535, message = "用例参数-caseParam: 数据长度不能 > 65535")
    private String caseParam;
    /**
     * 引擎主键<br>
     */
    @ApiModelProperty("引擎主键")
    @Size(max = 32, message = "引擎主键-engineId: 数据长度不能 > 32")
    private String engineId;
    /**
     * 设备主键<br>
     */
    @ApiModelProperty("设备主键")
    @Size(max = 128, message = "设备主键-deviceId: 数据长度不能 > 32")
    private String deviceId;
    /**
     * 应用主键<br>
     */
    @ApiModelProperty("应用主键")
    @Size(max = 32, message = "应用主键-appId: 数据长度不能 > 32")
    private String appId;
    /**
     * 状态;0-等待中，1-执行中，2-执行成功，3-执行失败，4-断言失败，5-取消，6-超时<br>
     */
    @ApiModelProperty("状态;0-等待中，1-执行中，2-执行成功，3-执行失败，4-断言失败，5-取消，6-超时")
    @Size(max = 1, message = "状态;0-等待中，1-执行中，2-执行成功，3-执行失败，4-断言失败，5-取消，6-超时-status: 数据长度不能 > 1")
    private String status;
    /**
     * 开始时间<br>
     */
    @ApiModelProperty("开始时间")
    private Long startTime;
    /**
     * 结束时间<br>
     */
    @ApiModelProperty("结束时间")
    private Long endTime;
    /**
     * 错误信息<br>
     */
    @ApiModelProperty("错误信息")
    @Size(max = 65535, message = "错误信息-errorMsg: 数据长度不能 > 65535")
    private String errorMsg;
    /**
     * 视频地址<br>
     */
    @ApiModelProperty("视频地址")
    @Size(max = 255, message = "视频地址-videoUrl: 数据长度不能 > 255")
    private String videoUrl;
    /**
     * 执行结果文件<br>
     */
    @ApiModelProperty("执行结果文件")
    @Size(max = 512, message = "执行结果文件-execResultFile: 数据长度不能 > 512")
    private String execResultFile;
    /**
     * 创建时间<br>
     */
    @ApiModelProperty("创建时间")
    private Date createdTime;

    @ApiModelProperty("视频地址")
    private List<SceneNodeDto> sceneData;

    @ApiModelProperty("当前直播是否为接口用例")
    private boolean apiCase = false;

    public boolean isApiCase() {
        return apiCase;
    }

    public void setApiCase(boolean apiCase) {
        this.apiCase = apiCase;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getBatchId() {
        return batchId;
    }

    public void setBatchId(String batchId) {
        this.batchId = batchId;
    }

    public String getEnvId() {
        return envId;
    }

    public void setEnvId(String envId) {
        this.envId = envId;
    }

    public String getEnvName() {
        return envName;
    }

    public void setEnvName(String envName) {
        this.envName = envName;
    }

    public String getScriptId() {
        return scriptId;
    }

    public void setScriptId(String scriptId) {
        this.scriptId = scriptId;
    }

    public Integer getVersionId() {
        return versionId;
    }

    public void setVersionId(Integer versionId) {
        this.versionId = versionId;
    }

    public String getVersionName() {
        return versionName;
    }

    public void setVersionName(String versionName) {
        this.versionName = versionName;
    }

    public String getScriptName() {
        return scriptName;
    }

    public void setScriptName(String scriptName) {
        this.scriptName = scriptName;
    }

    public String getScriptCode() {
        return scriptCode;
    }

    public void setScriptCode(String scriptCode) {
        this.scriptCode = scriptCode;
    }

    public String getCaseId() {
        return caseId;
    }

    public void setCaseId(String caseId) {
        this.caseId = caseId;
    }

    public String getCaseNo() {
        return caseNo;
    }

    public void setCaseNo(String caseNo) {
        this.caseNo = caseNo;
    }

    public String getCaseName() {
        return caseName;
    }

    public void setCaseName(String caseName) {
        this.caseName = caseName;
    }

    public String getCaseType() {
        return caseType;
    }

    public void setCaseType(String caseType) {
        this.caseType = caseType;
    }

    public String getCaseParam() {
        return caseParam;
    }

    public void setCaseParam(String caseParam) {
        this.caseParam = caseParam;
    }

    public String getEngineId() {
        return engineId;
    }

    public void setEngineId(String engineId) {
        this.engineId = engineId;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public String getAppId() {
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Long getStartTime() {
        return startTime;
    }

    public void setStartTime(Long startTime) {
        this.startTime = startTime;
    }

    public Long getEndTime() {
        return endTime;
    }

    public void setEndTime(Long endTime) {
        this.endTime = endTime;
    }

    public String getErrorMsg() {
        return errorMsg;
    }

    public void setErrorMsg(String errorMsg) {
        this.errorMsg = errorMsg;
    }

    public String getVideoUrl() {
        return videoUrl;
    }

    public void setVideoUrl(String videoUrl) {
        this.videoUrl = videoUrl;
    }

    public String getExecResultFile() {
        return execResultFile;
    }

    public void setExecResultFile(String execResultFile) {
        this.execResultFile = execResultFile;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    public List<SceneNodeDto> getSceneData() {
        return sceneData;
    }

    public void setSceneData(List<SceneNodeDto> sceneData) {
        this.sceneData = sceneData;
    }

    public String getKeyword() {
        return keyword;
    }

    public void setKeyword(String keyword) {
        this.keyword = keyword;
    }
}
