package com.multictrl.modules.business.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;


/**
 * 飞行架次参数
 *
 * @author Sdy 
 * @since 1.0.0 2026-05-02
 */
@Data
@Schema(name = "飞行架次参数")
public class FlightTaskDTO implements Serializable {
    @Serial
	private static final long serialVersionUID = 1L;

	@Schema(description = "任务标识")
	private String taskId;

	@Schema(description = "任务类型 (1航线飞行 2手动飞行 3定时飞行)")
	private Integer taskType;

	@Schema(description = "机库SN")
	private String dockSn;

	@Schema(description = "机库名称")
	private String dockName;

	@Schema(description = "机库类型")
	private String dockType;

	@Schema(description = "机库型号")
	private String dockModel;

	@Schema(description = "航线标识")
	private Long routeId;

	@Schema(description = "航线名称")
	private String routeName;

	@Schema(description = "航线类型")
	private String routeType;

	@Schema(description = "航线距离")
	private Double routeDistance;

	@Schema(description = "航点数量")
	private Integer waypointNum;

	@Schema(description = "部门标识")
	private Long deptId;

	@Schema(description = "任务状态（0进行中、-1失败、1完成、2阻飞）")
	private Integer taskStatus;

	@Schema(description = "飞行距离")
	private Double flightDistance;

	@Schema(description = "飞行时长（秒）")
	private Long flightDuration;

	@Schema(description = "飞行时长")
	private String flightDurationText;

	@Schema(description = "媒体数量")
	private Integer mediaNum;

	@Schema(description = "是否断点续飞")
	private Boolean isBreakpointFly;

	@Schema(description = "断点续飞最大时间")
	private String breakpointFlyMaxTime;

	@Schema(description = "断点续飞最小时间")
	private String breakpointFlyMinTime;

	@Schema(description = "出库时间")
	private Date outboundDate;

	@Schema(description = "入库时间")
	private Date inboundDate;

	@Schema(description = "任务时间")
	private Date createDate;

	@Schema(description = "操作人")
	private Long creator;

	@Schema(description = "操作人名称")
	private String createName;

	@Schema(description = "失败原因")
	private String failureReason;

	@Schema(description = "飞机SN")
	private String uavSn;
}
