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

import com.eactive.eai.data.entity.onl.stdmessage.StandardMessageInfo;
import com.eactive.eai.rms.onl.loader.service.DeployResource;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import edu.emory.mathcs.backport.java.util.Arrays;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Data
public class StandardMessageInfoDeploy extends DeployResource<StandardMessageInfo> {

    @Override
    public StandardMessageInfo probeForExample() {
        StandardMessageInfo probe = new StandardMessageInfo();
        probe.setEaisvcname(this.eaisvcname);
        return probe;
    }

    @Override
    public List<String> exactMatchFields() {
        return Arrays.asList(new String[]{
                "eaisvcname"
        });
    }
   /*비표준메시지 서비스키*/
    @JsonProperty("BusinessServiceKey")
    private String bzwksvckeyname;

    @JsonProperty("InterfaceServiceCode")
    private String eaisvcname;

    /*EAI거래코드*/
    @JsonProperty("InterfaceCode")
    private String eaitranname;

    /*송수신구분코드*/
    @JsonProperty("SendRecvCode")
    private String eaisendrecv;

    /*내외부구분코드*/
    @JsonProperty("InternalExternalCode")
    private String eaidirection;

    /*EAI서버기능구분코드*/
    @JsonProperty("ServerType")
    private String eaisevrdstcd;

    /*수정상태구분코드*/
    @JsonProperty("StatusCode")
    private String modfimgtstusdstcd;

    /*최종수정시간*/
    @JsonProperty("LastDateTime")
    @JsonFormat(pattern = "yyyyMMddHHmmssSSS")
    private LocalDateTime eailastamndyms;

    @JsonProperty("standardMessageItems")
    private List<StandardMessageItemDeploy> standardMessageItemDeploys;

}
