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

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

/**
 * @author tianhua
 * @time 2023/7/12
 * @Description 返回给前端的游戏总数据实体
 **/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class GameDataTotalVO {

    /**
     * 游戏id（前端不显示）
     */
    @ApiModelProperty(value = "游戏Id（前端不显示）")
    private Long gameId;

    /**
     * 推广游戏名称
     */
    @ApiModelProperty(value = "游戏名称")
    private String gameName;

    /**
     * 推广游戏应用类型
     */
    @ApiModelProperty(value = "游戏类型")
    private Long gameClassify;

    /**
     * 消耗
     */
    @ApiModelProperty(value = "消耗")
    private BigDecimal cost;

    /**
     * 注册人数（总）
     */
    @ApiModelProperty(value = "注册人数（总量）")
    private Long regNum;

    /**
     * 新用户充值次数（总量）
     */
    @ApiModelProperty(value = "新用户充值次数（总量）")
    private Long newUserAmountCount;

    /**
     * 新用户充值人数（总量）
     */
    @ApiModelProperty(value = "新用户充值人数（总量）")
    private Long newUserAmountNum;

    /**
     * 新用户充值金额（支付宝金额）
     */
    @ApiModelProperty(value = "支付宝金额")
    private BigDecimal alipayAmount;
    /**
     * 新用户充值金额（微信金额）
     */
    @ApiModelProperty(value = "微信金额")
    private BigDecimal wxAmount;
    /**
     * 新用户充值金额（米大师金额）
     */
    @ApiModelProperty(value = "米大师金额")
    private BigDecimal miMasterAmount;


    @ApiModelProperty(value = "支付宝新用户累计充值金额(自然量)")
    private BigDecimal natureNewUserTotalZfbAmount;

    @ApiModelProperty(value = "微信新用户累计充值金额(自然量)")
    private BigDecimal natureNewUserTotalWxAmount;

    @ApiModelProperty(value = "米大师新用户累计充值金额(自然量)")
    private BigDecimal natureNewUserTotalMdsAmount;

    /**
     * 新用户充值金额（总量）
     */
    @ApiModelProperty(value = "新用户充值金额（总量）")
    private BigDecimal newUserAmount;

    /**
     * 首日新用户充值次数（总量）
     */
    @ApiModelProperty(value = "首日新用户充值次数（总量）")
    private Long firstNewUserAmountCount;

    /**
     * 首日新用户充值人数（总量）
     */
    @ApiModelProperty(value = "首日新用户充值人数（总量）")
    private Long firstNewUserAmountNum;

    /**
     * 首日新用户充值金额（总量）
     */
    @ApiModelProperty(value = "首日新用户充值金额（总量）")
    private BigDecimal firstNewUserAmount;

    /**
     * 老用户充值次数（总量）
     */
    @ApiModelProperty(value = "老用户充值次数（总量）")
    private Long oldUserCount;

    /**
     * 老用户充值人数（总量）
     */
    @ApiModelProperty(value = "老用户充值人数（总量）")
    private Long oldUserNum;

    /**
     * 老用户充值金额（总量）
     */
    @ApiModelProperty(value = "老用户充值金额（总量）")
    private BigDecimal oldUserAmount;

    /**
     * 账面充值次数（总量）
     */
    @ApiModelProperty(value = "账面充值次数（总量）")
    private Long amountCount;

    /**
     * 账面充值人数（总量）
     */
    @ApiModelProperty(value = "账面充值人数（总量）")
    private Long amountNum;

    /**
     * 账面充值金额（总量）
     */
    @ApiModelProperty(value = "账面充值金额（总量）")
    private BigDecimal amount;

    /**
     * 新用户累计充值次数（总量）
     */
    @ApiModelProperty(value = "新用户累计充值次数（总量）")
    private Long newUserTotalAmountCount;

    /**
     * 新用户累计充值人数（总量）
     */
    @ApiModelProperty(value = "新用户累计充值人数（总量）")
    private Long newUserTotalAmountNum;

    /**
     * 新用户累计充值金额（总量）
     */
    @ApiModelProperty(value = "新用户累计充值金额（总量）")
    private BigDecimal newUserTotalAmount;

    /**
     * 首日Roi（总量）
     */
    @ApiModelProperty(value = "首日Roi（总量）")
    private BigDecimal firstRoi;

    @ApiModelProperty(value = "首日付费率")
    private BigDecimal firstAmountRate;

    /**
     * 当天付费率（总量）
     */
    @ApiModelProperty(value = "当天付费率（总量）")
    private BigDecimal todayAmountRate;

    /**
     * 新用户付费率（总量）
     */
    @ApiModelProperty(value = "新用户付费率（总量）")
    private BigDecimal newUserRoi;

    /**
     * 新用户付费比（总量）
     */
    @ApiModelProperty(value = "新用户付费比（总量）")
    private BigDecimal newUserRate;

    /**
     * 首日客单价（总量）
     */
    @ApiModelProperty(value = "首日客单价（总量）")
    private BigDecimal firstAvgAmount;

    /**
     * 当天客单价（总量）
     */
    @ApiModelProperty(value = "当天客单价（总量）")
    private BigDecimal todayAvgAmount;

    /**
     * 账面客单价（总量）
     */
    @ApiModelProperty(value = "账面客单价（总量）")
    private BigDecimal avgAmount;

    /**
     * 新用户客单价（总量）
     */
    @ApiModelProperty(value = "新用户客单价（总量）")
    private BigDecimal newUserAvgAmount;

    /**
     * 复充率（总量）
     */
    @ApiModelProperty(value = "复充率（总量）")
    private BigDecimal userAgainRate;

    /**
     * 新用户复充率（总量）
     */
    @ApiModelProperty(value = "新用户复充率（总量）")
    private BigDecimal newUserAgainRate;

    /**
     * 当天复充率（总量）
     */
    @ApiModelProperty(value = "当天复充率（总量）")
    private BigDecimal todayAgainRate;

    /**
     * 新用户复充人数（总量）（前端不需要显示）
     */
    @ApiModelProperty(value = "新用户复充人数（总量）（前端不需要显示）")
    private Long newUserAgainNum;

    /**
     * 新增注册ARPU（总量）
     */
    @ApiModelProperty(value = "新增注册ARPU（总量）")
    private BigDecimal regUserArpu;

    /**
     * 首日付费ARPU（总量）
     */
    @ApiModelProperty(value = "首日付费ARPU（总量）")
    private BigDecimal firstAmountArpu;

    /**
     * 当天付费ARPU（总量）
     */
    @ApiModelProperty(value = "当天付费ARPU（总量）")
    private BigDecimal todayAmountArpu;

    /**
     * 账面ARPU（总量）
     */
    @ApiModelProperty(value = "账面ARPU（总量）")
    private BigDecimal amountArpu;

    /**
     * 新用户付费ARPU（总量）
     */
    @ApiModelProperty(value = "新用户付费ARPU（总量）")
    private BigDecimal newUserAmountArpu;


    @ApiModelProperty(value = "注册成本（总量） = 消耗 / 注册人数")
    private BigDecimal regCost;

    @ApiModelProperty(value = "总回收率（总量） = 新用户累计充值金额 / 消耗")
    private BigDecimal totalRoi;

    @ApiModelProperty(value = "首日充值成本（总量） = 消耗 / 首日新用户充值人数")
    private BigDecimal firstNewUserRechargeCost;

    @ApiModelProperty(value = "总充值成本（总量） = 消耗 / 新用户累计充值人数")
    private BigDecimal totalRechargeCost;

    @ApiModelProperty(value = "新用户回收率（总量） = 新用户充值今日 / 消耗")
    private BigDecimal newUserRechargeRate;

    @ApiModelProperty(value = "新用户充值成本（总量） = 消耗 / 新用户充值人数")
    private BigDecimal newUserRechargeCost;

    @ApiModelProperty(value = "单日付费100+人数（总量）")
    private Long hundredUserNum;

    @ApiModelProperty(value = "单日付费100+成本 = 消耗 / 单日付费100+人数（总量）")
    private BigDecimal hundredUserNumCost;

    @ApiModelProperty(value = "首日创角人数（总量）")
    private Long firstRoleNum;

    @ApiModelProperty(value = "创角人数（总量）")
    private Long roleNum;

    @ApiModelProperty(value = "新用户累计创角人数（总量）")
    private Long newUserTotalRoleNum;

    @ApiModelProperty(value = "首日创角人数成本（总量）")
    private BigDecimal firstRoleNumCost;

    @ApiModelProperty(value = "创角人数成本（总量）")
    private BigDecimal roleNumCost;

    @ApiModelProperty(value = "新用户累计创角人数成本（总量）")
    private BigDecimal newUserTotalRoleNumCost;

    @ApiModelProperty(value = "首日创角率（总量）")
    private BigDecimal firstRoleNumRate;

    @ApiModelProperty(value = "创角率（总量）")
    private BigDecimal roleNumRate;

    @ApiModelProperty(value = "新用户累计创角率（总量）")
    private BigDecimal newUserTotalRoleNumRate;

    @ApiModelProperty(value = "首日有效创角人数")
    private Long firstEffectiveRoleNum;

    @ApiModelProperty(value = "新用户累计有效创角人数")
    private Long newUserTotalEffectiveRoleNum;

    @ApiModelProperty(value =  "有效创角人数")
    private Long effectiveRoleNum;

    @ApiModelProperty(value = "首日有效创角率")
    private BigDecimal firstEffectiveRoleRate;

    @ApiModelProperty(value = "新用户累计有效创角率")
    private BigDecimal newUserTotalEffectiveRoleNumRate;

    @ApiModelProperty(value = "有效创角率")
    private BigDecimal effectiveRoleNumRate;

    @ApiModelProperty(value = "首日有效创角成本")
    private Long firstEffectiveRoleNumCost;

    @ApiModelProperty(value = "新用户累计有效创角成本")
    private Long newUserTotalEffectiveRoleNumCost;

    @ApiModelProperty(value = "有效创角成本")
    private Long effectiveRoleNumCost;

    @ApiModelProperty(value = "首日有效创角付费人数")
    private Long firstEffectiveRoleAmountNum;

    @ApiModelProperty(value = "新用户累计有效创角付费人数")
    private Long newUserTotalEffectiveRoleAmountNum;

    @ApiModelProperty(value = "首日有效创角付费成本")
    private Long firstEffectiveRoleAmountNumCost;

    @ApiModelProperty(value = "新用户累计有效创角付费成本")
    private Long newUserTotalEffectiveRoleAmountNumCost;

    @ApiModelProperty(value = "首日有效创角付费比")
    private BigDecimal firstEffectiveRoleAmountNumRate;

    @ApiModelProperty(value = "新用户累计有效创角付费比")
    private BigDecimal newUserTotalEffectiveRoleAmountNumRate;

    @ApiModelProperty(value = "首日有效创角ARPU")
    private BigDecimal firstEffectiveRoleArpu;

    @ApiModelProperty(value = "新用户累计有效创角ARPU")
    private BigDecimal newUserTotalEffectiveRoleArpu;

}
