
package com.tmerclub.cloud.api.product.dto;

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

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

/**
 * @author Pineapple
 * @date 2021/5/21 16:05
 */
@Data
public class ProdEffectDTO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 时间类型 1.日 2.周 3.月 4.今日实时 5.近七天 6.近30天 7.自定义
     * FlowTimeTypeEnum
     */
    @Schema(description = "时间类型 1.日 3.月 4.今日实时 5.近七天 6.近30天")
    private Integer dateType;
    /**
     * 开始时间
     */
    @Schema(description = "开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;
    /**
     * 结束时间
     */
    @Schema(description = "结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * limit使用起始页
     */
    @Schema(description = "前端不传字段")
    private Integer begin;

    /**
     * limit使用大小
     */
    @Schema(description = "前端不传字段")
    private Integer size;

    /**
     * 当前语言
     */
    @Schema(description = "当前语言，前端不传")
    private Integer lang;

    /**
     * 店铺id
     */
    @Schema(description = "店铺id，前端不传字段")
    private Long shopId;

    @Schema(description = "排序字段(0:曝光次数, 1:曝光人数, 2:加购人数, 3:加购件数, 4:下单人数, 5:支付人数, " +
            "6:下单件数, 7:支付件数, 8:下单金额, 9:支付金额, 10:申请退款订单数, " +
            "11:申请退款人数, 12:成功退款订单数, 13:成功退款人数, 14:成功退款金额, 15:退款率)")
    private Integer sortParam;

    @Schema(description = "排序顺序(0:降序, 1:升序)")
    private Integer sortType;


    @Override
    public String toString() {
        return "ProdEffectDTO{" +
                "dateType=" + dateType +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", begin=" + begin +
                ", size=" + size +
                ", lang=" + lang +
                ", shopId=" + shopId +
                ", sortParam=" + sortParam +
                ", sortType=" + sortType +
                '}';
    }
}
