package com.zanxiang.game.data.serve.pojo.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.nutz.dao.entity.annotation.Column;
import org.nutz.dao.entity.annotation.PK;
import org.nutz.dao.entity.annotation.Table;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 玩家充值排行榜
 * </p>
 *
 * @author 
 * @since 2023-06-30
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Table(AdsPlayerRechargeRanking.TABLE_NAME)
@PK({"dt","sourceSystem", "playerId"})
public class AdsPlayerRechargeRanking implements Serializable {
    private static final long serialVersionUID = 1L;
    public static final String TABLE_NAME = "ads_player_recharge_ranking";

    /**
     * 日期（充值时间）
     */
    private LocalDate dt;

    private String sourceSystem;

    /**
     * 玩家ID
     */
    private Long playerId;

    /**
     * 玩家账号
     */
    @Column
    private String playerAccountId;

    /**
     * 注册渠道ID
     */
    @Column
    private Long regAgentId;

    /**
     * 注册时间
     */
    @Column
    private LocalDateTime regUserTime;

    /**
     * 注册游戏ID
     */
    @Column
    private Long regGameId;

    /**
     * 玩家操作系统
     */
    @Column
    private String playerOs;

    /**
     * 最近充值游戏
     */
    @Column
    private Long lastAmountGameId;

    /**
     * 最近充值时间
     */
    @Column
    private LocalDateTime lastAmountTime;

    /**
     * 首次充值金额
     */
    @Column
    private BigDecimal firstAmount;

    /**
     * 最近充值金额
     */
    @Column
    private BigDecimal lastAmount;

    /**
     * 累计充值今额
     */
    @Column
    private BigDecimal totalAmount;

    /**
     * 今日累计充值今额
     */
    @Column
    private BigDecimal todayTotalAmount;

    /**
     * 昨日累计充值今额
     */
    @Column
    private BigDecimal yesterdayTotalAmount;

    /**
     * 7日累计充值今额
     */
    @Column
    private BigDecimal d7TotalAmount;

    /**
     * 30日累计充值今额
     */
    @Column
    private BigDecimal d30TotalAmount;

    /**
     * 平均单价
     */
    @Column
    private BigDecimal avgAmount;

    /**
     * 今日平均单价
     */
    @Column
    private BigDecimal todayAvgAmount;

    /**
     * 昨日平均单价
     */
    @Column
    private BigDecimal yesterdayAvgAmount;

    /**
     * 7日平均单价
     */
    @Column
    private BigDecimal d7AvgAmount;

    /**
     * 30日平均单价
     */
    @Column
    private BigDecimal d30AvgAmount;

    /**
     * 累计充值次数
     */
    @Column
    private Long totalAmountCount;

    /**
     * 今日累计充值次数
     */
    @Column
    private Long todayTotalAmountCount;

    /**
     * 昨日累计充值次数
     */
    @Column
    private Long yesterdayTotalAmountCount;

    /**
     * 7日累计充值次数
     */
    @Column
    private Long d7TotalAmountCount;

    /**
     * 30日累计充值次数
     */
    @Column
    private Long d30TotalAmountCount;


}
