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("TrafficStatisticsCongestDto(정체 통계 DTO)")
public class TrafficStatisticsCongestDto {

    @ApiModelProperty("도로명")
    @JsonProperty("road_nm")
    private String roadNm;

    @ApiModelProperty("시작지점명")
    @JsonProperty("strt_nm")
    private String strtNm;

    @ApiModelProperty("끝지점명")
    @JsonProperty("end_nm")
    private String endNm;

    @ApiModelProperty("시작 시각")
    @JsonProperty("strt_tm")
    private String strtTm;

    @ApiModelProperty("종료 시각")
    @JsonProperty("end_tm")
    private String endTm;

    @ApiModelProperty("평균속도")
    @JsonProperty("sped")
    private String sped;

    @ApiModelProperty("생성일자")
    @JsonProperty("crtn_ymd")
    private String crtnYmd;


    @ApiModel("TrafficStatisticsDtoReq(교통량 파리미터)")
    @Getter
    @Setter
    @ToString
    @NoArgsConstructor
    public static class TrafficStatisticsCongestDtoReq {
        @ApiModelProperty("검색 기준 년월, Nullable = N")
        @JsonProperty("STAT_YM")
        @NotNull
        private String statYm;

        @ApiModelProperty("요일 코드, Nullable = N")
        @JsonProperty("day")
        @NotNull
        private String day;
    }
}
