package com.starry.admin.modules.clerk.module.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import java.time.LocalDate;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * @author admin
 * @since 2024/6/7 上午9:49
 **/
@Data
public class IPlayClerkRankingInfoReturnVo {

    /**
     * UUID
     */
    private String id;

    /**
     * 租户ID
     */
    private String tenantId;

    /**
     * 店员ID
     */
    private String clerkId;

    /**
     * 店员性别[0:未知;1:男;2:女]
     */
    private String clerkSex;

    /**
     * 店员昵称
     */
    private String clerkNickname;

    /**
     * 店员分组名称
     */
    private String clerkGroupName;

    /**
     * 排序名次
     */
    private Integer rankingIndex;

    /**
     * 开始统计时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate startCountDate;

    /**
     * 结束统计时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate endCountDate;

    /**
     * 订单总数
     */
    private Integer orderNumber;

    /**
     * 订单金额
     */
    private BigDecimal orderMoney;

    /**
     * 续单数
     */
    private Integer orderContinueNumber;

    /**
     * 续单金额
     */
    private BigDecimal orderContinueMoney;

    /**
     * 超时未接单数量
     */
    private Integer ordersExpiredNumber = 0;

    /**
     * 续单比例
     */
    private BigDecimal orderContinueProportion = BigDecimal.ZERO;

    /**
     * 用户数
     */
    private Integer customNumber;

    /**
     * 订单平均价格
     */
    private BigDecimal averageUnitPrice = BigDecimal.ZERO;
    /**
     * 距离前一名相差金额
     */
    private BigDecimal previousMoney;

    /**
     * 统计时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate settlementDate;

}
