package com.eactive.eai.rms.onl.transaction.extnl.ui;

import com.eactive.eai.rms.onl.manage.serviceinfo.eaimsg.ui.ServiceMessageUI;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import javax.persistence.Column;
import java.util.List;

@Data
public class InterfaceUI {

    @JsonProperty("EAIBZWKDSTCD")
    private String eaiBzwkDstcd;

    /* IF 서비스코드 */
    @JsonProperty("EAISVCNAME")
    private String eaiSvcName;

    @JsonProperty("EAISVCDESC")
    private String eaiSvcDesc;

    /* 인터페이스 ID : if 서비스코드 substr(-2) */
    @JsonProperty("EAITRANNAME")
    private String eaiTranName;

    /* IO : case 문으로 정리 */
    @JsonProperty("IO")
    private String io;

    // 전문요청구분 S, R IF서비스코드 substr(-1, 1) */
    @JsonProperty("SPLIZDMNDDSTCD")
    private String splizDmndDstcd;

    // 대내외구별코드 1, 2 IF서비스코드 substr(-1) */
    @JsonProperty("STNDTELGMWTINEXTNLDSTCD")
    private String stndTelgmWtinExtnlDstcd;

    @JsonProperty("FROMNAME")
    private String fromName;

    @JsonProperty("TONAME")
    private String toName;

    @JsonProperty("SERVICEID")
    private String serviceId;

    @JsonProperty("LAYOUTMAPPINGNAME")
    private String layoutMappingName;

    @JsonProperty("BZWKFLDNAME1")
    private String bzwkFldName1;

    @JsonProperty("BZWKFLDNAME2")
    private String bzwkFldName2;

    @JsonProperty("FROMADAPTER")
    private String fromAdapter;

    @JsonProperty("TOADAPTER")
    private String toAdapter;

    @JsonProperty("EXTADAPTER")
    private String extAdpater;

    @JsonProperty("BZWKSVCKEYNAME")
    private String bzwkSvcKeyName;

    @Column(length = 4)
    @JsonProperty("SVCMOTIVUSEDSTCD")
    private String svcMotivUseDstcd;

    @JsonProperty("OCCURDSTCD")
    private String occurDstcd;

    @JsonProperty("TRANSKIND")
    private String transKind;

    @JsonProperty("AUTHOR")
    private String author;

    @JsonProperty("FLOWCTRLROUTNAME")
    private String flowCtrlRoutName;

    @JsonProperty("DMNDERRCHNGIDNAME")
    private String dmndErrChngIdName;

    @JsonProperty("RSPNSERRCHNGIDNAME")
    private String rspnsErrChngIdName;

    @JsonProperty("RSPNSERRFLDNAME")
    private String rspnsErrFldName;

    @JsonProperty("EAISEVRDSTCD")
    private String eaiSevrDstcd;

    @JsonProperty("EAIGROUPCOCD")
    private String eaiGroupCoCd;

    @JsonProperty("MODFIMGTSTUSDSTCD")
    private String modfiMgtStusDstcd;

    @JsonProperty("TRANTYPE")
    private String tranType;

    @JsonProperty("USEYN")
    private String useYn;

    @JsonProperty("VERINFO")
    private String verInfo;

    @JsonProperty("SOURCESYSTEM")
    private String sourceSystem;

    @JsonProperty("TARGETSYSTEM")
    private String targetSystem;

//    @JsonProperty("EAILASTAMNDYMS")
//    private LocalDateTime eaiLastAmndYMS;

    @JsonProperty("FAILOVER")
    private Boolean failOver;

    private String svcHMSEonot;
    private String svcPrcesDsticName;
    private String intgraDsticName;
    private String svcBfClmnLogYn;
    private String gstatSysAdptrBzwkGroupName;
    private Integer sevrLogLvelNo;
    private Integer svcLogLvelNo;

    private List<ServiceMessageUI> serviceMessages;

//    @JsonProperty("bizAll")
//    private List<BizKey> bizKeys;
}