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

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import net.northking.cctp.executePlan.api.third.feilang.dto.FeiLangUserDto;
import net.northking.cctp.executePlan.dto.planScript.AtuPlanScriptResultDto;

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

/**
* Restful接口--资源详情--数据传输对象：执行计划表
*
* createdate:  2022-12-06 11:32:04  <br>
* @author:  maven-cctp-plugin  <br>
* @since:  1.0 <br>
*/
@JsonSerialize
@ApiModel(description = "执行计划表")
public class AtuPlanInfoDetailDto implements Serializable
{
    /**
     * 主键<br>
     */
    @ApiModelProperty("主键")
    @Size(max = 32, message="主键-id: 数据长度不能 > 32" )
    private String id;
    /**
     * 租户主键<br>
     */
    @ApiModelProperty("租户主键")
    @Size(max = 32, message="租户主键-tenantId: 数据长度不能 > 32" )
    private String tenantId;
    /**
     * 系统主键<br>
     */
    @ApiModelProperty("系统主键")
    @Size(max = 32, message="系统主键-projectId: 数据长度不能 > 32" )
    private String projectId;

    @ApiModelProperty("系统名称")
    private String projectName;
    /**
     * 计划名称<br>
     */
    @ApiModelProperty("计划名称")
    @Size(max = 90, message="计划名称-planName: 数据长度不能 > 90" )
    private String planName;
    /**
     * 计划描述<br>
     */
    @ApiModelProperty("计划描述")
    @Size(max = 900, message="计划描述-planDesc: 数据长度不能 > 900" )
    private String planDesc;
    /**
     * 是否启用;0-否，1-是<br>
     */
    @ApiModelProperty("是否启用;0-否，1-是")
    private Boolean enabled;
    /**
     * 状态;0-新建，1-等待中，2-执行中，3-已完成，4-已取消<br>
     */
    @ApiModelProperty("状态;0-新建，1-等待中，2-执行中，3-已完成，4-已取消")
    @Size(max = 1, message="状态;0-新建，1-等待中，2-执行中，3-已完成，4-已取消-status: 数据长度不能 > 1" )
    private String status;
    /**
     * 应用设置;1-清除数据，2-卸载安装<br>
     */
    @ApiModelProperty("应用设置;1-清除数据，2-卸载安装")
    @Size(max = 1, message="应用设置;1-清除数据，2-卸载安装-appSet: 数据长度不能 > 1" )
    private String appSet;
    /**
     * 录屏设置;0-不保存，1-全部保存，2-出错保存<br>
     */
    @ApiModelProperty("录屏设置;0-不保存，1-全部保存，2-出错保存")
    @Size(max = 1, message="录屏设置;0-不保存，1-全部保存，2-出错保存-screenRecordSet: 数据长度不能 > 1" )
    private String screenRecordSet;
    /**
     * 截图设置;0-不保存，1-全部保存，2-出错保存<br>
     */
    @ApiModelProperty("截图设置;0-不保存，1-全部保存，2-出错保存")
    @Size(max = 1, message="截图设置;0-不保存，1-全部保存，2-出错保存-screenshotSet: 数据长度不能 > 1" )
    private String screenshotSet;
    /**
     * 优先级;0-低，1-高<br>
     */
    @ApiModelProperty("优先级;0-低，1-高")
    @Size(max = 1, message="优先级;0-低，1-高-priority: 数据长度不能 > 1" )
    private String priority;
    /**
     * Cron表达式<br>
     */
    @ApiModelProperty("Cron表达式")
    @Size(max = 90, message="Cron表达式-cronExpr: 数据长度不能 > 90" )
    private String cronExpr;
    /**
     * 前置计划ID<br>
     */
    @ApiModelProperty("前置计划ID")
    @Size(max = 32, message="前置计划ID-upFrontPlanId: 数据长度不能 > 32" )
    private String upFrontPlanId;
    /**
     * 触发链接<br>
     */
    @ApiModelProperty("触发链接")
    @Size(max = 255, message="触发链接-webhookUrl: 数据长度不能 > 255" )
    private String webhookUrl;
    /**
     * 密保令牌<br>
     */
    @ApiModelProperty("密保令牌")
    @Size(max = 32, message="密保令牌-webhookToken: 数据长度不能 > 32" )
    private String webhookToken;
    /**
     * 是否发送邮件;0-否，1-是<br>
     */
    @ApiModelProperty("是否发送邮件;0-否，1-是")
    private Boolean sendMail;
    /**
     * 邮件地址;当需要发送邮件时不能为空<br>
     */
    @ApiModelProperty("飞狼用户login_no信息")
    @Size(max = 255, message="邮件地址;当需要发送邮件时不能为空-mailAddress: 数据长度不能 > 255" )
    private String mailAddress;

