package com.weather.modules.weather.dailydata.dto;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.SchemaProperty;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@Schema(name = "气象汇总数据")
public class DailyWeatherSummarizeDto  implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @SchemaProperty(name = "编号")
    private Long id;

    @SchemaProperty(name = "区站号")
    private Long stationId;

    @SchemaProperty(name = "观测日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date observeDate;

    @SchemaProperty(name = "平均气温")
    private BigDecimal avgTemp;

    @SchemaProperty(name = "最高气温")
    private BigDecimal maxTemp;

    @SchemaProperty(name = "高气温出现时间(HHmm)")
    private Integer maxTempTime;

    @SchemaProperty(name = "最低气温")
    private BigDecimal minTemp;


    @SchemaProperty(name = "最低气温出现时间(HHmm)")
    private Integer minTempTime;

    @SchemaProperty(name = "20-20时降水量(mm)")
    @TableField("rain_20_20")
    private BigDecimal rain2020;

    @SchemaProperty(name = "08-08时降水量(mm)")
    @TableField("rain_08_08")
    private BigDecimal rain0808;

    @SchemaProperty(name = "相对湿度")
    private BigDecimal relativeHumidity;

    @SchemaProperty(name = "气压")
    private BigDecimal atmospheres;

    @SchemaProperty(name = "日平均风速")
    private BigDecimal dayAvgWindSpeed;

    @SchemaProperty(name = "日平均风向(角度)")
    private Integer dayAvgWindDirection;

    @SchemaProperty(name = "最大风速(m/s)")
    private BigDecimal maxWindSpeed;

    @SchemaProperty(name = "最大风速风向(角度)")
    private Integer maxWindDirection;

    @SchemaProperty(name = "最大风速出现时间(HHmm)")
    private Integer maxWindTime;

    @SchemaProperty(name = "极大风速(m/s)")
    private BigDecimal extremeWindSpeed;

    @SchemaProperty(name = "极大风速风向(角度)")
    private Integer extremeWindDirection;

    @SchemaProperty(name = "极大风速出现时间(HHmm)")
    private Integer extremeWindTime;

    @SchemaProperty(name = "部门id")
    private Long deptId;

    @SchemaProperty(name = "更新者")
    private Long updater;

    @SchemaProperty(name = "更新时间")
    private Date updateDate;





}
