
package com.tmerclub.cloud.common.order.vo;

import io.swagger.v3.oas.annotations.media.Schema;

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

/**
 * 用户相关订单统计数据
 *
 * @author: cl
 * @date: 2021-04-14 14:04:01
 */
public class UserOrderStatisticVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "用户id")
    private Long userId;

    @Schema(description = "最近消费时间")
    private Date reConsTime;

    @Schema(description = "消费金额")
    private BigDecimal consAmount;

    @Schema(description = "实付金额")
    private BigDecimal actualAmount;

    @Schema(description = "消费次数")
    private Integer consTimes;

    @Schema(description = "下单次数")
    private Integer allCount;

    @Schema(description = "平均折扣")
    private BigDecimal averDiscount;

    @Schema(description = "优惠总金额")
    private BigDecimal reduceAmount;

    @Schema(description = "售后金额")
    private BigDecimal afterSaleAmount;

    @Schema(description = "售后次数")
    private Integer afterSaleTimes;

    public Long getUserId() {
        return userId;
    }

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

    public Date getReConsTime() {
        return reConsTime;
    }

    public void setReConsTime(Date reConsTime) {
        this.reConsTime = reConsTime;
    }

    public BigDecimal getConsAmount() {
        return consAmount;
    }

    public void setConsAmount(BigDecimal consAmount) {
        this.consAmount = consAmount;
    }

    public BigDecimal getActualAmount() {
        return actualAmount;
    }

    public void setActualAmount(BigDecimal actualAmount) {
        this.actualAmount = actualAmount;
    }

    public Integer getConsTimes() {
        return consTimes;
    }

    public void setConsTimes(Integer consTimes) {
        this.consTimes = consTimes;
    }

    public BigDecimal getAverDiscount() {
        return averDiscount;
    }

    public void setAverDiscount(BigDecimal averDiscount) {
        this.averDiscount = averDiscount;
    }

    public BigDecimal getReduceAmount() {
        return reduceAmount;
    }

    public void setReduceAmount(BigDecimal reduceAmount) {
        this.reduceAmount = reduceAmount;
    }

    public BigDecimal getAfterSaleAmount() {
        return afterSaleAmount;
    }

    public void setAfterSaleAmount(BigDecimal afterSaleAmount) {
        this.afterSaleAmount = afterSaleAmount;
    }

    public Integer getAfterSaleTimes() {
        return afterSaleTimes;
    }

    public void setAfterSaleTimes(Integer afterSaleTimes) {
        this.afterSaleTimes = afterSaleTimes;
    }

    public Integer getAllCount() {
        return allCount;
    }

    public void setAllCount(Integer allCount) {
        this.allCount = allCount;
    }

    @Override
    public String toString() {
        return "UserOrderStatisticVO{" +
                "userId=" + userId +
                ", reConsTime=" + reConsTime +
                ", consAmount=" + consAmount +
                ", actualAmount=" + actualAmount +
                ", consTimes=" + consTimes +
                ", allCount=" + allCount +
                ", averDiscount=" + averDiscount +
                ", reduceAmount=" + reduceAmount +
                ", afterSaleAmount=" + afterSaleAmount +
                ", afterSaleTimes=" + afterSaleTimes +
                '}';
    }
}
