
package com.tmerclub.cloud.order.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;

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

/**
 * @author lth
 */
@Data
@ToString
@Schema(description = "订单概况信息VO")
public class OrderOverviewVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 支付金额
     */
    @Schema(description = "支付金额")
    private Double payActual;
    /**
     * 较前一日支付金额变化比率
     */
    @Schema(description = "较前一日支付金额变化比率")
    private Double yesterdayPayActualRate;
    /**
     * 支付金额列表
     */
    @Schema(description = "支付金额列表")
    private List<Double> payActualList;
    /**
     * 前一天支付金额列表
     */
    @Schema(description = "前一天支付金额列表")
    private List<Double> yesterdayPayActualList;
    /**
     * 时间日期列表
     */
    @Schema(description = "时间日期列表")
    private List<Date> payDateList;
    /**
     * 时间日期展示列表
     */
    @Schema(description = "时间日期展示列表")
    private List<String> dateToStringList;
    /**
     * 支付客户数
     */
    @Schema(description = "支付客户数")
    private Integer payUserCount;
    /**
     * 较前一日支付客户数变化比率
     */
    @Schema(description = "较前一日支付客户数变化比率")
    private Double yesterdayPayUserRate;
    /**
     * 支付订单数
     */
    @Schema(description = "支付订单数")
    private Integer payOrderCount;
    /**
     * 较前一日支付订单数变化比率
     */
    @Schema(description = "较前一日支付订单数变化比率")
    private Double yesterdayPayOrderRate;
    /**
     * 退单数
     */
    @Schema(description = "退单数")
    private Integer chargebackCount;
    /**
     * 退款金额
     */
    @Schema(description = "退款金额")
    private Long refund;
    /**
     * 较前一日退款金额变化比率
     */
    @Schema(description = "较前一日退款金额变化比率")
    private Double yesterdayRefundRate;
    /**
     * 客单价
     */
    @Schema(description = "客单价")
    private Double onePrice;
    /**
     * 较前一日客单价变化比率
     */
    @Schema(description = "较前一日客单价变化比率")
    private Double yesterdayOnePriceRate;
    /**
     * 时间展示数据
     */
    @Schema(description = "时间展示数据")
    private String timeData;
    /**
     * 支付天数
     */
    @Schema(description = "支付天数")
    private Date payDay;
    /**
     * 商品名称
     */
    @Schema(description = "商品名称")
    private String spuName;
    /**
     * 店铺id
     */
    @Schema(description = "店铺id")
    private Long shopId;
    /**
     * 店铺名称
     */
    @Schema(description = "店铺名称")
    private String shopName;

    @Schema(description = "本月支付金额")
    private Double currentMonthPayActual;

    /**
     * 商品id
     */
    private Long spuId;

}
