package com.brilliance.isc.bo;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.common.json.BigDecimalSerialize;
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 SptVo {

    //Internal Unique ID of Pending Transaction
    private String inr = NULLSTR;

    //INR of Message Optional
    private String smhinr = NULLSTR;

    //Transaction Used to Reload/Process
    private String frm = NULLSTR;

    //External Readable Object Identification
    private String objnam = NULLSTR;

    //SWIFT TYPE
    private String msgtyp = NULLSTR;

    //Status
    private String sta = NULLSTR;

    //Relevant Currency Optional
    private String relcur = NULLSTR;

    //Relevant Amount Optional
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal relamt  = Decimals.ZERO_SCALE2;

    //Time of Creation
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date dattim = NULLDATE;

    //branch  name
    private String bchname = NULLSTR;

    //BCHKEY INR
    private String bchkeyinr = NULLSTR;
}
