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

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import lombok.Data;

/**
 * @author admin
 * @since 2024/6/10 下午8:58
 **/
@Data
@ApiModel(value = "店员业绩返回数据", description = "店员业绩统计信息的返回数据")
public class PlayClerkPerformanceInfoReturnVo {

    /**
     * 店员ID
     */
    @ApiModelProperty(value = "店员ID", example = "1")
    private String clerkId;

    /**
     * 店员昵称
     */
    @ApiModelProperty(value = "店员昵称", example = "张三")
    private String clerkNickname;

    /**
     * 店员昵称
     */
    @ApiModelProperty(value = "店员性别", example = "1", notes = "1男2女")
    private String clerkSex;
    /**
     * 分组名称
     */
    @ApiModelProperty(value = "分组名称", example = "销售组")
    private String groupName = "";
    /**
     * 分组名称
     */
    @ApiModelProperty(value = "等级名称", example = "初级")
    private String levelName = "";
    /**
     * 在线时长
     */
    @ApiModelProperty(value = "在线时长", example = "120", notes = "单位：分钟")
    private Integer onlineDuration = 0;
    /**
     * 订单总数
     */
    @ApiModelProperty(value = "订单总数", example = "10")
    private Integer orderNumber = 0;
    /**
     * 首单数
     */
    @ApiModelProperty(value = "首单数", example = "5")
    private Integer orderFirstNumber = 0;
    /**
     * 续单数
     */
    @ApiModelProperty(value = "续单数", example = "5")
    private Integer orderContinueNumber = 0;
    /**
     * 退款单数
     */
    @ApiModelProperty(value = "退款单数", example = "1")
    private Integer orderRefundNumber = 0;
    /**
     * 超时未接单数
     */
    @ApiModelProperty(value = "超时未接单数", example = "1")
    private Integer ordersExpiredNumber = 0;

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

    /**
     * 订单最终金额（支付金额）
     */
    @ApiModelProperty(value = "支付金额", example = "900.00", notes = "订单最终金额（支付金额）")
    private BigDecimal finalAmount = BigDecimal.ZERO;

    /**
     * 充值金额
     */
    @ApiModelProperty(value = "充值金额", example = "500.00")
    private BigDecimal rechargeAmount = BigDecimal.ZERO;
    /**
     * 首单金额
     */
    @ApiModelProperty(value = "首单金额", example = "300.00")
    private BigDecimal orderFirstAmount = BigDecimal.ZERO;
    /**
     * 续单金额
     */
    @ApiModelProperty(value = "续单金额", example = "600.00")
    private BigDecimal orderTotalAmount = BigDecimal.ZERO;
    /**
     * 打赏金额
     */
    @ApiModelProperty(value = "打赏金额", example = "100.00")
    private BigDecimal orderRewardAmount = BigDecimal.ZERO;
    /**
     * 退款金额
     */
    @ApiModelProperty(value = "退款金额", example = "50.00")
    private BigDecimal orderRefundAmount = BigDecimal.ZERO;
    /**
     * 用户数
     */
    @ApiModelProperty(value = "用户数", example = "8")
    private Integer customNumber = 0;

    /**
     * 连续用户数
     */
    @ApiModelProperty(value = "连续用户数", example = "3")
    private final Integer continuousCustomNumber = 0;
    /**
     * 续单比例
     */
    @ApiModelProperty(value = "续单比例", example = "0.5", notes = "续单数/订单总数")
    private final BigDecimal orderContinueProportion = BigDecimal.ZERO;
    /**
     * 订单平均价格
     */
    @ApiModelProperty(value = "订单平均价格", example = "90.00")
    private final BigDecimal averageUnitPrice = BigDecimal.ZERO;

    /**
     * 续费率
     */
    @ApiModelProperty(value = "续费率", example = "0.6")
    private BigDecimal orderContinueRechargeProportion = BigDecimal.ZERO;
    /**
     * 退单率
     */
    @ApiModelProperty(value = "退单率", example = "0.1")
    private BigDecimal orderChargebackProportion = BigDecimal.ZERO;
    /**
     * 续客率
     */
    @ApiModelProperty(value = "续客率", example = "0.4")
    private BigDecimal continuousCustomProportion = BigDecimal.ZERO;
    /**
     * 店员预计收入
     */
    @ApiModelProperty(value = "预计收入", example = "450.00")
    private BigDecimal estimatedRevenue = BigDecimal.ZERO;

    /**
     * 统计时间
     */
    @ApiModelProperty(value = "统计时间", example = "2024-06-01")
    private String performanceDate;

}
