package com.its.op.dto.its.weather;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

import java.io.Serializable;

/**
 * 동네 예보 DTO Class
 */
@Data
@Builder
@ApiModel("TbVilgFrcsPnstDto(동네 예보)")
public class TbVilgFrcsPnstDto implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("동네 예보 구역 코드")  // N NUMBER(14)
    @JsonProperty("vilg_frcs_zone_cd")
    private Long vilgFrcsZoneCd;

    @ApiModelProperty("발표 일시")  // N VARCHAR(14)
    @JsonProperty("annc_dt")
    private String anncDt;

    @ApiModelProperty("순서")  // N NUMBER(3)
    @JsonProperty("ord")
    private Integer ord;

    @ApiModelProperty("시간")  // Y NUMBER(3)
    @JsonProperty("hh")
    private Integer hh;

    @ApiModelProperty("일")  // Y NUMBER(3)
    @JsonProperty("dd")
    private Integer dd;

    @ApiModelProperty("현재 온도")  // Y NUMBER(6,3)
    @JsonProperty("prst_tmpr")
    private Double prstTmpr;

    @ApiModelProperty("최고 온도")  // Y NUMBER(6,3)
    @JsonProperty("hghs_tmpr")
    private Double hghsTmpr;

    @ApiModelProperty("최저 온도")  // Y NUMBER(6,3)
    @JsonProperty("lwst_tmpr")
    private Double lwstTmpr;

    @ApiModelProperty("대기 상태")  // Y NUMBER(2)
    @JsonProperty("atmp_stts")
    private Integer atmpStts;

    @ApiModelProperty("날씨 한글 명")  // Y VARCHAR(20)
    @JsonProperty("wtcd_kor_nm")
    private String wtcdKorNm;

    @ApiModelProperty("강수 상태")  // Y NUMBER(3)
    @JsonProperty("prcp_stts")
    private Integer prcpStts;

    @ApiModelProperty("날씨 영문 명")  // Y VARCHAR(20)
    @JsonProperty("wtcd_engl_nm")
    private String wtcdEnglNm;

    @ApiModelProperty("강수 확률")  // Y NUMBER(5,2)
    @JsonProperty("prcp_pr")
    private Double prcpPr;

    @ApiModelProperty("예상 강수량 12시간")  // Y NUMBER(5,2)
    @JsonProperty("estm_pram_12hh")
    private Double estmPram12hh;

    @ApiModelProperty("예상 눈 량 12시간")  // Y NUMBER(5,2)
    @JsonProperty("estm_snow_amut_12hh")
    private Double estmSnowAmut12hh;

    @ApiModelProperty("풍속")  // Y NUMBER(5,2)
    @JsonProperty("wnsp")
    private Double wnsp;

    @ApiModelProperty("풍향")  // Y NUMBER(2)
    @JsonProperty("wndr")
    private Integer wndr;

    @ApiModelProperty("풍향 한글 명")  // Y VARCHAR(20)
    @JsonProperty("wndr_kor_nm")
    private String wndrKorNm;

    @ApiModelProperty("풍향 영문 명")  // Y VARCHAR(20)
    @JsonProperty("wndr_engl_nm")
    private String wndrEnglNm;

    @ApiModelProperty("습도")  // Y NUMBER(5,2)
    @JsonProperty("hmdt")
    private Double hmdt;

    @ApiModelProperty("예상 강수 량 6시간")  // Y NUMBER(5,2)
    @JsonProperty("estm_prcp_amut_6hh")
    private Double estmPrcpAmut6hh;

    @ApiModelProperty("예상 눈 량 6시간")  // Y NUMBER(5,2)
    @JsonProperty("estm_snow_amut_6hh")
    private Double estmSnowAmut6hh;

    // Code Description Field
    @ApiModelProperty("동네 예보 구역 명")  // Y VARCHAR(40)
    @JsonProperty("vilg_frcs_zone_nm")
    private String vilgFrcsZoneNm;

    @ApiModelProperty("날씨 한글 명 코드")
    @JsonProperty("wtcd_kor_cd")
    private String wtcdKorCd;

}
