package com.tuoheng.admin.entity.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tuoheng.common.common.BaseQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 巡检任务 新增或修改请求参数 2022/7/27
 * @author : qiujinyang
 */
@Data
public class MissionVO implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "任务id")
    private Integer id;

    @ApiModelProperty(value = "巡检任务编号")
    private String code;

    @ApiModelProperty(value = "任务名称")
    private String name;

    @ApiModelProperty(value = "巡检方式  1 机场服务，2 人工巡检")
    private Integer inspectionType;

    @ApiModelProperty(value = "巡检机场")
    private Integer airportId;

    @ApiModelProperty(value = "巡检机场名称")
    private String airportName;

    @ApiModelProperty(value = "巡检线路")
    private Integer inspectionLine;

    @ApiModelProperty(value = "巡检线路名称")
    private String inspectionLineName;

    @ApiModelProperty(value = "飞机Id")
    private Integer droneId;

    @ApiModelProperty(value = "飞机名称")
    private String droneName;

    @ApiModelProperty(value = "巡检里程")
    private String mileage;

    @ApiModelProperty(value = "任务类型 1 日常，2 应急巡检")
    private Integer type;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "巡检时间")
    private Date executionStartTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "巡检结束时间")
    private Date executionEndTime;

    //直播的两个通道
    @ApiModelProperty(value = "视频拉流地址")
    private String pullUrl;
    @ApiModelProperty(value = "AI拉流地址")
    private String aipullUrl;


    //直播的视频地址
    @ApiModelProperty(value = "视频地址")
    private String playUrl;
    @ApiModelProperty(value = "AI识别后视频地址")
    private String aiplayUrl;

    //回放视频的两个地址
    @ApiModelProperty(value = "原视频地址")
    private String videoUrl;
    @ApiModelProperty(value = "AI识别后视频地址")
    private String aiVideoUrl;

    @ApiModelProperty(value = "任务飞行状态：1任务待飞行 2任务飞行中 3任务执行失败 4任务飞行完成")
    private Integer status;

    @ApiModelProperty(value = "巡检报告是否生成 是否生成 0 未生成 1 需修改  2 已生成")
    private Integer reportStatus;

    @ApiModelProperty(value = "备注")
    private String note;

    @ApiModelProperty(value = "创建人")
    private String createUser;

    @ApiModelProperty(value = "飞行时间")
    private String flyTime;

    @ApiModelProperty(value = "租户id",hidden = true)
    private Integer tenantId;

}
