package com.brilliance.isc.esb.model.swift;

import com.brilliance.isc.esb.model.ErrorData;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * 1002(FM02) gpi查询响应对象
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class Res1002 extends ErrorData {

    /**
     * tag121[0,36]
     */
    private String Uetr;
    /**
     * 业务参考号[0,16]
     */
    private String RefNo;
    /**
     * 状态码[0,4]
     */
    private String GpiStatus;
    /**
     * 原因码[0,4]
     */
    private String GpiStatusCode;
    /**
     * 状态更新时间[0,14]
     */
    private String GpiTimeStamp;
    /**
     * 状态发起行[0,14]
     */
    private String GpiBank;
    /**
     * 转汇银行[0,14]
     */
    private String GpiFwdBank;
    /**
     * 条数
     */
    private String totalnum;
    /**
     * 交易码
     */
    private String JIAOYM;
    /**
     * 成功标志
     */
    private String PTCWDH;
    /**
     * 错误信息
     */
    private String TPU_RETMSG;

    private List<ItemF87092> F87092 = new ArrayList<>();

    @JsonIgnoreProperties(ignoreUnknown = true)
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    private static class ItemF87092 {
        /**
         * 收发标志[0,1]
         */
        private String IoFlag;
        /**
         * 报文类型[0,3]
         */
        private String MsgType;
        /**
         * 服务编号[0,3]
         */
        private String Stid;
        /**
         * uetr编号[0,36]
         */
        private String Uetr;
        /**
         * 参考号[0,16]
         */
        private String RefNo;
        /**
         * 相关参考号[0,16]
         */
        private String RelNo;
        /**
         * 状态码[0,4]
         */
        private String GpiStatus;
        /**
         * 原因码[0,4]
         */
        private String GpiStatusCode;
        /**
         * 状态更新时间[0,14]
         */
        private String GpiTimeStamp;
        /**
         * 状态发起行[0,14]
         */
        private String GpiBank;
        /**
         * 转汇银行[0,14]
         */
        private String GpiFwdBank;
        /**
         * 原起息日[0,8]
         */
        private String ValueDate;
        /**
         * 币种[0,3]
         */
        private String Ccy;
        /**
         * 金额[0,2]
         */
        private String Amt;
        /**
         * 原币种[0,3]
         */
        private String SrcCcy;
        /**
         * 目标币种[0,3]
         */
        private String TranCcy;
        /**
         * 汇率[0,15]
         */
        private String Rate;
        /**
         * 收费币种[0,3]
         */
        private String FeeCur;
        /**
         * 收费金额[0,15]
         */
        private String FeeAmt;
    }

}
