package com.eactive.eai.rms.onl.loader.intf.deploy;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

@Data
public class ServiceMessageDeploy {

    @JsonProperty("InterfaceServcieCode")
    private String eaisvcname;

    @JsonProperty("Sequence")
    private Integer svcprcssno;
    
    /*수동인터페이스유형 (SYNC/ASYN)*/
    @JsonProperty("SyncAsyncType")
    private String psvintfacdsticname;
    
    /*수동업무시스템명*/
    @JsonProperty("BusinessCode")
    private String psvsysbzwkdstcd;    
    
    /*수동시스템ID*/
    @JsonProperty("TargetSystem")
    private String psvsysidname;
    
    /*수동시스템서비스구분명*/
    @JsonProperty("TargetSystemName")
    private String psvsyssvcdsticname;
    
    /*수동시스템어댑터업무그룹명*/
    @JsonProperty("TargetAdapter")
    private String psvsysadptrbzwkgroupname;   
    
    /*FailOver여부*/
    @JsonProperty("FailOverYn")
    private String flovryn;   
    
    /*변환유무*/
    @JsonProperty("TransformYn")
    private String chngeonot;
    
    /*변환메시지ID*/
    @JsonProperty("Transform")
    private String chngmsgidname;    
    
    /*기본응답메시지비교값*/
    @JsonProperty("ResponseMessageContent")
    private String bascrspnsmsgcmprctnt;
    
    /*기본응답변환유무*/
    @JsonProperty("ResponseTransformYn")
    private String bascrspnschngeonot;

    /*기본응답변환메시지ID*/
    @JsonProperty("ResponseTransform")
    private String bascrspnschngmsgidname;    
    
    /*오류응답메시지비교값*/
    @JsonProperty("ErrorMessageContent")
    private String errrspnsmsgcmprctnt;

    /*오류응답변환유무*/
    @JsonProperty("ErrorTransformYn")
    private String errrspnschngeonot;   

    /*오류응답변환메시지ID*/
    @JsonProperty("ErrorTransform")
    private String errrspnschngmsgidname;
    
    /*다음서비스처리번호*/
    @JsonProperty("NextSequence")
    private Integer nextsvcprcssno;    
    
    /*Outbound라우팅명*/
    @JsonProperty("Outbound")
    private String outbndroutname;
    
    /*타임아웃값*/
    @JsonProperty("TimeoutValue")
    private Long toutval;
    
    /*보상서비스처리코드*/
    @JsonProperty("RecoverServiceName")
    private String cmpensvcprcssdsticname;

    /*추가삭제여부*/
    @JsonProperty("AddDelProcessYn")
    private String suppldelyn;

    /*헤더제어구분코드*/
    @JsonProperty("HeaderControlCode")
    private String hdrctrldstcd;

    /*참고클래스명*/
    @JsonProperty("HeaderReferenceClass")
    private String hdrrefclsname;

    /*REST 옵션*/
    @JsonProperty("RestOption")
    private String restoption;

    /*타임아웃 코드*/
    @JsonProperty("TimeoutCode")
    private String timeoutcode;


    @JsonProperty("referenceMessages")
    private List<EAIReferenceMessageDeploy> eaiReferenceMessageDeploys = new ArrayList<>();

    @JsonProperty("conditionRoutings")
    private List<CondPerRtgInfoDeploy> condPerRtgInfoDeploys = new ArrayList<>();

    @JsonProperty("b2b")
    private B2BExtractDeploy b2BExtractDeploy;

}
