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;

/**
 * <p>
 * 游戏每日数据
 * </p>
 *
 * @author 
 * @since 2023-06-30
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Table(AdsGameDay.TABLE_NAME)
@PK({"dt", "gameId", "gameName", "gameClassify", "sourceSystem"})
public class AdsGameDay implements Serializable {
    private static final long serialVersionUID = 1L;
    public static final String TABLE_NAME = "ads_game_day";

    /**
     * 日期
     */
    private LocalDate dt;

    /**
     * 游戏ID
     */
    private Long gameId;

    /**
     * 游戏名称
     */
    private String gameName;

    /**
     * 游戏类别
     */
    private Long gameClassify;

    /**
     * SDK来源
     */
    private String sourceSystem;

    /**
     * CP名称
     */
    @Column
    private String cpName;

    /**
     * 消耗
     */
    @Column
    private BigDecimal cost;

    /**
     * 注册人数（总）
     */
    @Column
    private Long regNum;

    /**
     * 新增付费次数（总）
     */
    @Column
    private Long firstNewUserAmountCount;

    /**
     * 新增付费人数（总）
     */
    @Column
    private Long firstNewUserAmountNum;

    /**
     * 新增付费金额（总）
     */
    @Column
    private BigDecimal firstNewUserAmount;

    /**
     * 老用户充值次数（总）
     */
    @Column
    private Long oldUserCount;

    /**
     * 老用户充值人数（总）
     */
    @Column
    private Long oldUserNum;

    /**
     * 老用户充值金额（总）
     */
    @Column
    private BigDecimal oldUserAmount;

    /**
     * 账面充值次数（总）
     */
    @Column
    private Long amountCount;

    /**
     * 账面充值人数（总）
     */
    @Column
    private Long amountNum;

    /**
     * 账面充值金额（总）
     */
    @Column
    private BigDecimal amount;

    /**
     * 至今付费次数（总）
     */
    @Column
    private Long newUserTotalAmountCount;

    /**
     * 至今付费人数（总）
     */
    @Column
    private Long newUserTotalAmountNum;

    /**
     * 至今付费金额（总）
     */
    @Column
    private BigDecimal newUserTotalAmount;

    /**
     * 首日ROI（总）
     */
    @Column
    private BigDecimal firstRoi;

    /**
     * 首日付费率（总）
     */
    @Column
    private BigDecimal firstAmountRate;

    /**
     * 当天付费率（总）
     */
    @Column
    private BigDecimal todayAmountRate;

    /**
     * 新用户付费比（总）
     */
    @Column
    private BigDecimal newUserRate;

    /**
     * 首日客单价（总）
     */
    @Column
    private BigDecimal firstAvgAmount;

    /**
     * 当天客单价（总）
     */
    @Column
    private BigDecimal todayAvgAmount;

    /**
     * 账面客单价（总）
     */
    @Column
    private BigDecimal avgAmount;

    /**
     * 复充率（总）
     */
    @Column
    private BigDecimal userAgainRate;

    /**
     * 复充人数（总）
     */
    @Column
    private Long regOrderUserAgain;

    /**
     * 新增注册ARPU（总）
     */
    @Column
    private BigDecimal regUserArpu;

    /**
     * 首日付费ARPU（总）
     */
    @Column
    private BigDecimal firstAmountArpu;

    /**
     * 当天付费ARPU（总）
     */
    @Column
    private BigDecimal todayAmountArpu;

    /**
     * 账面ARPU（总）
     */
    @Column
    private BigDecimal amountArpu;

    /**
     * 付费趋势第一天总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountD1;

    /**
     * 付费趋势第2天总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountD2;

    /**
     * 付费趋势第三天总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountD3;

    /**
     * 付费趋势第4天总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountD4;

    /**
     * 付费趋势第五天总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountD5;

    /**
     * 付费趋势第6天总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountD6;

    /**
     * 付费趋势第七天总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountD7;

    /**
     * 付费趋势第8天总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountD8;

    /**
     * 付费趋势第9天总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountD9;

    /**
     * 付费趋势第10天总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountD10;

    /**
     * 付费趋势第11天总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountD11;

    /**
     * 付费趋势第12天总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountD12;

    /**
     * 付费趋势第十五天总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountD15;

    /**
     * 付费趋势第一月总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountM1;

    /**
     * 付费趋势第二月总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountM2;

    /**
     * 付费趋势第三月总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountM3;

    /**
     * 付费趋势第六月总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountM6;

    /**
     * 付费趋势总：金额/人数/增/回/倍（总量）
     */
    @Column
    private String amountSum;

    /**
     * 注册人数（买量）
     */
    @Column
    private Long buyRegNum;

    /**
     * 新增付费次数（买量）
     */
    @Column
    private Long buyFirstNewUserAmountCount;

    /**
     * 新增付费人数（买量）
     */
    @Column
    private Long buyFirstNewUserAmountNum;

    /**
     * 新增付费金额（买量）
     */
    @Column
    private BigDecimal buyFirstNewUserAmount;

    /**
     * 老用户充值次数（买量）
     */
    @Column
    private Long buyOldUserCount;

    /**
     * 老用户充值人数（买量）
     */
    @Column
    private Long buyOldUserNum;

    /**
     * 老用户充值金额（买量）
     */
    @Column
    private BigDecimal buyOldUserAmount;

    /**
     * 账面充值次数（买量）
     */
    @Column
    private Long buyAmountCount;

    /**
     * 账面充值人数（买量）
     */
    @Column
    private Long buyAmountNum;

    /**
     * 账面充值金额（买量）
     */
    @Column
    private BigDecimal buyAmount;

    /**
     * 至今付费次数（买量）
     */
    @Column
    private Long buyNewUserTotalAmountCount;

    /**
     * 至今付费人数（买量）
     */
    @Column
    private Long buyNewUserTotalAmountNum;

    /**
     * 至今付费金额（买量）
     */
    @Column
    private BigDecimal buyNewUserTotalAmount;

    /**
     * 首日ROI（买量）
     */
    @Column
    private BigDecimal buyFirstRoi;

    /**
     * 首日付费率(买量)
     */
    @Column
    private BigDecimal buyFirstAmountRate;

    /**
     * 当天付费率（买量）
     */
    @Column
    private BigDecimal buyTodayAmountRate;

    /**
     * 新用户付费比（买量）
     */
    @Column
    private BigDecimal buyNewUserRate;

    /**
     * 首日客单价（买量）
     */
    @Column
    private BigDecimal buyFirstAvgAmount;

    /**
     * 当天客单价（买量）
     */
    @Column
    private BigDecimal buyTodayAvgAmount;

    /**
     * 账面客单价（买量）
     */
    @Column
    private BigDecimal buyAvgAmount;

    /**
     * 复充率（买量）
     */
    @Column
    private BigDecimal buyUserAgainRate;

    /**
     * 复充人数（买量）
     */
    @Column
    private Long buyRegOrderUserAgain;

    /**
     * 新增注册ARPU（买量）
     */
    @Column
    private BigDecimal buyRegUserArpu;

    /**
     * 首日付费ARPU（买量）
     */
    @Column
    private BigDecimal buyFirstAmountArpu;

    /**
     * 当天付费ARPU（买量）
     */
    @Column
    private BigDecimal buyTodayAmountArpu;

    /**
     * 账面ARPU（买量）
     */
    @Column
    private BigDecimal buyAmountArpu;

    /**
     * 付费趋势第一天总：金额/人数/增/回/倍（买量）
     */
    @Column
    private String buyAmountD1;

    /**
     * 付费趋势第三天总：金额/人数/增/回/倍（买量）
     */
    @Column
    private String buyAmountD3;

    /**
     * 付费趋势第五天总：金额/人数/增/回/倍（买量）
     */
    @Column
    private String buyAmountD5;

    /**
     * 付费趋势第七天总：金额/人数/增/回/倍（买量）
     */
    @Column
    private String buyAmountD7;

    /**
     * 付费趋势第十五天总：金额/人数/增/回/倍（买量）
     */
    @Column
    private String buyAmountD15;

    /**
     * 付费趋势第一月总：金额/人数/增/回/倍（买量）
     */
    @Column
    private String buyAmountM1;

    /**
     * 付费趋势第二月总：金额/人数/增/回/倍（买量）
     */
    @Column
    private String buyAmountM2;

    /**
     * 付费趋势第三月总：金额/人数/增/回/倍（买量）
     */
    @Column
    private String buyAmountM3;

    /**
     * 付费趋势第六月总：金额/人数/增/回/倍（买量）
     */
    @Column
    private String buyAmountM6;

    /**
     * 付费趋势总：金额/人数/增/回/倍（买量）
     */
    @Column
    private String buyAmountSum;

    /**
     * 注册人数（自然量）
     */
    @Column
    private Long natureRegNum;

    /**
     * 新增付费次数（自然量）
     */
    @Column
    private Long natureFirstNewUserAmountCount;

    /**
     * 新增付费人数（自然量）
     */
    @Column
    private Long natureFirstNewUserAmountNum;

    /**
     * 新增付费金额（自然量）
     */
    @Column
    private BigDecimal natureFirstNewUserAmount;

    /**
     * 老用户充值次数（自然量）
     */
    @Column
    private Long natureOldUserCount;

    /**
     * 老用户充值人数（自然量）
     */
    @Column
    private Long natureOldUserNum;

    /**
     * 老用户充值金额（自然量）
     */
    @Column
    private BigDecimal natureOldUserAmount;

    /**
     * 账面充值次数（自然量）
     */
    @Column
    private Long natureAmountCount;

    /**
     * 账面充值人数（自然量）
     */
    @Column
    private Long natureAmountNum;

    /**
     * 账面充值金额（自然量）
     */
    @Column
    private BigDecimal natureAmount;

    /**
     * 至今付费次数（自然量）
     */
    @Column
    private Long natureNewUserTotalAmountCount;

    /**
     * 至今付费人数（自然量）
     */
    @Column
    private Long natureNewUserTotalAmountNum;

    /**
     * 至今付费金额（自然量）
     */
    @Column
    private BigDecimal natureNewUserTotalAmount;

    /**
     * 首日ROI（自然量）
     */
    @Column
    private BigDecimal natureFirstRoi;

    /**
     * 首日付费率(自然量)
     */
    @Column
    private BigDecimal natureFirstAmountRate;

    /**
     * 当天付费率（自然量）
     */
    @Column
    private BigDecimal natureTodayAmountRate;

    /**
     * 新用户付费比（自然量）
     */
    @Column
    private BigDecimal natureNewUserRate;

    /**
     * 首日客单价（自然量）
     */
    @Column
    private BigDecimal natureFirstAvgAmount;

    /**
     * 当天客单价（自然量）
     */
    @Column
    private BigDecimal natureTodayAvgAmount;

    /**
     * 账面客单价（自然量）
     */
    @Column
    private BigDecimal natureAvgAmount;

    /**
     * 复充率（自然量）
     */
    @Column
    private BigDecimal natureUserAgainRate;

    /**
     * 复充人数（自然量）
     */
    @Column
    private Long natureRegOrderUserAgain;

    /**
     * 新增注册ARPU（自然量）
     */
    @Column
    private BigDecimal natureRegUserArpu;

    /**
     * 首日付费ARPU（自然量）
     */
    @Column
    private BigDecimal natureFirstAmountArpu;

    /**
     * 当天付费ARPU（自然量）
     */
    @Column
    private BigDecimal natureTodayAmountArpu;

    /**
     * 账面ARPU（自然量）
     */
    @Column
    private BigDecimal natureAmountArpu;

    /**
     * 付费趋势第一天总：金额/人数/增/回/倍（自然量）
     */
    @Column
    private String natureAmountD1;

    /**
     * 付费趋势第三天总：金额/人数/增/回/倍（自然量）
     */
    @Column
    private String natureAmountD3;

    /**
     * 付费趋势第五天总：金额/人数/增/回/倍（自然量）
     */
    @Column
    private String natureAmountD5;

    /**
     * 付费趋势第七天总：金额/人数/增/回/倍（自然量）
     */
    @Column
    private String natureAmountD7;

    /**
     * 付费趋势第十五天总：金额/人数/增/回/倍（自然量）
     */
    @Column
    private String natureAmountD15;

    /**
     * 付费趋势第一月总：金额/人数/增/回/倍（自然量）
     */
    @Column
    private String natureAmountM1;

    /**
     * 付费趋势第二月总：金额/人数/增/回/倍（自然量）
     */
    @Column
    private String natureAmountM2;

    /**
     * 付费趋势第三月总：金额/人数/增/回/倍（自然量）
     */
    @Column
    private String natureAmountM3;

    /**
     * 付费趋势第六月总：金额/人数/增/回/倍（自然量）
     */
    @Column
    private String natureAmountM6;

    /**
     * 付费趋势总：金额/人数/增/回/倍（自然量）
     */
    @Column
    private String natureAmountSum;

    /**
     * 单日付费100+人数
     */
    @Column
    private Long hundredUserNum;

    /**
     * 单日付费100+成本
     */
    @Column
    private BigDecimal hundredUserNumCost;


}
