package com.m2pool.lease.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

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

/**
 * <p>
 * 用户钱包信息表
 * </p>
 *
 * @author 根据实际情况填写
 * @since 2025-09-08
 */
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "用户钱包资料信息",value = "UserWalletDataDto")
public class UserWalletDataDto  {


    @ApiModelProperty(value = "用户钱包信息id")
    private Long id;

    /**
     * 钱包唯一id(用于充值功能)
     */
    private String queueId;

    /**
     * 用户id(邮箱)
     */
    @ApiModelProperty(value = "用户id(邮箱)")
    private String userId;

    /**
     * 钱包地址
     */
    @ApiModelProperty(value = "充值钱包地址（我们提供")
    private String fromAddress;


    /**
     * 钱包地址
     */
    @ApiModelProperty(value = "收款钱包地址(用户自己填写)")
    private String toAddress;

    /**
     * 余额
     */
    @ApiModelProperty(value = "余额")
    private BigDecimal balance;

    @ApiModelProperty(value = "冻结余额,不能用于提现(用户购买机器完成租约所需金额)")
    private BigDecimal blockedBalance;

    /**
     * 支付地址二维码
     */
    @ApiModelProperty(value = "支付地址二维码")
    private String qrcode;

    /**
     * 币种
     */
    @ApiModelProperty(value = "用户自定义钱包地址的币种")
    private String toSymbol;

    /**
     * 链名称
     */
    @ApiModelProperty(value = "用户自定义钱包地址的链名称")
    private String toChain;


    /**
     * 币种
     */
    @ApiModelProperty(value = "官方自动绑定钱包地址的币种")
    private String fromSymbol;

    /**
     * 链名称
     */
    @ApiModelProperty(value = "官方自动绑定钱包地址的链名称")
    private String fromChain;

    private LocalDateTime createTime;

    @ApiModelProperty(value = "手续费")
    private BigDecimal charge;

}
