package com.ruoyi.newwxpay.transfer;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.google.gson.annotations.SerializedName;


@JsonIgnoreProperties(ignoreUnknown = true)
public class TransferNotification {
    @SerializedName("out_bill_no")
    private String outBillNo;
    @SerializedName("transfer_bill_no")
    private String transferBillNo;
    @SerializedName("state")
    private String state;

    @SerializedName("mch_id")
    private String mchId;
    @SerializedName("transfer_amount")
    private Long transferAmount;
    @SerializedName("openid")
    private String openid;
    @SerializedName("fail_reason")
    private String failReason;
    @SerializedName("create_time")
    private String createTime;
    @SerializedName("update_time")
    private String updateTime;

    public String getOutBillNo() {
        return outBillNo;
    }

    public void setOutBillNo(String outBillNo) {
        this.outBillNo = outBillNo;
    }

    public String getTransferBillNo() {
        return transferBillNo;
    }

    public void setTransferBillNo(String transferBillNo) {
        this.transferBillNo = transferBillNo;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getMchId() {
        return mchId;
    }

    public void setMchId(String mchId) {
        this.mchId = mchId;
    }

    public Long getTransferAmount() {
        return transferAmount;
    }

    public void setTransferAmount(Long transferAmount) {
        this.transferAmount = transferAmount;
    }

    public String getOpenid() {
        return openid;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }

    public String getFailReason() {
        return failReason;
    }

    public void setFailReason(String failReason) {
        this.failReason = failReason;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public String getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }

    public static class Builder {
        private TransferNotification notification = new TransferNotification();

        public Builder outBillNo(String outBillNo) {
            notification.outBillNo = outBillNo;
            return this;
        }

        public Builder transferBillNo(String transferBillNo) {
            notification.transferBillNo = transferBillNo;
            return this;
        }

        public Builder state(String state) {
            notification.state = state;
            return this;
        }

        public Builder mchId(String mchId) {
            notification.mchId = mchId;
            return this;
        }

        public Builder transferAmount(Long transferAmount) {
            notification.transferAmount = transferAmount;
            return this;
        }

        public Builder openid(String openid) {
            notification.openid = openid;
            return this;
        }

        public Builder failReason(String failReason) {
            notification.failReason = failReason;
            return this;
        }

        public Builder createTime(String createTime) {
            notification.createTime = createTime;
            return this;
        }

        public Builder updateTime(String updateTime) {
            notification.updateTime = updateTime;
            return this;
        }

        public TransferNotification build() {
            return notification;
        }
    }
}
