package com.greenorange.promotion.model.vo.userPerformanceSummary;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 用户详细信息绩效汇总 视图对象
 */
@Data
@Schema(description = "用户详细信息绩效汇总 视图对象")
public class UserPerformanceSummaryDetailVO implements Serializable {

    /**
     * 用户绩效汇总ID
     */
    @Schema(description = "用户绩效汇总ID", example = "1")
    private Long id;

    /**
     * 用户昵称
     */
    @Schema(description = "用户昵称", example = "chenxinzhi")
    private String nickName;

    /**
     * 手机号
     */
    @Schema(description = "手机号", example = "15888610253")
    private String phoneNumber;

    /**
     * 订单总金额
     */
    @Schema(description = "订单总金额", example = "15.00")
    private BigDecimal totalAmount;

    /**
     * 净成交
     */
    @Schema(description = "净成交", example = "20.00")
    private BigDecimal netAmount;

    /**
     * 推广人数
     */
    @Schema(description = "推广人数", example = "300")
    private Integer promoCount;

    /**
     * 员工数量
     */
    @Schema(description = "员工数量", example = "20")
    private Integer empCount;

    /**
     * 下单数量
     */
    @Schema(description = "下单数量", example = "100")
    private Integer orderCount;

    /**
     * 待释放
     */
    @Schema(description = "待释放", example = "10.00")
    private BigDecimal toRelease;

    /**
     * 可结算
     */
    @Schema(description = "可结算", example = "30.00")
    private BigDecimal toSettle;

    /**
     * 已结算
     */
    @Schema(description = "已结算", example = "40.00")
    private BigDecimal settled;

    /**
     * 已回退
     */
    @Schema(description = "已回退", example = "20.00")
    private BigDecimal refunded;

    /**
     * 用户id
     */
    @Schema(description = "用户id", example = "1")
    private Long userId;

    /**
     * 抽成比例
     */
    @Schema(description = "抽成比例", example = "0.05")
    private BigDecimal rakeRewardsRate;


    @Serial
    private static final long serialVersionUID = 1L;
}
