package com.its.web.dto.statistics;

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

import javax.validation.constraints.NotNull;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("TrafficStatisticsDto(교통량 분석 DTO)")
public class TrafficStatisticsDto {

    @ApiModelProperty("도로명")
    @JsonProperty("road_name")
    private String roadName;

    @ApiModelProperty("시작 구간명")
    @JsonProperty("strt_name")
    private String strtName;

    @ApiModelProperty("종료 구간명")
    @JsonProperty("end_name")
    private String endName;

    @ApiModelProperty("시간/일(1)")
    @JsonProperty("t00")
    private String t00;

    @ApiModelProperty("시간/일(1)")
    @JsonProperty("t01")
    private String t01;

    @ApiModelProperty("시간/일(2)")
    @JsonProperty("t02")
    private String t02;

    @ApiModelProperty("시간/일(3)")
    @JsonProperty("t03")
    private String t03;

    @ApiModelProperty("시간/일(4)")
    @JsonProperty("t04")
    private String t04;

    @ApiModelProperty("시간/일(5)")
    @JsonProperty("t05")
    private String t05;

    @ApiModelProperty("시간/일(6)")
    @JsonProperty("t06")
    private String t06;

    @ApiModelProperty("시간/일(7)")
    @JsonProperty("t07")
    private String t07;

    @ApiModelProperty("시간/일(8)")
    @JsonProperty("t08")
    private String t08;

    @ApiModelProperty("시간/일(9)")
    @JsonProperty("t09")
    private String t09;

    @ApiModelProperty("시간/일(10)")
    @JsonProperty("t10")
    private String t10;

    @ApiModelProperty("시간/일(11)")
    @JsonProperty("t11")
    private String t11;

    @ApiModelProperty("시간/일(12)")
    @JsonProperty("t12")
    private String t12;

    @ApiModelProperty("시간/일(13)")
    @JsonProperty("t13")
    private String t13;

    @ApiModelProperty("시간/일(14)")
    @JsonProperty("t14")
    private String t14;

    @ApiModelProperty("시간/일(15)")
    @JsonProperty("t15")
    private String t15;

    @ApiModelProperty("시간/일(16)")
    @JsonProperty("t16")
    private String t16;

    @ApiModelProperty("시간/일(17)")
    @JsonProperty("t17")
    private String t17;

    @ApiModelProperty("시간/일(18)")
    @JsonProperty("t18")
    private String t18;

    @ApiModelProperty("시간/일(19)")
    @JsonProperty("t19")
    private String t19;

    @ApiModelProperty("시간/일(20)")
    @JsonProperty("t20")
    private String t20;

    @ApiModelProperty("시간/일(21)")
    @JsonProperty("t21")
    private String t21;

    @ApiModelProperty("시간/일(22)")
    @JsonProperty("t22")
    private String t22;

    @ApiModelProperty("시간/일(23)")
    @JsonProperty("t23")
    private String t23;

    @ApiModelProperty("시간/일(24)")
    @JsonProperty("t24")
    private String t24;

    @ApiModelProperty("시간/일(25)")
    @JsonProperty("t25")
    private String t25;

    @ApiModelProperty("시간/일(26)")
    @JsonProperty("t26")
    private String t26;

    @ApiModelProperty("시간/일(27)")
    @JsonProperty("t27")
    private String t27;

    @ApiModelProperty("시간/일(28)")
    @JsonProperty("t28")
    private String t28;

    @ApiModelProperty("시간/일(29)")
    @JsonProperty("t29")
    private String t29;

    @ApiModelProperty("시간/일(30)")
    @JsonProperty("t30")
    private String t30;

    @ApiModelProperty("시간/일(31)")
    @JsonProperty("t31")
    private String t31;

    @ApiModel("TrafficStatisticsDtoReq(교통량 파리미터)")
    @Getter
    @Setter
    @ToString
    @NoArgsConstructor
    public static class TrafficStatisticsDtoReq {
        @ApiModelProperty("검색 시작일, Nullable = N")
        @JsonProperty("FROM_DT")
        @NotNull
        private String fromDt;

        @ApiModelProperty("검색 종료일, Nullable = N")
        @JsonProperty("TO_DT")
        @NotNull
        private String toDt;

        @ApiModelProperty("도로번호, Nullable = Y")
        @JsonProperty("ROAD_NMBR")
        private String roadNmbr;

        @ApiModelProperty("도로명, Nullable = Y")
        @JsonProperty("ATRD_NM")
        private String atrdNm;
    }

}
