package com.its.api.its.model.dto.vms;

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("VwVmsDsplPrstDto()")
public class VwVmsDsplPrstDto implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("VMS 제어기 번호")  // N NUMBER(10)
    @JsonProperty("vms_ctlr_nmbr")
    private Long vmsCtlrNmbr;

    @ApiModelProperty("VMS 제어기 ID")  // Y VARCHAR(30)
    @JsonProperty("vms_ctlr_id")
    private String vmsCtlrId;

    @ApiModelProperty("VMS 명")  // Y VARCHAR(40)
    @JsonProperty("vms_nm")
    private String vmsNm;

    @ApiModelProperty("스트리밍 세션 명")  // Y VARCHAR(200)
    @JsonProperty("strm_sesn_nm")
    private String strmSesnNm;

    @ApiModelProperty("PHASE")  // N NUMBER(2)
    @JsonProperty("phase")
    private Integer phase;

    @ApiModelProperty("표출 시간")  // Y NUMBER(3)
    @JsonProperty("dspl_hh")
    private Integer dsplHh;

    @ApiModelProperty("제어기다운로드 여부(Y:성공,N:실패)")  // Y CHAR(1)
    @JsonProperty("dnld_yn")
    private String dnldYn;

    @ApiModelProperty("VMS 메시지 표출 방법 코드")  // Y NUMBER(3)
    @JsonProperty("vms_msg_dspl_mthd_cd")
    private Integer vmsMsgDsplMthdCd;

    @ApiModelProperty("교통 상황 유형 코드")  // Y VARCHAR(7)
    @JsonProperty("trfc_situ_type_cd")
    private String trfcSituTypeCd;

    @ApiModelProperty("표출 일시")  // Y VARCHAR(14)
    @JsonProperty("dspl_dt")
    private String dsplDt;

    @ApiModelProperty("7분전 시각")  // Y VARCHAR(14)
    @JsonProperty("svc_dt")
    private String svcDt;

    @ApiModelProperty("VMS 표출 메시지 이미지")  // Y BLOB
    @JsonProperty("vms_dspl_msg_imag")
    private byte[] vmsDsplMsgImag;

    // Code Description Field
    @ApiModelProperty("이미지 형식(bmp, png)")
    @JsonProperty("imag_fmt")
    private String imagFmt;

    @ApiModelProperty("서비스 여부(Y:성공,N:실패)")
    @JsonProperty("svc_yn")
    private String svcYn;

}
