package com.starry.admin.modules.custom.module.vo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
import lombok.Data;

/**
 * 顾客分页查询返回对象
 *
 * @author admin
 * @since 2024/5/14 下午7:47
 **/
@Data
@ApiModel(value = "顾客排名返回数据", description = "顾客消费排名信息的返回数据")
public class PlayCustomRankingReturnVo {
    /**
     * UUID
     */
    @ApiModelProperty(value = "顾客ID", example = "1")
    private String id;

    /**
     * 顾客昵称
     */
    @ApiModelProperty(value = "顾客昵称", example = "张三")
    private String nickname;

    /**
     * 头像
     */
    @ApiModelProperty(value = "头像", example = "https://example.com/avatar.jpg")
    private String avatar;

    /**
     * 排名
     */
    @ApiModelProperty(value = "排名", example = "1", notes = "顾客消费排名索引")
    private Integer rankingIndex;

    /**
     * 订单列表
     */
    @JsonIgnore
    @ApiModelProperty(value = "订单列表", hidden = true)
    private List<PlayOrderInfoEntity> orderInfos;

    /**
     * 下单时间-起始时间
     */
    @ApiModelProperty(value = "下单起始时间", example = "2024-01-01 00:00:00")
    private String beginPurchaserTime;

    /**
     * 下单时间-终止时间
     */
    @ApiModelProperty(value = "下单终止时间", example = "2024-12-31 23:59:59")
    private String endPurchaserTime;

    /**
     * 订单总数
     */
    @ApiModelProperty(value = "订单总数", example = "10")
    private String orderNumber;

    /**
     * 续单总数
     */
    @ApiModelProperty(value = "续单总数", example = "5", notes = "顾客续费订单的总数量")
    private String orderContinueNumber;

    /**
     * 订单单价
     */
    @ApiModelProperty(value = "订单单价", example = "100.00")
    private String orderPrice;

    /**
     * 订单总金额
     */
    @ApiModelProperty(value = "订单总金额", example = "1000.00")
    private BigDecimal orderTotalAmount;

    /**
     * 统计时间
     */
    @ApiModelProperty(value = "统计时间", example = "2024-01-01")
    private String statisticalTime = LocalDate.now().toString();

}
