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;

/**
 * 单个店员的业绩快照。
 */
@Data
@ApiModel("店员业绩快照")
public class ClerkPerformanceSnapshotVo {

    @ApiModelProperty("店员ID")
    private String clerkId;

    @ApiModelProperty("店员昵称")
    private String clerkNickname;

    @ApiModelProperty("头像地址")
    private String avatar;

    @ApiModelProperty("店员性别")
    private String sex;

    @ApiModelProperty("所属组名称")
    private String groupName;

    @ApiModelProperty("等级名称")
    private String levelName;

    @ApiModelProperty("GMV（支付金额）")
    private BigDecimal gmv = BigDecimal.ZERO;

    @ApiModelProperty("首单金额")
    private BigDecimal firstOrderAmount = BigDecimal.ZERO;

    @ApiModelProperty("续单金额")
    private BigDecimal continuedOrderAmount = BigDecimal.ZERO;

    @ApiModelProperty("打赏金额")
    private BigDecimal rewardAmount = BigDecimal.ZERO;

    @ApiModelProperty("退款金额")
    private BigDecimal refundAmount = BigDecimal.ZERO;

    @ApiModelProperty("预估工资")
    private BigDecimal estimatedRevenue = BigDecimal.ZERO;

    @ApiModelProperty("订单数量")
    private Integer orderCount = 0;

    @ApiModelProperty("首单数量")
    private Integer firstOrderCount = 0;

    @ApiModelProperty("续单数量")
    private Integer continuedOrderCount = 0;

    @ApiModelProperty("退款订单数量")
    private Integer refundOrderCount = 0;

    @ApiModelProperty("超时未接单数量")
    private Integer expiredOrderCount = 0;

    @ApiModelProperty("用户数量")
    private Integer userCount = 0;

    @ApiModelProperty("复购用户数量")
    private Integer continuedUserCount = 0;

    @ApiModelProperty("续单率")
    private BigDecimal continuedRate = BigDecimal.ZERO;

    @ApiModelProperty("续费率（续单金额/GMV）")
    private BigDecimal continuedAmountRate = BigDecimal.ZERO;

    @ApiModelProperty("退单率")
    private BigDecimal refundRate = BigDecimal.ZERO;

    @ApiModelProperty("续客率")
    private BigDecimal continuedCustomerRate = BigDecimal.ZERO;

    @ApiModelProperty("客单价")
    private BigDecimal averageTicketPrice = BigDecimal.ZERO;

    @ApiModelProperty("在线时长（单位：秒）")
    private Long onlineDuration = 0L;

    @ApiModelProperty("排行榜名次")
    private Integer rank;
}
