
package com.czg.market.dto;

import com.czg.PageQueryParam;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

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

/**
 * 分销员表 实体类。
 *
 * @author ww
 * @since 2025-10-27
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class MkDistributionUserDTO extends PageQueryParam implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 分销员ID，主键自增
     */
    private Long id;

    /**
     * 分销等级
     */
    private Long distributionLevelId;

    /**
     * 分销等级名称
     */
    private String distributionLevelName;

    /**
     * 是否分配了分销等级 0 未分配 1 已分配
     */
    private Integer isAssignLevel;

    /**
     * 总收益
     */
    private BigDecimal totalIncome;

    /**
     * 待入账金额
     */
    private BigDecimal pendingIncome;

    /**
     * 已入账金额
     */
    private BigDecimal receivedIncome;

    /**
     * 已提现金额
     */
    private BigDecimal withdrawnIncome;

    /**
     * 邀请人数
     */
    private Integer inviteCount;
    /**
     * 已消费金额
     */
    private BigDecimal consumeAmount;

    /**
     * 如：自主申请、付费开通、手动添加
     */
    private String openingMethod;


    /**
     * 默认 0 不分钱 1 正常分销员 9 被取消的分销员
     */
    private Integer status;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 用户头像
     */
    private String headImg;

    /**
     * 用户名称
     */
    private String shopUserName;
    /**
     * 手机号
     */
    private String shopUserPhone;

    /**
     * 邀请码
     */
    private String inviteCode;

}
