package com.multictrl.modules.business.dto;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;

/**
 * 机场设备信息
 *
 * @author Sdy
 * @since 1.0.0 2026-04-23
 */
@Data
@Schema(name = "机场设备信息")
public class DockDeviceDTO {

    @Schema(description = "主键")
    private Long id;
    /**
     * 设备序列号
     */
    @Schema(description = "设备序列号")
    private String sn;
    /**
     * 设备名称
     */
    @Schema(description = "设备名称")
    private String deviceName;
    /**
     * 产品型号
     */
    @Schema(description = "产品型号")
    private String deviceModelKey;
    /**
     * 设备绑定码
     */
    @Schema(description = "设备绑定码")
    private String deviceBindingCode;
    /**
     * 组织 ID
     */
    @Schema(description = "组织 ID")
    private String organizationId;
    /**
     * 设备在组织中的名称
     */
    @Schema(description = "设备在组织中的名称")
    private String deviceCallsign;
    /**
     * 父类（飞机的父类是机场）
     */
    @Schema(description = "父类（飞机的父类是机场）")
    private String parentSn;
    /**
     * 绑定时间
     */
    @Schema(description = "绑定时间")
    private Date bindDate;
    /**
     * 领域
     * 0，飞机类
     * 1，负载类
     * 2，遥控器类
     * 3，机场类
     */
    @Schema(description = "领域")
    private Integer domain;
    /**
     * 设备类型
     */
    @Schema(description = "设备类型")
    private Integer deviceType;
    /**
     * 设备子类型
     */
    @Schema(description = "设备子类型")
    private Integer subType;
    /**
     * 修改时间
     */
    @Schema(description = "时间")
    private Date updateDate;
    /**
     * 设备密钥
     */
    @Schema(description = "设备密钥")
    private String deviceSecret;
    /**
     * nonce
     */
    @Schema(description = "nonce")
    private String nonce;
    /**
     * 设备物模型版本
     */
    @Schema(description = "设备物模型版本")
    private String thingVersion;
}