package com.base.api.model.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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

@Data
public class QuerySatelliteAddRpcDTO {

    @ApiModelProperty("卫星id，只有修改的时候才会用到，新增不传值")
    private String id;

    @ApiModelProperty("卫星编码")
    private String code;

    @ApiModelProperty("卫星中文名称")
    private String name;

    @ApiModelProperty("1 军 2 民 3 商 4 其他")
    private Integer satelliteUserType;

    @ApiModelProperty("卫星系列")
    private String series;

    @ApiModelProperty("功能用途，0遥感，1通信，2导航")
    private Integer function;


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

    @ApiModelProperty("国别")
    private String country;

    @ApiModelProperty("卫星优先级")
    private Integer priority;

    @ApiModelProperty("卫星综合状态，0异常，1正常，2失效")
    private Integer state;

    @ApiModelProperty("卫星重访周期，单位天")
    private String revisitPeriod;

    @ApiModelProperty("轨道周期，单位毫秒")
    private Integer orbitPeriod;

    @ApiModelProperty("轨道高度，单位千米")
    private String altitude;

    @ApiModelProperty("轨道类型，0低轨，1中轨，2高轨，3太阳同步轨道")
    private Integer orbitType;

    @ApiModelProperty("赤道面经度位置，仅适用于高轨")
    private String lontitude;

    @ApiModelProperty("平台类型，0普通，1敏捷")
    private Integer satelliteType;

    @ApiModelProperty("最大侧摆角")
    private String maxRollAngle;

    @ApiModelProperty("最小侧摆角")
    private String minRollAngle;

    @ApiModelProperty("最大俯仰角")
    private String maxPitchAngle;

    @ApiModelProperty("最小俯仰角")
    private String minPitchAngle;

    @ApiModelProperty("最大偏航角")
    private String maxYawAngle;

    @ApiModelProperty("卫星质量，单位kg")
    private String mass;

    @ApiModelProperty("卫星对地传输速率，单位Mbps")
    private String groundFrequency;

    @ApiModelProperty("卫星状态，0不可用，1可用")
    private Integer status;

    @ApiModelProperty("卫星侧摆重访周期，单位天")
    private String revisitRollPeriod;

    @ApiModelProperty("迎风面积，单位平方米")
    private String windArea;

    @ApiModelProperty("光压面积，单位平方米")
    private String shineArea;

    @ApiModelProperty("地球重力场模型阶数1")
    private String earthGravityFieldModeOrde1;

    @ApiModelProperty("地球重力场模型阶数2")
    private String earthGravityFieldModeOrde2;

    @ApiModelProperty("载荷类型，0CCD，1红外，2电子，3SAR，4通信，5导航")
    private String loadType;

    @ApiModelProperty("测控支持的中继类型，0不支持，1一代中继，2二代中继")
    private Integer controlRelayType;

    @ApiModelProperty("测控灵敏度")
    private Integer controlSensitivity;

    @ApiModelProperty("测控频段")
    private String controlPass;

    @ApiModelProperty("测控频点")
    private String controlFreq;

    @ApiModelProperty("测控码速率")
    private String controlCodeSpeed;

    @ApiModelProperty("测控极化方式，0左旋，1右旋，2极化")
    private Integer controlPolarityMethod;

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

    @ApiModelProperty("测控波束需求数")
    private String controlBeamNeed;

    @ApiModelProperty("接收支持的中继类型，0不支持，1一代中继，2二代中继")
    private Integer receiveRelayType;

    @ApiModelProperty(" 接收频段")
    private String receivePass;

    @ApiModelProperty("接收频点")
    private String receiveFreq;

    @ApiModelProperty("接收带宽")
    private String receiveBnadwidth;

    @ApiModelProperty("接收码速率")
    private String receiveCodespeed;

    @ApiModelProperty("接收的极化方式")
    private Integer receivePolarityMethod;

    @ApiModelProperty("数传通道数")
    private String sctdQuantitl;

    @ApiModelProperty("发射功率")
    private String sendPower;

    @ApiModelProperty("载荷列表")
    private List<QueryPayloadAddRpcDTO>  payloadAddDTOList;
}
