package com.lutao.cloud.oil.typhoon;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * @description: 气象数据解析系统_台风路径信息
 * @author: vincent.zhao
 * @create: 2024-07-25 14:45
 **/
@Data
public class TyphoonPointses implements Serializable {

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime = null;
    /**
     * 开始编码时间
     */
    private String startencodetime;
    /**
     * 强度
     */
    private String strong;
    /**
     * 移动方位
     */
    private String movedir;
    /**
     * 中心位置经度
     */
    private Double lng;
    /**
     * 预报台
     */
    private List<Forecast> forecast;
    /**
     * 10级风圈 公里
     */
    private Map<String, Integer> radius10quad;
    /**
     * 备注
     */
    private String remark;
    /**
     * 预报时段
     */
    private String forecastperiod;
    /**
     * 中心气压 百帕
     */
    private String pressure;
    /**
     * 台风编号
     */
    private String tfbh;
    /**
     * 风速
     */
    private Integer speed;
    /**
     * 移速 (公里/小时)
     */
    private String movespeed;
    /**
     * 10级风圈 公里
     */
    private String radius10;
    /**
     * 12级风圈 公里
     */
    private Map<String, Integer> radius12quad;
    /**
     * 12级风圈 公里
     */
    private String radius12;
    /**
     * 7级风圈 公里
     */
    private Map<String, Integer> radius7quad;
    /**
     * 开始编码日期
     */
    private String startencodedate;
    /**
     * 7级风圈 公里
     */
    private String radius7;
    /**
     * 风力
     */
    private Integer power;
    /**
     * 时间
     */
    private String time;
    /**
     * 中心位置纬度
     */
    private Double lat;

    /**
     * @description: 气象数据解析系统_台风路径信息
     * @author: vincent.zhao
     * @create: 2024-07-25 14:45
     **/
    @Data
    @NoArgsConstructor
    static class Forecast implements Serializable {
        /**
         * 强度
         */
        private String strong;
        /**
         * 中心位置纬度
         */
        private Double lat;
        /**
         * 风力
         */
        private Integer power;
        /**
         * 风速
         */
        private Integer speed;
        /**
         * 中心气压 百帕
         */
        private String pressure;
        /**
         * 中心位置经度
         */
        private Double lng;
        /**
         * 时间
         */
        private String time;
    }


}