    /**
     * 飞狼用户信息<br>
     */
    @ApiModelProperty("飞狼用户login_no信息")
    private List<FeiLangUserDto> feiLangUserDtoList;

    /**
     * 是否失败重试;0-否，1-是<br>
     */
    @ApiModelProperty("是否失败重试;0-否，1-是")
    private Boolean failRetry;
    /**
     * 失败重试次数<br>
     */
    @ApiModelProperty("失败重试次数")
    private Integer failRetryCount;
    /**
     * 失败重试策略<br>
     */
    @ApiModelProperty("重试策略")
    private String retryStrategy;
    /**
     * 是否失败生成计划;0-否，1-是<br>
     */
    @ApiModelProperty("是否失败生成计划;0-否，1-是")
    private Boolean failCreatePlan;
    /**
     * 最近执行时间<br>
     */
    @ApiModelProperty("最近执行时间")
    private Date lastExecTime;
    /**
     * 下次执行时间<br>
     */
    @ApiModelProperty("下次执行时间")
    private Date nextExecTime;
    /**
     * 最后批次号<br>
     */
    @ApiModelProperty("最后批次号")
    @Size(max = 32, message="最后批次号-lastBatchId: 数据长度不能 > 32" )
    private String lastBatchId;
    /**
     * 最后批次等待中任务数<br>
     */
    @ApiModelProperty("最后批次等待中任务数")
    private Integer waitingNum;
    /**
     * 最后批次执行中任务数<br>
     */
    @ApiModelProperty("最后批次执行中任务数")
    private Integer runningNum;
    /**
     * 最后批次成功任务数<br>
     */
    @ApiModelProperty("最后批次成功任务数")
    private Integer successNum;
    /**
     * 最后批次执行失败任务数<br>
     */
    @ApiModelProperty("最后批次执行失败任务数")
    private Integer execFailNum;
    /**
     * 最后批次断言失败任务数<br>
     */
    @ApiModelProperty("最后批次断言失败任务数")
    private Integer assertFailNum;
    /**
     * 最后批次超时任务数<br>
     */
    @ApiModelProperty("最后批次超时任务数")
    private Integer timeoutNum;
    /**
     * 最后批次取消任务数<br>
     */
    @ApiModelProperty("最后批次取消任务数")
    private Integer cancelNum;
    /**
     * 创建人<br>
     */
    @ApiModelProperty("创建人")
    @Size(max = 32, message="创建人-createdBy: 数据长度不能 > 32" )
    private String createdBy;
    /**
     * 创建时间<br>
     */
    @ApiModelProperty("创建时间")
    private Date createdTime;
    /**
     * 更新人<br>
     */
    @ApiModelProperty("更新人")
    @Size(max = 32, message="更新人-updatedBy: 数据长度不能 > 32" )
    private String updatedBy;
    /**
     * 更新时间<br>
     */
    @ApiModelProperty("更新时间")
    private Date updatedTime;
    /**
     * 是否删除;0-否，1-是<br>
     */
    @ApiModelProperty("是否删除;0-否，1-是")
    private Boolean deleted;

    @ApiModelProperty("是否展示软件/设备页面")
    private AtuPlanScriptResultDto planScriptResultDto;

    @ApiModelProperty("是否勾选定时触发")
    private Boolean hasCorn;

