package com.honey.honey.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AdminUserDetailDto {
    // Basic Info
    private Integer id;
    private String screenName;
    private Long telegramId;
    private String telegramName;
    private Integer isPremium;
    private String languageCode;
    private String countryCode;
    private String deviceCode;
    private String avatarUrl;
    private Integer dateReg;
    private Integer dateLogin;
    private Integer banned;
    /** IP address as string (e.g. xxx.xxx.xxx.xxx), converted from varbinary in DB. */
    private String ipAddress;

    // Balance Info
    private Long balanceA;
    private Long balanceB;
    private Long depositTotal;
    private Integer depositCount;
    private Long withdrawTotal;
    private Integer withdrawCount;
    /** Total deposits in USD (CRYPTO only). */
    private java.math.BigDecimal depositTotalUsd;
    /** Total withdrawals in USD (CRYPTO only). */
    private java.math.BigDecimal withdrawTotalUsd;
    /** When true, the user cannot create any payout request. */
    private Boolean withdrawalsDisabled;

    // Referral Info
    private Integer referralCount;
    private Long totalCommissionsEarned;
    /** Total commissions earned in USD (converted from tickets). */
    private java.math.BigDecimal totalCommissionsEarnedUsd;
    private Integer masterId;
    private List<ReferralLevelDto> referralLevels;
}

