package com.ff.game.domain;

import java.math.BigDecimal;
import com.ff.base.annotation.Excel;
import com.ff.base.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 会员金额转移记录对象 ff_game_exchange_money
 *
 * @author shi
 * @date 2025-02-12
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class GameExchangeMoney extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 租户key */
    @Excel(name = "租户key")
    private String tenantKey;

    /** 币种编码 */
    @Excel(name = "币种编码")
    private String currencyCode;

    /** 第三方交易id */
    @Excel(name = "第三方交易id")
    private String transactionId;

    /** 会员id */
    @Excel(name = "会员id")
    private Long memberId;

    /** 游戏平台  */
    @Excel(name = "游戏平台 ")
    private String platformCode;

    /** 操作金额 */
    @Excel(name = "操作金额")
    private BigDecimal balance;

    /** 租户操作额度 */
    @Excel(name = "租户操作额度")
    private BigDecimal quota;

    /**  转账前金额(游戏币) */
    @Excel(name = " 转账前金额(游戏币)")
    private BigDecimal coinBefore;

    /** 转账后金额(游戏币) */
    @Excel(name = "转账后金额(游戏币)")
    private BigDecimal coinAfter;

    /** 转账前金额(指定货币) */
    @Excel(name = "转账前金额(指定货币)")
    private BigDecimal currencyBefore;

    /** 转账后金额(指定货币) */
    @Excel(name = "转账后金额(指定货币)")
    private BigDecimal currencyAfter;

    /** 系统订单id */
    @Excel(name = "系统订单id")
    private String orderId;

    /** 转出类型 1游戏商转入到用户全部转出  2 用户转移到游戏商  3 游戏商转移额度到平台商 */
    @Excel(name = "转出类型 1游戏商转入到用户全部转出  2 用户转移到游戏商  3 游戏商转移额度到平台商")
    private Integer exchangeType;

    /** 状态 1 成功 2失败 */
    @Excel(name = "状态 1 成功 2失败")
    private Integer status;


}
