package com.spot.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 钱包划转记录实体类
 * <p>
 * 对应 dage 主库 wallet_trans_record 表，记录资金账户与现货账户之间的划转流水，
 * 供 ucenter-api POST /asset/transfer/list 查询展示。
 * </p>
 * <p>
 * source/target 存储 WalletType ordinal 整数（与 dage 侧保持一致）：
 * <ul>
 *   <li>0 = SPOT（资金账户）</li>
 *   <li>5 = EXCHANGE（现货账户）</li>
 * </ul>
 * </p>
 *
 * @author auto
 * @date 2026-05-20
 */
@Data
@TableName("wallet_trans_record")
public class WalletTransRecord {

    /** 主键ID（自增） */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 用户ID */
    private Long memberId;

    /** 币种符号，如 USDT、BTC */
    private String unit;

    /** 划转金额 */
    private BigDecimal amount;

    /**
     * 转出账户类型（WalletType ordinal）
     * 0=SPOT（资金账户），5=EXCHANGE（现货账户）
     */
    private Integer source;

    /**
     * 转入账户类型（WalletType ordinal）
     * 0=SPOT（资金账户），5=EXCHANGE（现货账户）
     */
    private Integer target;

    /** 创建时间（由数据库 CreationTimestamp 自动填充，此处显式赋值保持兼容） */
    private Date createTime;
}
