package com.spot.entity;

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

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

/**
 * 会员交易流水记录实体类
 * 对应 member_transaction 表，记录现货成交流水和手续费流水
 *
 * @author jean
 * @date 2026-05-07
 */
@Data
@TableName("member_transaction")
public class MemberTransaction {

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

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

    /**
     * 交易金额
     */
    private BigDecimal amount;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 交易类型，存储 ordinal 值
     * @see TransactionType
     */
    private Integer type;

    /**
     * 币种名称，如 BTC、USDT
     */
    private String symbol;

    /**
     * 充值或提现地址、或转账地址
     */
    private String address;

    /**
     * 交易手续费，默认为0
     */
    private BigDecimal fee;

    /**
     * 标识位，特殊情况使用，默认为0
     */
    private Integer flag;

    /**
     * 实收手续费
     */
    private String realFee;

    /**
     * 折扣手续费
     */
    private String discountFee;

    /**
     * 方向：0-买，1-卖
     */
    private Integer direction;
}
