package com.bizzan.bitrade.entity;

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

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

import org.hibernate.annotations.CreationTimestamp;

import com.bizzan.bitrade.constant.BooleanEnum;
import com.bizzan.bitrade.constant.CertifiedBusinessStatus;
import com.bizzan.bitrade.constant.CommonStatus;
import com.bizzan.bitrade.constant.MemberLevelEnum;
import com.bizzan.bitrade.constant.RealNameStatus;

import lombok.Data;

@Entity
@Data
public class MemberHistory {

	@GeneratedValue(strategy = GenerationType.IDENTITY)
    @Id
    private Long id;
	
	private Long memberId;

	@CreationTimestamp
	private Date statistic_date;
	
	private BigDecimal balance = BigDecimal.ZERO;
	private BigDecimal recharge = BigDecimal.ZERO;
	private BigDecimal withdraw = BigDecimal.ZERO;
	private BigDecimal transferIn = BigDecimal.ZERO;
	private BigDecimal transferOut = BigDecimal.ZERO;
	private BigDecimal activityAward = BigDecimal.ZERO;
	private BigDecimal promotionAward = BigDecimal.ZERO;
	private BigDecimal dividend = BigDecimal.ZERO;
	private BigDecimal adminRecharge = BigDecimal.ZERO;
	private BigDecimal award = BigDecimal.ZERO;
	private BigDecimal profit = BigDecimal.ZERO;
	private BigDecimal loss = BigDecimal.ZERO;
	private BigDecimal fee = BigDecimal.ZERO;
	private BigDecimal overnightFeeIn = BigDecimal.ZERO;
	private BigDecimal overnightFeeOut = BigDecimal.ZERO;
	private BigDecimal followFee = BigDecimal.ZERO;
	private BigDecimal followProfit = BigDecimal.ZERO;
	private BigDecimal followLoss = BigDecimal.ZERO;
	private BigDecimal followAward = BigDecimal.ZERO;
	private BigDecimal followDividendIn = BigDecimal.ZERO;
	private BigDecimal followDividendOut = BigDecimal.ZERO;
	private BigDecimal followOvernightFeeIn = BigDecimal.ZERO;
	private BigDecimal followOvernightFeeOut = BigDecimal.ZERO;
	//private BigDecimal gameProfit = BigDecimal.ZERO;
	//private BigDecimal gameLoss = BigDecimal.ZERO;
	//private BigDecimal gameFee = BigDecimal.ZERO;
	//private BigDecimal gameAward = BigDecimal.ZERO;
	private BigDecimal exchangeProfit = BigDecimal.ZERO;
	private BigDecimal exchangeLoss = BigDecimal.ZERO;
	private BigDecimal exchangeFee = BigDecimal.ZERO;
	private BigDecimal exchangeAward = BigDecimal.ZERO;

	/** 当日质押钱包快照（各币种折合 USDT 之和），反映当日质押资产总量 */
	private BigDecimal stakingBalance = BigDecimal.ZERO;

	/** 当日资金钱包快照（各币种折合 USDT 之和，含 USDT 余额 + 非 USDT 币种按价折算），反映当日资金账户总资产 */
	private BigDecimal fundBalance = BigDecimal.ZERO;
}
