package com.brilliance.isc.bo;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.common.json.BigDecimalSerialize;
import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

import static com.brilliance.mda.runtime.mda.Constants.NULLDATE;
import static com.brilliance.mda.runtime.mda.Constants.NULLSTR;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class Sefrat extends AbstractCommonVo {
    //唯一流号
    private String inr = NULLSTR;

    //自助售汇优惠币种
    private String sefhepcur = NULLSTR;

    //自助售汇优惠类型
    private String sefheptyp = NULLSTR;

    //自助售汇优惠比例/点数
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal sefheprat  = Decimals.ZERO_SCALE2;

    //自助售汇优惠有效期起始日
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date sefhepdatfrm = NULLDATE;

    //自助售汇优惠有效期截止日
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date sefhepdatend = NULLDATE;

    //自助售汇提前申请时限
    private  int sefhepappday ;

    //自助售汇单笔限额
    @JsonSerialize(using = BigDecimalSerialize.class)
    private  BigDecimal sefheplmtamt  = Decimals.ZERO_SCALE2;

    //自助售汇开始时HH:MM:SS
    private String sefheptimfrm = NULLSTR;

    //自助售汇结束时HH:MM:SS
    private String sefheptimend = NULLSTR;

    //PTY唯一流号
    private String ptyinr = NULLSTR;

    //全局参数提前申请时限最小值
    private  int minappday ;

    //全局参数提前申请时限最大值
    private  int maxappday ;

    //全局参数交易开始时
    private String mintim = NULLSTR;

    //全局参数交易截止时
    private String maxtim = NULLSTR;

    //单笔限额最大值
    @JsonSerialize(using = BigDecimalSerialize.class)
    private  BigDecimal maxlmtamt  = Decimals.ZERO_SCALE2;

    //优惠类型（汇/售汇）
    private String rattyp = NULLSTR;

    //参数类型
    private String pratyp = NULLSTR;

    //客户ECIF号
    private String ecifno = NULLSTR;

    //客户名称
    private String cusnam = NULLSTR;

    //所属分行机构号
    private String bchkey = NULLSTR;

    //白名单标识
    private String allowlistflg = NULLSTR;
}
