package com.its.web.dto.traffic;

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

@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("TbAtrdDto(간선도로 DTO)")
public class TbAtrdDto {

    @ApiModelProperty("간선도로 ID")
    @JsonProperty("atrd_id")
    private String atrdId;

    @ApiModelProperty("간선도로 명칭")
    @JsonProperty("atrd_nm")
    private String atrdNm;

    @ApiModelProperty("방향코드")
    @JsonProperty("drct_cd")
    private String drctCd;

    @ApiModelProperty("방향명")
    @JsonProperty("drct_nm")
    private String drctNm;

    @ApiModelProperty("도로 ID")
    @JsonProperty("road_id")
    private Long roadId;

    @ApiModelProperty("순서")
    @JsonProperty("ord")
    private Integer ord;

    @ApiModelProperty("좌표 개수")
    @JsonProperty("crdn_cnt")
    private String crdnCnt;

    @ApiModelProperty("X좌표 배열")
    @JsonProperty("x_crdn_arr")
    private String xCrdnArr;

    @ApiModelProperty("Y좌표 배열")
    @JsonProperty("y_crdn_arr")
    private String yCrdnArr;

    @ApiModelProperty("X좌표 최소값")
    @JsonProperty("x_crdn_min")
    private Double xCrdnMin;

    @ApiModelProperty("Y좌표 최소값")
    @JsonProperty("y_crdn_min")
    private Double yCrdnMin;

    @ApiModelProperty("X좌표 최대값")
    @JsonProperty("x_crdn_max")
    private Double xCrdnMax;

    @ApiModelProperty("Y좌표 최대값")
    @JsonProperty("y_crdn_max")
    private Double yCrdnMax;

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

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

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

    @ApiModelProperty("시작 노드 ID")
    @JsonProperty("t_node_id")
    private String tNodeId;

    @ApiModelProperty("끝 노드 ID")
    @JsonProperty("f_node_id")
    private String fNodeId;


    @ApiModel("TbAtrdDtoReq(간선도로 DTO req)")
    @Getter
    @Setter
    @ToString
    @NoArgsConstructor
    public static class TbAtrdDtoReq {
        @ApiModelProperty("지도 레벨")
        @JsonProperty("levl")
        private Integer levl;

        @ApiModelProperty("상행 Id")
        @JsonProperty("up_hill")
        private String upHill;

        @ApiModelProperty("하행 ID")
        @JsonProperty("down_hill")
        private String downHill;
    }
}
