
package com.tmerclub.cloud.order.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * @author lth
 */
public class OrderRefundStatisticsVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 退款金额
     */
    @Schema(description = "退款金额")
    private Long payActualTotal;

    /**
     * 退款商品数量
     */
    @Schema(description = "退款商品数量")
    private Long refundSpuCount;
    /**
     * 退款成功订单数
     */
    @Schema(description = "退款成功订单数")
    private Integer refundCount;
    /**
     * 总订单数
     */
    @Schema(description = "总订单数")
    private Integer totalOrderCount;
    /**
     * 退款原因
     */
    @Schema(description = "退款原因")
    private String buyerReason;

    /**
     * 商品ID
     */
    @Schema(description = "商品ID")
    private Long spuId;
    /**
     * 退款商品名称
     */
    @Schema(description = "退款商品名称")
    private String refundProdName;
    /**
     * 店铺id
     */
    @Schema(description = "店铺id")
    private Long shopId;
    /**
     * 店铺名称
     */
    @Schema(description = "店铺名称")
    private String shopName;
    /**
     * 退款率
     */
    @Schema(description = "退款率")
    private Double refundRate;
    /**
     * 退款日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "退款日期")
    private Date refundDate;
    /**
     * 退款日期
     */
    @Schema(description = "退款日期")
    private String refundDateToString;

    public Long getSpuId() {
        return spuId;
    }

    public void setSpuId(Long spuId) {
        this.spuId = spuId;
    }

    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 Long getPayActualTotal() {
        return payActualTotal;
    }

    public void setPayActualTotal(Long payActualTotal) {
        this.payActualTotal = payActualTotal;
    }

    public Integer getRefundCount() {
        return refundCount;
    }

    public void setRefundCount(Integer refundCount) {
        this.refundCount = refundCount;
    }

    public String getBuyerReason() {
        return buyerReason;
    }

    public void setBuyerReason(String buyerReason) {
        this.buyerReason = buyerReason;
    }

    public String getRefundProdName() {
        return refundProdName;
    }

    public void setRefundProdName(String refundProdName) {
        this.refundProdName = refundProdName;
    }

    public Date getRefundDate() {
        return refundDate;
    }

    public void setRefundDate(Date refundDate) {
        this.refundDate = refundDate;
    }

    public String getRefundDateToString() {
        return refundDateToString;
    }

    public void setRefundDateToString(String refundDateToString) {
        this.refundDateToString = refundDateToString;
    }

    public Integer getTotalOrderCount() {
        return totalOrderCount;
    }

    public void setTotalOrderCount(Integer totalOrderCount) {
        this.totalOrderCount = totalOrderCount;
    }

    public Double getRefundRate() {
        return refundRate;
    }

    public void setRefundRate(Double refundRate) {
        this.refundRate = refundRate;
    }

    public Long getRefundSpuCount() {
        return refundSpuCount;
    }

    public void setRefundSpuCount(Long refundSpuCount) {
        this.refundSpuCount = refundSpuCount;
    }

    @Override
    public String toString() {
        return "OrderRefundStatisticsVO{" +
                "payActualTotal=" + payActualTotal +
                ", refundSpuCount=" + refundSpuCount +
                ", refundCount=" + refundCount +
                ", totalOrderCount=" + totalOrderCount +
                ", buyerReason='" + buyerReason + '\'' +
                ", spuId=" + spuId +
                ", refundProdName='" + refundProdName + '\'' +
                ", shopId=" + shopId +
                ", shopName='" + shopName + '\'' +
                ", refundRate=" + refundRate +
                ", refundDate=" + refundDate +
                ", refundDateToString='" + refundDateToString + '\'' +
                '}';
    }
}
