package com.base.track.model.dto.response;


import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * <p>
 *
 * </p>
 *
 * @author yulin
 * @since 2022-01-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("yx_info_basis_satellite")
public class YxInfoBasisSatelliteDTO  implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId
    private String id;

    /**
     * 卫星编码
     */
    private String code;

    /**
     * 卫星中文名称
     */
    private String name;

    /**
     * NASA卫星编号
     */
    private String nasaSatelliteCode;

    /**
     * NASA卫星名称
     */
    private String nasaSatelliteName;

    /**
     * 1 军 2 民 3 商 4 其他
     */
    private Integer satelliteUserType;

    /**
     * 卫星系列
     */
    private String series;

    /**
     * 功能用途，0遥感，1通信，2导航
     */
    private Integer function;

    /**
     * 发射时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date launchTime;

    /**
     * 国别
     */
    private String country;

    /**
     * 使用用户
     */
    private String user;

    /**
     * 卫星优先级
     */
    private Integer priority;

    /**
     * 卫星综合状态，0异常，1正常，2失效
     */
    private Integer state;

    /**
     * 卫星重访周期，单位天
     */
    private String revisitPeriod;

    /**
     * 轨道周期，单位毫秒
     */
    private Integer orbitPeriod;

    /**
     * 轨道高度，单位千米
     */
    private String altitude;

    /**
     * 轨道类型，0低轨，1中轨，2高轨，3太阳同步轨道
     */
    private Integer orbitType;

    /**
     * 赤道面经度位置，仅适用于高轨
     */
    private String lontitude;

    /**
     * 平台类型，0普通，1敏捷
     */
    private Integer satelliteType;

    /**
     * 最大侧摆角
     */
    private String maxRollAngle;

    /**
     * 最小侧摆角
     */
    private String minRollAngle;

    /**
     * 最大俯仰角
     */
    private String maxPitchAngle;

    /**
     * 最小俯仰角
     */
    private String minPitchAngle;

    /**
     * 最大偏航角
     */
    private String maxYawAngle;

    /**
     * 卫星质量，单位kg
     */
    private String mass;

    /**
     * 卫星对地传输速率，单位Mbps
     */
    private String groundFrequency;

    /**
     * 卫星状态，0可用，1不可用
     */
    private Integer status;

    /**
     * 卫星侧摆重访周期，单位天
     */
    private String revisitRollPeriod;

    /**
     * 迎风面积，单位平方米
     */
    private String windArea;

    /**
     * 光压面积，单位平方米
     */
    private String shineArea;

    /**
     * 地球重力场模型阶数1
     */
    private String earthGravityFieldModeOrde1;

    /**
     * 地球重力场模型阶数2
     */
    private String earthGravityFieldModeOrde2;

    /**
     * 载荷类型，0CCD，1红外，2电子，3SAR，4通信，5导航
     */
    private Integer loadType;

    /**
     * 测控支持的中继类型，0不支持，1一代中继，2二代中继
     */
    private Integer controlRelayType;

    /**
     * 测控灵敏度
     */
    private Integer controlSensitivity;

    /**
     * 测控频段
     */
    private String controlPass;

    /**
     * 测控频点
     */
    private String controlFreq;

    /**
     * 测控码速率
     */
    private String controlCodespeed;

    /**
     * 测控极化方式，0左旋，1右旋，2极化
     */
    private Integer controlPolarityMethod;

    /**
     * 扩频模式，0非扩频，1标准TTC，2非相干TTC，3相干扩频，4非相干扩频，5测控数传一体化，6FM，7BPSK
     */
    private Integer kpmode;

    /**
     * 测控波束需求数
     */
    private String controlBeamNeed;

    /**
     * 接收支持的中继类型，0不支持，1一代中继，2二代中继
     */
    private Integer receiveRelayType;

    /**
     * 接收频段
     */
    private String receivePass;

    /**
     * 接收频点
     */
    private String receiveFreq;

    /**
     * 接收带宽
     */
    private String receiveBnadwidth;

    /**
     * 接收码速率
     */
    private String receiveCodespeed;

    /**
     * 接收的极化方式
     */
    private Integer receivePolarityMethod;

    /**
     * 数传通道数
     */
    private String sctdQuantitl;

    /**
     * 发射功率
     */
    private String sendPower;

    /**
     * 创建时间
     */
    private Date createdDate;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 最后修改人（卫星中文名）
     */
    private String lastModifiedBy;

    /**
     * 最后修改时间
     */
    private Date lastModifiedDate;

    /**
     * 版本号
     */
    private Integer version;

    /**
     * 状态
     */
    private Integer dataStatus;

    /**
     * 冻结次数
     */
    private Integer freezeTime;

}
