
package com.tmerclub.cloud.payment.bo;

import com.tmerclub.cloud.common.constant.PayType;

import java.io.Serial;
import java.io.Serializable;

/**
 * 退款信息
 * @author tmerclub
 */
public class RefundInfoBO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 支付方式
     */
    private PayType payType;

    /**
     * 支付单号
     */
    private Long payId;

    /**
     * 支付单号
     */
    private Long refundId;

    /**
     * 退款序号
     */
    private Integer refundNumber;

    /**
     * 付款金额
     */
    private Long payAmount;

    /**
     * 退款金额
     */
    private Long refundAmount;

    /**
     * 通知结果
     */
    private String notifyUrl;

    /**
     * 是否直接退款
     */
    private Integer onlyRefund;

    private Long userId;

    /**
     * 需要退款的用户,通常为商家id
     */
    private Long bizUserId;

    public Long getBizUserId() {
        return bizUserId;
    }

    public void setBizUserId(Long bizUserId) {
        this.bizUserId = bizUserId;
    }

    public Integer getRefundNumber() {
        return refundNumber;
    }

    public void setRefundNumber(Integer refundNumber) {
        this.refundNumber = refundNumber;
    }

    public PayType getPayType() {
        return payType;
    }

    public void setPayType(PayType payType) {
        this.payType = payType;
    }

    public Long getPayId() {
        return payId;
    }

    public void setPayId(Long payId) {
        this.payId = payId;
    }

    public Long getRefundId() {
        return refundId;
    }

    public void setRefundId(Long refundId) {
        this.refundId = refundId;
    }

    public Long getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(Long payAmount) {
        this.payAmount = payAmount;
    }

    public Long getRefundAmount() {
        return refundAmount;
    }

    public void setRefundAmount(Long refundAmount) {
        this.refundAmount = refundAmount;
    }

    public String getNotifyUrl() {
        return notifyUrl;
    }

    public void setNotifyUrl(String notifyUrl) {
        this.notifyUrl = notifyUrl;
    }

    public Integer getOnlyRefund() {
        return onlyRefund;
    }

    public void setOnlyRefund(Integer onlyRefund) {
        this.onlyRefund = onlyRefund;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    @Override
    public String toString() {
        return "RefundInfoBO{" +
                "payType=" + payType +
                ", payId=" + payId +
                ", refundId=" + refundId +
                ", refundNumber=" + refundNumber +
                ", payAmount=" + payAmount +
                ", refundAmount=" + refundAmount +
                ", notifyUrl='" + notifyUrl + '\'' +
                ", onlyRefund=" + onlyRefund +
                ", userId=" + userId +
                ", bizUserId=" + bizUserId +
                '}';
    }
}
