package com.hzs.common.domain.member.account;

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

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.*;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * 会员交易明细
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("CU_MEMBER_TRADE")
@KeySequence("CU_MEMBER_TRADE_SEQ")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CuMemberTrade extends BaseEntity {


    private static final long serialVersionUID = -1715329689618238827L;


    /**
     * 主键
     */
    @TableId("PK_ID")
    private Long pkId;

    /**
     * 会员编号
     */
    @TableField("PK_MEMBER")
    private Long pkMember;

    /**
     * 交易编号
     */
    @TableField("TRADE_CODE")
    private String tradeCode;

    /**
     * 账户类型(来源于参照：币种配置)
     */
    @TableField("PK_ACCOUNT")
    private Integer pkAccount;

    /**
     * 交易类型:(101: 注册订单,102: 升级订单,103: 复购订单,104: 圣宝云代注册,105: 圣宝云代升级,106: 圣宝云代复购,107: 嗨粉订单,108: 提货订单,109: 礼包订单,110: 消费订单,111: 兑换订单,200: 提现,201: 提现充正,300: 转账,400: 后台充值,401: 线上充值,500: 收益发放,600: 撤单返钱,601: 返还本金)
     */
    @TableField("TRADE_TYPE")
    private Integer tradeType;

    /**
     * 交易分类:(1=消费 2=提现 3=转账 4=充值 5=收益)
     */
    @TableField("TRADE_CLASSIFY")
    private Integer tradeClassify;

    /**
     * 汇率
     */
    @TableField("PK_RATE")
    private Integer pkRate;

    /**
     * 交易金额
     */
    @TableField("TRADE_AMOUNT")
    private BigDecimal tradeAmount;

    /**
     * 交易余额
     */
    @TableField("TRADE_BALANCE")
    private BigDecimal tradeBalance;


    /**
     * 交易前余额
     */
    @TableField("TRADE_BEFORE_BALANCE")
    private BigDecimal tradeBeforeBalance;

    /**
     * 来源单号
     */
    @TableField("SOURCE_CODE")
    private String sourceCode;

    /**
     * 交易状态:(1=可消费 2=生效) 这个字段已经废弃，使用cu_member_trade_detail表中的trade_status
     */
    @TableField("TRADE_STATUE")
    private Integer tradeStatue;

    /**
     * 备注
     */
    @TableField("REMARKS")
    private String remarks;

}