    @ApiModelProperty("是否存在前置计划")
    private Boolean hasUpFront;

    @ApiModelProperty("是否webhook触发")
    private Boolean hasWebhook;

    @ApiModelProperty("最后执行参数")
    private String lastBatchMessage;

    @ApiModelProperty("环境id集合")
    private List<String> envIdList;

    @ApiModelProperty("用例变更标识;0-无，1-是")
    private Boolean caseChangeFlag;

    @ApiModelProperty("负责人")
    private String principalId;

    @ApiModelProperty("最后批次脚本统计数据")
    private Map<String, Integer> lastBatchScriptSumMap;

    @ApiModelProperty("绑定应用id集合")
    private List<String> appIdList;

    public List<String> getAppIdList() {
        return appIdList;
    }

    public void setAppIdList(List<String> appIdList) {
        this.appIdList = appIdList;
    }

    public Boolean getCaseChangeFlag() {
        return caseChangeFlag;
    }

    public void setCaseChangeFlag(Boolean caseChangeFlag) {
        this.caseChangeFlag = caseChangeFlag;
    }

    public List<String> getEnvIdList() {
        return envIdList;
    }

    public void setEnvIdList(List<String> envIdList) {
        this.envIdList = envIdList;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getLastBatchMessage() {
        return lastBatchMessage;
    }

    public void setLastBatchMessage(String lastBatchMessage) {
        this.lastBatchMessage = lastBatchMessage;
    }

    public AtuPlanScriptResultDto getPlanScriptResultDto() {
        return planScriptResultDto;
    }

    public void setPlanScriptResultDto(AtuPlanScriptResultDto planScriptResultDto) {
        this.planScriptResultDto = planScriptResultDto;
    }

    public String getId() {
        return id;
    }

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

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getProjectId() {
        return projectId;
    }

    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }

    public String getPlanName() {
        return planName;
    }

    public void setPlanName(String planName) {
        this.planName = planName;
    }

    public String getPlanDesc() {
        return planDesc;
    }

    public void setPlanDesc(String planDesc) {
        this.planDesc = planDesc;
    }

    public Boolean getEnabled() {
        return enabled;
    }

    public void setEnabled(Boolean enabled) {
        this.enabled = enabled;
    }

    public String getStatus() {
        return status;
    }

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

    public String getAppSet() {
        return appSet;
    }

    public void setAppSet(String appSet) {
        this.appSet = appSet;
    }

    public String getScreenRecordSet() {
        return screenRecordSet;
    }

    public void setScreenRecordSet(String screenRecordSet) {
        this.screenRecordSet = screenRecordSet;
    }

    public String getScreenshotSet() {
        return screenshotSet;
    }

    public void setScreenshotSet(String screenshotSet) {
        this.screenshotSet = screenshotSet;
    }

    public String getPriority() {
        return priority;
    }

    public void setPriority(String priority) {
        this.priority = priority;
    }

    public String getCronExpr() {
        return cronExpr;
    }

    public void setCronExpr(String cronExpr) {
        this.cronExpr = cronExpr;
    }

    public String getUpFrontPlanId() {
        return upFrontPlanId;
    }

    public void setUpFrontPlanId(String upFrontPlanId) {
        this.upFrontPlanId = upFrontPlanId;
    }

    public String getWebhookUrl() {
        return webhookUrl;
    }

    public void setWebhookUrl(String webhookUrl) {
        this.webhookUrl = webhookUrl;
    }

    public String getWebhookToken() {
        return webhookToken;
    }

    public void setWebhookToken(String webhookToken) {
        this.webhookToken = webhookToken;
    }

    public Boolean getSendMail() {
        return sendMail;
    }

    public void setSendMail(Boolean sendMail) {
        this.sendMail = sendMail;
    }

    public String getMailAddress() {
        return mailAddress;
    }

    public void setMailAddress(String mailAddress) {
        this.mailAddress = mailAddress;
    }

    public Boolean getFailRetry() {
        return failRetry;
    }

