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 chiley
 * @date 2022/6/27 16:54
 */
@Data
@ToString
@Schema(description = "供应商订单概况信息VO")
public class SupplierOrderOverviewVO extends OrderOverviewVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 今天付款金额
     */
    @Schema(description = "今天付款金额")
    private Double todayPayActual;
    /**
     * 昨天付款金额
     */
    @Schema(description = "昨天付款金额")
    private Double yesterdayPayActual;
    /**
     * 较前一日支付金额变化比率
     */
    @Schema(description = "较前一日支付金额变化比率")
    private Double yesterdayPayActualRate;
    /**
     * 时间日期列表
     */
    @Schema(description = "时间日期列表")
    private List<Date> payDateList;
    /**
     * 时间日期展示列表
     */
    @Schema(description = "时间日期展示列表")
    private List<String> dateToStringList;
    /**
     * 今天新增客户数
     */
    @Schema(description = "今天新增客户数")
    private Integer todayNewUserCount;
    /**
     * 昨天新增客户数
     */
    @Schema(description = "昨天新增客户数")
    private Integer yesterdayNewUserCount;

    /**
     * 今日支付客户数
     */
    @Schema(description = "今日支付客户数")
    private Integer todayPayUserCount;
    /**
     * 昨日支付客户数
     */
    @Schema(description = "昨日支付客户数")
    private Integer yesterdayPayUserCount;
    /**
     * 较前一日支付客户数变化比率
     */
    @Schema(description = "较前一日支付客户数变化比率")
    private Double yesterdayPayUserRate;
    /**
     * 今天退款金额
     */
    @Schema(description = "今天退款金额")
    private Long todayRefundAmount;
    /**
     * 昨天退款金额
     */
    @Schema(description = "昨天退款金额")
    private Long yesterdayRefundAmount;
    /**
     * 较前一日退款金额变化比率
     */
    @Schema(description = "较前一日退款金额变化比率")
    private Double yesterdayRefundRate;
    /**
     * 今日销售商品数
     */
    @Schema(description = "今日销售商品数")
    private Integer todayProdSoldNums;
    /**
     * 昨日销售商品数
     */
    @Schema(description = "昨日销售商品数")
    private Integer yesterdayProdSoldNums;
    /**
     * 较前一日销售商品数变化比率
     */
    @Schema(description = "较前一日销售商品数变化比率")
    private Double yesterdayProdSoldNumsRate;
    /**
     * 今天商品销售量列表
     */
    @Schema(description = "今天售出商品数量列表")
    private List<Integer> todayProdSoldCountList;
    /**
     * 昨天商品销售量列表
     */
    @Schema(description = "昨天售出商品数量列表")
    private List<Integer> yesterdayProdSoldCountList;

    @Schema(description = "以天为单位的交易金额列表")
    private List<Double> payActualList;
    /**
     * 客单价
     */
    @Schema(description = "客单价")
    private Double onePrice;
    /**
     * 较前一日客单价变化比率
     */
    @Schema(description = "较前一日客单价变化比率")
    private Double yesterdayOnePriceRate;
    /**
     * 店铺id
     */
    @Schema(description = "店铺id")
    private Long shopId;
    /**
     * 店铺名称
     */
    @Schema(description = "店铺名称")
    private String shopName;

    @Override
    public Double getYesterdayPayActualRate() {
        return yesterdayPayActualRate;
    }

    @Override
    public void setYesterdayPayActualRate(Double yesterdayPayActualRate) {
        this.yesterdayPayActualRate = yesterdayPayActualRate;
    }
    @Override
    public List<Date> getPayDateList() {
        return payDateList;
    }

    @Override
    public void setPayDateList(List<Date> payDateList) {
        this.payDateList = payDateList;
    }

    @Override
    public List<String> getDateToStringList() {
        return dateToStringList;
    }

    @Override
    public void setDateToStringList(List<String> dateToStringList) {
        this.dateToStringList = dateToStringList;
    }


    @Override
    public Double getYesterdayPayUserRate() {
        return yesterdayPayUserRate;
    }

    @Override
    public void setYesterdayPayUserRate(Double yesterdayPayUserRate) {
        this.yesterdayPayUserRate = yesterdayPayUserRate;
    }

    @Override
    public Double getYesterdayRefundRate() {
        return yesterdayRefundRate;
    }

    @Override
    public void setYesterdayRefundRate(Double yesterdayRefundRate) {
        this.yesterdayRefundRate = yesterdayRefundRate;
    }

    @Override
    public List<Double> getPayActualList() {
        return payActualList;
    }

    @Override
    public void setPayActualList(List<Double> payActualList) {
        this.payActualList = payActualList;
    }

    @Override
    public Double getOnePrice() {
        return onePrice;
    }

    @Override
    public void setOnePrice(Double onePrice) {
        this.onePrice = onePrice;
    }

    @Override
    public Double getYesterdayOnePriceRate() {
        return yesterdayOnePriceRate;
    }

    @Override
    public void setYesterdayOnePriceRate(Double yesterdayOnePriceRate) {
        this.yesterdayOnePriceRate = yesterdayOnePriceRate;
    }

    @Override
    public Long getShopId() {
        return shopId;
    }

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

    @Override
    public String getShopName() {
        return shopName;
    }

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