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

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;
import java.time.LocalDateTime;

/**
 *  DTO Class
 */
@Data
@Builder
@ApiModel("BitDto(BIT정보)")
public class BitDto implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("bitid")  // N VARCHAR(10)
    @JsonProperty("bitid")
    private String bitid;

    @ApiModelProperty("bitname")  // Y VARCHAR(50)
    @JsonProperty("bitname")
    private String bitname;

    @ApiModelProperty("bittype")  // Y CHAR(1)
    @JsonProperty("bittype")
    private String bittype;

    @ApiModelProperty("address")  // Y VARCHAR(100)
    @JsonProperty("address")
    private String address;

    @ApiModelProperty("regdate")  // Y DATE(0)
    @JsonProperty("regdate")
    private LocalDateTime regdate;

    @ApiModelProperty("useflag")  // Y CHAR(1)
    @JsonProperty("useflag")
    private String useflag;

    @ApiModelProperty("connpriority")  // Y CHAR(1)
    @JsonProperty("connpriority")
    private String connpriority;

    @ApiModelProperty("bitscenarioid")  // Y VARCHAR(10)
    @JsonProperty("bitscenarioid")
    private String bitscenarioid;

    @ApiModelProperty("bitmake")  // Y VARCHAR(30)
    @JsonProperty("bitmake")
    private String bitmake;

    @ApiModelProperty("resolution")  // Y CHAR(1)
    @JsonProperty("resolution")
    private String resolution;

    @ApiModelProperty("admintype")  // Y CHAR(1)
    @JsonProperty("admintype")
    private String admintype;

    @ApiModelProperty("dmbchannel")  // Y NUMBER(1)
    @JsonProperty("dmbchannel")
    private Integer dmbchannel;

    @ApiModelProperty("dmbvolume")  // Y NUMBER(2)
    @JsonProperty("dmbvolume")
    private Integer dmbvolume;

    @ApiModelProperty("localno")  // Y NUMBER(5)
    @JsonProperty("localno")
    private Integer localno;

    @ApiModelProperty("coordx")  // Y NUMBER(0)
    @JsonProperty("coordx")
    private Double coordx;

    @ApiModelProperty("coordy")  // Y NUMBER(0)
    @JsonProperty("coordy")
    private Double coordy;

    @ApiModelProperty("tmcoordx")  // Y NUMBER(0)
    @JsonProperty("tmcoordx")
    private Integer tmcoordx;

    @ApiModelProperty("tmcoordy")  // Y NUMBER(0)
    @JsonProperty("tmcoordy")
    private Integer tmcoordy;

    @ApiModelProperty("wcommtype")  // Y CHAR(1)
    @JsonProperty("wcommtype")
    private String wcommtype;

    @ApiModelProperty("wipaddress")  // Y VARCHAR(15)
    @JsonProperty("wipaddress")
    private String wipaddress;

    @ApiModelProperty("wlipaddress")  // Y VARCHAR(15)
    @JsonProperty("wlipaddress")
    private String wlipaddress;

    @ApiModelProperty("wport")  // Y NUMBER(5)
    @JsonProperty("wport")
    private Integer wport;

    @ApiModelProperty("wlport")  // Y NUMBER(5)
    @JsonProperty("wlport")
    private Integer wlport;

    @ApiModelProperty("dmbflag")  // Y CHAR(1)
    @JsonProperty("dmbflag")
    private String dmbflag;

    @ApiModelProperty("bitserviceflag")  // Y CHAR(1)
    @JsonProperty("bitserviceflag")
    private String bitserviceflag;

    // Code Description Field

}