    public void setFailRetry(Boolean failRetry) {
        this.failRetry = failRetry;
    }

    public Integer getFailRetryCount() {
        return failRetryCount;
    }

    public void setFailRetryCount(Integer failRetryCount) {
        this.failRetryCount = failRetryCount;
    }

    public Boolean getFailCreatePlan() {
        return failCreatePlan;
    }

    public void setFailCreatePlan(Boolean failCreatePlan) {
        this.failCreatePlan = failCreatePlan;
    }

    public Date getLastExecTime() {
        return lastExecTime;
    }

    public void setLastExecTime(Date lastExecTime) {
        this.lastExecTime = lastExecTime;
    }

    public Date getNextExecTime() {
        return nextExecTime;
    }

    public void setNextExecTime(Date nextExecTime) {
        this.nextExecTime = nextExecTime;
    }

    public String getLastBatchId() {
        return lastBatchId;
    }

    public void setLastBatchId(String lastBatchId) {
        this.lastBatchId = lastBatchId;
    }

    public Integer getWaitingNum() {
        return waitingNum;
    }

    public void setWaitingNum(Integer waitingNum) {
        this.waitingNum = waitingNum;
    }

    public Integer getRunningNum() {
        return runningNum;
    }

    public void setRunningNum(Integer runningNum) {
        this.runningNum = runningNum;
    }

    public Integer getSuccessNum() {
        return successNum;
    }

    public void setSuccessNum(Integer successNum) {
        this.successNum = successNum;
    }

    public Integer getExecFailNum() {
        return execFailNum;
    }

    public void setExecFailNum(Integer execFailNum) {
        this.execFailNum = execFailNum;
    }

    public Integer getAssertFailNum() {
        return assertFailNum;
    }

    public void setAssertFailNum(Integer assertFailNum) {
        this.assertFailNum = assertFailNum;
    }

    public Integer getTimeoutNum() {
        return timeoutNum;
    }

    public void setTimeoutNum(Integer timeoutNum) {
        this.timeoutNum = timeoutNum;
    }

    public Integer getCancelNum() {
        return cancelNum;
    }

    public void setCancelNum(Integer cancelNum) {
        this.cancelNum = cancelNum;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

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

    public String getUpdatedBy() {
        return updatedBy;
    }

    public void setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy;
    }

    public Date getUpdatedTime() {
        return updatedTime;
    }

    public void setUpdatedTime(Date updatedTime) {
        this.updatedTime = updatedTime;
    }

    public Boolean getDeleted() {
        return deleted;
    }

    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }

    public Boolean getHasCorn() {
        return hasCorn;
    }

    public void setHasCorn(Boolean hasCorn) {
        this.hasCorn = hasCorn;
    }

    public Boolean getHasUpFront() {
        return hasUpFront;
    }

    public void setHasUpFront(Boolean hasUpFront) {
        this.hasUpFront = hasUpFront;
    }

    public Boolean getHasWebhook() {
        return hasWebhook;
    }

    public void setHasWebhook(Boolean hasWebhook) {
        this.hasWebhook = hasWebhook;
    }

    public List<FeiLangUserDto> getFeiLangUserDtoList() {
        return feiLangUserDtoList;
    }

    public void setFeiLangUserDtoList(List<FeiLangUserDto> feiLangUserDtoList) {
        this.feiLangUserDtoList = feiLangUserDtoList;
    }

    public String getPrincipalId() {
        return principalId;
    }

    public void setPrincipalId(String principalId) {
        this.principalId = principalId;
    }

    public Map<String, Integer> getLastBatchScriptSumMap() {
        return lastBatchScriptSumMap;
    }

    public void setLastBatchScriptSumMap(Map<String, Integer> lastBatchScriptSumMap) {
        this.lastBatchScriptSumMap = lastBatchScriptSumMap;
    }

    public String getRetryStrategy() {
        return retryStrategy;
    }

    public void setRetryStrategy(String retryStrategy) {
        this.retryStrategy = retryStrategy;
    }
}