package com.red.circle.order.app.common;

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

import java.math.BigDecimal;
import java.util.List;

/**
 * PayerMax汇率查询响应
 *
 * @author system
 */
@Data
public class QuoteQueryResponse {
    
    /**
     * 返回码，'APPLY_SUCCESS'代表成功
     */
    @JsonProperty("code")
    private String code;
    
    /**
     * 返回描述
     */
    @JsonProperty("msg")
    private String msg;
    
    /**
     * 响应数据
     */
    @JsonProperty("data")
    private ResponseData data;
    
    /**
     * 判断是否成功
     */
    public boolean isSuccess() {
        return "APPLY_SUCCESS".equals(code);
    }
    
    @Data
    public static class ResponseData {
        /**
         * 汇率列表
         */
        @JsonProperty("rateList")
        private List<RateInfo> rateList;
    }
    
    @Data
    public static class RateInfo {
        /**
         * 币种对
         */
        @JsonProperty("ccyPair")
        private String ccyPair;
        
        /**
         * 买入价，默认8位小数
         */
        @JsonProperty("bidRate")
        private BigDecimal bidRate;
        
        /**
         * 卖出价，默认8位小数
         */
        @JsonProperty("offerRate")
        private BigDecimal offerRate;
        
        /**
         * 汇率时间，格式yyyy-MM-dd'T'HH:mm:ss.SSSXXX
         */
        @JsonProperty("rateTime")
        private String rateTime;
        
        /**
         * 版本
         */
        @JsonProperty("version")
        private String version;
        
        /**
         * 过期时间，格式yyyy-MM-dd'T'HH:mm:ss.SSSXXX
         */
        @JsonProperty("expiryTime")
        private String expiryTime;
    }
}
