Untitled

 avatar
unknown
plain_text
2 months ago
4.4 kB
3
Indexable
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

import java.util.List;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class GenericOnlineMandateVerificationResponse {

    @JacksonXmlProperty(localName = "Body")
    private Body body;

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Body {
        @JacksonXmlProperty(localName = "doGenericOnlineMandateVerificationResponse")
        private DoGenericOnlineMandateVerificationResponse response;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class DoGenericOnlineMandateVerificationResponse {
        @JacksonXmlProperty(localName = "return")
        private Return aReturn;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Return {
        @JacksonXmlProperty(localName = "status")
        private Status status;

        @JacksonXmlProperty(localName = "additionalInformationDTO")
        private AdditionalInformationDTO additionalInformationDTO;

        @JacksonXmlProperty(localName = "mandateDetailsDTO")
        private MandateDetailsDTO mandateDetailsDTO;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Status {
        @JacksonXmlProperty(localName = "errorCode")
        private int errorCode;

        @JacksonXmlProperty(localName = "extendedReply")
        private String extendedReply;

        @JacksonXmlProperty(localName = "externalReferenceNo")
        private String externalReferenceNo;

        @JacksonXmlProperty(localName = "internalReferenceNumber")
        private String internalReferenceNumber;

        @JacksonXmlProperty(localName = "isOverriden")
        private boolean isOverridden;

        @JacksonXmlProperty(localName = "postingDate")
        private PostingDate postingDate;

        @JacksonXmlProperty(localName = "replyCode")
        private int replyCode;

        @JacksonXmlProperty(localName = "replyText")
        private String replyText;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class PostingDate {
        @JacksonXmlProperty(localName = "dateString")
        private String dateString;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class AdditionalInformationDTO {
        @JacksonXmlElementWrapper(localName = "nameValuePairDTOArray", useWrapping = false)
        @JacksonXmlProperty(localName = "nameValuePairDTO")
        private List<NameValuePairDTO> nameValuePairDTOArray;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class NameValuePairDTO {
        @JacksonXmlProperty(localName = "name")
        private String name;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class MandateDetailsDTO {
        @JacksonXmlProperty(localName = "amt_type")
        private String amtType;

        @JacksonXmlProperty(localName = "applicantName")
        private String applicantName;

        @JacksonXmlProperty(localName = "cod_acct_no")
        private String codAcctNo;

        @JacksonXmlProperty(localName = "cod_frequency")
        private String codFrequency;

        @JacksonXmlProperty(localName = "cod_mandate_ref_no")
        private String codMandateRefNo;

        @JacksonXmlProperty(localName = "cod_mandate_stage")
        private String codMandateStage;

        @JacksonXmlProperty(localName = "cod_mandate_status")
        private String codMandateStatus;

        @JacksonXmlProperty(localName = "dat_end")
        private String datEnd;

        @JacksonXmlProperty(localName = "dat_start")
        private String datStart;

        @JacksonXmlProperty(localName = "txn_amt")
        private double txnAmt;

        @JacksonXmlProperty(localName = "ext_txn_ref_no")
        private String extTxnRefNo;

        @JacksonXmlProperty(localName = "merchant_id")
        private String merchantId;

        @JacksonXmlProperty(localName = "ref_usr_no")
        private String refUsrNo;

        @JacksonXmlProperty(localName = "date_txn_timeStamp")
        private String dateTxnTimeStamp;

        // Add all other fields from mandateDetailsDTO here
    }
}
Leave a Comment