package com.multictrl.modules.business.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.util.Date;

/**
 * 飞行架次表
 *
 * @author Sdy
 * @since 1.0.0 2026-05-02
 */
@Data
@TableName("bus_flight_task")
public class FlightTaskEntity {

    /**
     * 任务标识
     */
    @TableId(type = IdType.INPUT)
    private String taskId;
    /**
     * 任务类型 (1航线飞行 2手动飞行 3定时飞行)
     */
    private Integer taskType;
    /**
     * 机库SN
     */
    private String dockSn;
    /**
     * 机库名称
     */
    private String dockName;
    /**
     * 机库类型
     */
    private String dockType;
    /**
     * 机库型号
     */
    private String dockModel;
    /**
     * 航线标识
     */
    private Long routeId;
    /**
     * 航线名称
     */
    private String routeName;
    /**
     * 航线类型
     */
    private String routeType;
    /**
     * 航线距离
     */
    private Double routeDistance;
    /**
     * 航点数量
     */
    private Integer waypointNum;
    /**
     * 部门标识
     */
    private Long deptId;
    /**
     * 任务状态（0进行中、-1失败、1完成、2阻飞）
     */
    private Integer taskStatus;
    /**
     * 飞行距离
     */
    private Double flightDistance;
    /**
     * 飞行时长（秒）
     */
    private Long flightDuration;
    /**
     * 飞行时长
     */
    private String flightDurationText;
    /**
     * 媒体数量
     */
    private Integer mediaNum;
    /**
     * 是否断点续飞
     */
    private Boolean isBreakpointFly;
    /**
     * 断点续飞最大时间
     */
    private String breakpointFlyMaxTime;
    /**
     * 断点续飞最小时间
     */
    private String breakpointFlyMinTime;
    /**
     * 出库时间
     */
    private Date outboundDate;
    /**
     * 入库时间
     */
    private Date inboundDate;
    /**
     * 任务时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createDate;
    /**
     * 操作人
     */
    @TableField(fill = FieldFill.INSERT)
    private Long creator;
    /**
     * 操作人名称（真实姓名）
     */
    private String createName;
    /**
     * 失败原因
     */
    private String failureReason;
    /**
     * 飞机SN
     */
    private String uavSn;
}