package com.djhk.uav.uav.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.djhk.common.annotation.Excel;
import com.djhk.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

/**
 * 无人机机型对象 uav_type
 *
 * @author jiachengshuai
 * @date 2022-11-04
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UavType extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 无人机机型表主键 */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String uavType;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String typeName;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 投入使用过时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "投入使用过时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date useTime;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 能力名称 */
    @TableField(exist = false)
    private String abilityName;

    @TableField(exist = false)
    private List<UavTypeAbility> typeAbilityList;

    @TableField(exist = false)
    private List<String> typeAbilities;

    @TableField(exist = false)
    private String deviceModelKey;
}
