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

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

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

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class UserTeamInfoVO implements Serializable {

    /**
     * 团队人数（不包括自己）
     */
    @Schema(description = "团队人数（不包括自己）", example = "8")
    private Integer teamSize;

    /**
     * 直接代理人数
     */
    @Schema(description = "直接代理人数", example = "5")
    private Integer directAgentSize;

    /**
     * 团队收益
     */
    @Schema(description = "团队收益", example = "25.00")
    private BigDecimal teamEarnings;

    /**
     * 邀请码
     */
    @Schema(description = "邀请码", example = "666999")
    private String invitationCode;

    /**
     * 邀请二维码
     */
    @Schema(description = "邀请二维码", example = "3KD3H8D7")
    private String inviteQrCode;

    /**
     * 下级用户信息列表
     */
    @Schema(description = "下级用户信息列表")
    private List<UserMemberInfoVO> userMemberInfoVOList;

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