
package com.tmerclub.cloud.payment.vo;

import com.tmerclub.cloud.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 退款信息VO
 *
 * @author tmerclub
 * @date 2021-03-15 15:26:03
 */
public class RefundInfoVO extends BaseVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "退款单号")
    private Long refundId;

    @Schema(description = "关联的支付订单id")
    private Long orderId;

    @Schema(description = "关联的支付单id")
    private Long payId;

    @Schema(description = "回调时间")
    private Date callbackTime;

    @Schema(description = "店铺id 0是平台")
    private Long shopId;

    @Schema(description = "店铺名称 平台是官方店")
    private String shopName;

    @Schema(description = "退款时间")
    private Date refundTime;

    @Schema(description = "退款入口[0订单 1充值 2开通会员]")
    private Integer payEntry;

    /**
     * @see com.tmerclub.cloud.common.constant.PayType
     */
    @Schema(description = "支付方式")
    private Integer payType;

    @Schema(description = "支付积分")
    private Long scoreCount;

    @Schema(description = "支付宝金额")
    private Long alipayAmount;

    @Schema(description = "微信金额")
    private Long wechatAmount;

    @Schema(description = "余额金额")
    private Long balanceAmount;

    @Schema(description = "合计")
    private Long refundAmount;

    public Long getRefundId() {
        return refundId;
    }

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

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Long getPayId() {
        return payId;
    }

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

    public Date getCallbackTime() {
        return callbackTime;
    }

    public void setCallbackTime(Date callbackTime) {
        this.callbackTime = callbackTime;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public Date getRefundTime() {
        return refundTime;
    }

    public void setRefundTime(Date refundTime) {
        this.refundTime = refundTime;
    }

    public Integer getPayEntry() {
        return payEntry;
    }

    public void setPayEntry(Integer payEntry) {
        this.payEntry = payEntry;
    }

    public Integer getPayType() {
        return payType;
    }

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

    public Long getScoreCount() {
        return scoreCount;
    }

    public void setScoreCount(Long scoreCount) {
        this.scoreCount = scoreCount;
    }

    public Long getAlipayAmount() {
        return alipayAmount;
    }

    public void setAlipayAmount(Long alipayAmount) {
        this.alipayAmount = alipayAmount;
    }

    public Long getWechatAmount() {
        return wechatAmount;
    }

    public void setWechatAmount(Long wechatAmount) {
        this.wechatAmount = wechatAmount;
    }

    public Long getBalanceAmount() {
        return balanceAmount;
    }

    public void setBalanceAmount(Long balanceAmount) {
        this.balanceAmount = balanceAmount;
    }

    public Long getRefundAmount() {
        return refundAmount;
    }

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

    @Override
    public String toString() {
        return "RefundInfoVO{" +
                "refundId=" + refundId +
                ", orderId=" + orderId +
                ", payId=" + payId +
                ", callbackTime=" + callbackTime +
                ", shopId=" + shopId +
                ", shopName='" + shopName + '\'' +
                ", refundTime=" + refundTime +
                ", payEntry=" + payEntry +
                ", payType=" + payType +
                ", scoreCount=" + scoreCount +
                ", alipayAmount=" + alipayAmount +
                ", wechatAmount=" + wechatAmount +
                ", balanceAmount=" + balanceAmount +
                ", refundAmount=" + refundAmount +
                '}';
    }
}
