package top.continew.admin.business.model.resp;

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

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

@Data
@Schema(description = "tg用户信息")
public class TgUserResp implements Serializable {
    /**
     * id
     */
    @Schema(description = "主键")
    private Long id;

    /**
     * tg小程序id
     */
    @Schema(description = "tg小程序id")
    private String tgId;

    /**
     * tg账号
     */
    @Schema(description = "tg账号")
    private String tgAccount;

    /**
     * 名
     */
    @Schema(description = "名")
    private String firstName;

    /**
     * 姓
     */
    @Schema(description = "姓")
    private String lastName;

    /**
     * 昵称
     */
    @Schema(description = "昵称")
    private String nickname;

    /**
     * 真实姓名
     */
    @Schema(description = "真实姓名")
    private String realName;

    /**
     * 头像
     */
    @Schema(description = "头像")
    private String avatar;

    /**
     * 用户的语言的编码
     */
    @Schema(description = "用户的语言的编码")
    private String languageCode;

    /**
     * 钱包地址
     */
    @Schema(description = "钱包地址")
    private String walletAddress;

    /**
     * 年限
     */
    @Schema(description = "年限")
    private Integer ageLimit;

    /**
     * 是否老用户
     */
    @Schema(description = "是否老用户")
    private Integer oldUser;

    /**
     * 选择的语言
     */
    @Schema(description = "选择的语言")
    private String checkLanguage;

    /**
     * 最后登录的IP
     */
    @Schema(description = "最后登录的IP")
    private String loginIp;

    /**
     * 最后登录时间
     */
    @Schema(description = "最后登录时间")
    private LocalDateTime loginTime;

    /**
     * ip转换实际地址
     */
    @Schema(description = "ip转换实际地址")
    private String ipAddressConvert;

    /**
     * 是否禁用: [0=否, 1=是]
     */
    @Schema(description = "否禁用: [0=否, 1=是]")
    private Integer disableFlag;

    /**
     * 注册渠道: [1-微信小程序 2-微信公众号 3-手机H5 4-电脑PC 5-苹果APP 6-安卓APP]
     */
    @Schema(description = "注册渠道: [1-微信小程序 2-微信公众号 3-手机H5 4-电脑PC 5-苹果APP 6-安卓APP]")
    private Integer channel;

    /**
     * 用户授权telegram登录后的唯一标识
     */
    @Schema(description = "用户授权telegram登录后的唯一标识")
    private String loginTelegram;

    /**
     * 币账户进入的唯一标识地址
     */
    @Schema(description = "币账户进入的唯一标识地址")
    private String coinAddress;

    /**
     * 用户密码
     */
    @Schema(description = "用户密码")
    private String password;

    /**
     * 用户电话
     */
    @Schema(description = "用户电话")
    private String mobile;

    /**
     * 用户性别: [1=男, 2=女]
     */
    @Schema(description = "用户性别: [1=男, 2=女]")
    private String sex;

    /**
     * 邀请码
     */
    @Schema(description = "邀请码")
    private String inviteCode;

    /**
     * 介绍人_id
     */
    @Schema(description = "介绍人_id")
    private String referrerId;

    /**
     * 0单独可奖励1已经奖励
     */
    @Schema(description = "0单独可奖励1已经奖励")
    private Integer inviteReward;

    /**
     * 是否是新注册用户: [1-是, 0-否]
     */
    @Schema(description = "是否是新注册用户: [1-是, 0-否]")
    private Integer newUserFlag;

    /**
     * 历史钥匙数量
     */
    @Schema(description = "历史钥匙数量")
    private Integer historyKey;

    /**
     * 钥匙数量
     */
    @Schema(description = "钥匙数量")
    private Integer keyNum;

    /**
     * 空投数量
     */
    @Schema(description = "空投数量")
    private Integer airdropCoin;

    /**
     * 金币余额
     */
    @Schema(description = "金币余额")
    private BigDecimal goldCoinAmount;

    /**
     * 金币总数量
     */
    @Schema(description = "金币总数量")
    private BigDecimal goldCoinTotalHis;

    /**
     * 该用户每10s生产的金币数量
     */
    @Schema(description = "该用户每10s生产的金币数量")
    private Integer developmentGoldCoin;

    /**
     * 在线时间 单位秒
     */
    @Schema(description = "在线时间 单位秒")
    private Integer onlineTime;

    /**
     * 用户余额
     */
    @Schema(description = "用户余额")
    private BigDecimal userAmount;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    private LocalDateTime createdTime;

    /**
     * 更新时间
     */
    @Schema(description = "更新时间")
    private LocalDateTime updatedTime;
}
