Ver código fonte

修改内容:区服默认排序修改;投手每日数据及总计

lth 1 ano atrás
pai
commit
b42c407365

+ 51 - 1
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/PitcherDataDayDTO.java

@@ -1,9 +1,59 @@
 package com.zanxiang.game.data.serve.pojo.dto;
 
+import com.zanxiang.game.data.serve.pojo.base.BasePage;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDate;
+
 /**
  * @author tianhua
  * @time 2023/8/15
  * @Description 投手每日数据查询条件实体
  **/
-public class PitcherDataDayDTO {
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class PitcherDataDayDTO extends BasePage {
+
+    /**
+     * 消耗开始时间
+     */
+    @ApiModelProperty(value = "消耗开始时间")
+    private LocalDate beginDate;
+
+    /**
+     * 消耗结束时间
+     */
+    @ApiModelProperty(value = "消耗结束时间")
+    private LocalDate endDate;
+
+    /**
+     * SDK来源
+     */
+    @ApiModelProperty(value = "SDK来源")
+    private String sourceSystem;
+
+    /**
+     * 投手ID
+     */
+    @ApiModelProperty(value = "投手ID")
+    private Long pitcherId;
+
+    /**
+     * 排序字段
+     */
+    @ApiModelProperty(notes = "排序字段")
+    private String sortFiled;
+
+    /**
+     * 排序方式:升序asc;降序desc
+     */
+    @ApiModelProperty(notes = "排序方式:升序asc;降序desc")
+    private String sortType;
+
 }

+ 37 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/PitcherDataDayTotalDTO.java

@@ -1,9 +1,46 @@
 package com.zanxiang.game.data.serve.pojo.dto;
 
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDate;
+
 /**
  * @author tianhua
  * @time 2023/8/15
  * @Description 投手每日数据总计查询条件实体
  **/
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
 public class PitcherDataDayTotalDTO {
+
+    /**
+     * 消耗开始时间
+     */
+    @ApiModelProperty(value = "消耗开始时间")
+    private LocalDate beginDate;
+
+    /**
+     * 消耗结束时间
+     */
+    @ApiModelProperty(value = "消耗结束时间")
+    private LocalDate endDate;
+
+    /**
+     * SDK来源
+     */
+    @ApiModelProperty(value = "SDK来源")
+    private String sourceSystem;
+
+    /**
+     * 投手ID
+     */
+    @ApiModelProperty(value = "投手ID")
+    private Long pitcherId;
+
 }

+ 1158 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/entity/AdsPitcherDay.java

@@ -0,0 +1,1158 @@
+package com.zanxiang.game.data.serve.pojo.entity;
+
+import lombok.Data;
+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.time.LocalDate;
+
+@Data
+@Table(AdsPitcherDay.TABLE_NAME)
+@PK({"dt", "sourceSystem", "pitcherId"})
+public class AdsPitcherDay implements Serializable {
+    private static final long serialVersionUID = 1L;
+    public static final String TABLE_NAME = "ads_pitcher_day";
+     
+    /**
+    * 日期(充值时间)
+    */
+    private LocalDate dt;
+    
+    /**
+    * SDK来源
+    */
+    private String sourceSystem;
+    
+    /**
+    * 投手ID
+    */
+    private Long pitcherId;
+    
+    /**
+    * 投手
+    */    
+    @Column
+    private String pitcher;
+    
+    /**
+    * 消耗
+    */    
+    @Column
+    private Double cost;
+    
+    /**
+    * 推广计划数量
+    */    
+    @Column
+    private Long planCount;
+    
+    /**
+    * 推广账号数量
+    */    
+    @Column
+    private Long accountCount;
+    
+    /**
+    * 推广渠道数量
+    */    
+    @Column
+    private Long agentCount;
+    
+    /**
+    * 注册人数-通过广告首次登录小游戏的独立用户数
+    */    
+    @Column
+    private Long registerNum;
+    
+    /**
+    * 新增付费次数
+    */    
+    @Column
+    private Long firstNewUserAmountCount;
+    
+    /**
+    * 新增付费人数
+    */    
+    @Column
+    private Long firstNewUserAmountNum;
+    
+    /**
+    * 新增付费金额
+    */    
+    @Column
+    private Double firstNewUserAmount;
+    
+    /**
+    * 账面充值次数
+    */    
+    @Column
+    private Long amountCount;
+    
+    /**
+    * 账面充值人数
+    */    
+    @Column
+    private Long amountNum;
+    
+    /**
+    * 账面充值金额
+    */    
+    @Column
+    private Double amount;
+    
+    /**
+    * 老用户充值次数(每日)
+    */    
+    @Column
+    private Long oldAmountCount;
+    
+    /**
+    * 老用户充值人数(每日)
+    */    
+    @Column
+    private Long oldAmountNum;
+    
+    /**
+    * 老用户充值金额(每日)
+    */    
+    @Column
+    private Double oldAmount;
+    
+    /**
+    * 至今充值次数
+    */    
+    @Column
+    private Long newUserTotalAmountCount;
+    
+    /**
+    * 至今充值人数
+    */    
+    @Column
+    private Long newUserTotalAmountNum;
+    
+    /**
+    * 至今充值金额
+    */    
+    @Column
+    private Double newUserTotalAmount;
+    
+    /**
+    * 单日付费100+人数
+    */    
+    @Column
+    private Long hundredUserNum;
+    
+    /**
+    * 买量新用户累计充值金额
+    */    
+    @Column
+    private Double buyNewUserTotalAmount;
+    
+    /**
+    * 买量新用户累计充值人数
+    */    
+    @Column
+    private Long buyNewUserTotalAmountNum;
+    
+    /**
+    * 买量新用户累计充值次数
+    */    
+    @Column
+    private Long buyNewUserTotalAmountCount;
+    
+    /**
+    * 复充人数
+    */    
+    @Column
+    private Long regOrderUserAgain;
+    
+    /**
+    * 首日创角人数
+    */    
+    @Column
+    private Long firstRoleNum;
+    
+    /**
+    * 新用户累计创角人数
+    */    
+    @Column
+    private Long newUserTotalRoleNum;
+    
+    /**
+    * 创角人数
+    */    
+    @Column
+    private Long roleNum;
+    
+    /**
+    * 注册成本=实际消耗/注册人数
+    */    
+    @Column
+    private Double registerCost;
+    
+    /**
+    * 首日回收率
+    */    
+    @Column
+    private Double firstRoi;
+    
+    /**
+    * 买量回收率
+    */    
+    @Column
+    private Double buyRoi;
+    
+    /**
+    * 当日回收率
+    */    
+    @Column
+    private Double todayRoi;
+    
+    /**
+    * 毛利额,毛利=新用户-实际消耗
+    */    
+    @Column
+    private Double grossProfit;
+    
+    /**
+    * 首日付费率
+    */    
+    @Column
+    private Double firstRate;
+    
+    /**
+    * 买量用户付费率
+    */    
+    @Column
+    private Double buyUserRate;
+    
+    /**
+    * 当天付费率
+    */    
+    @Column
+    private Double todayRate;
+    
+    /**
+    * 首日客单价
+    */    
+    @Column
+    private Double firstAvg;
+    
+    /**
+    * 买量客单价
+    */    
+    @Column
+    private Double buyAvg;
+    
+    /**
+    * 当天客单价
+    */    
+    @Column
+    private Double todayAvg;
+    
+    /**
+    * 账面客单价
+    */    
+    @Column
+    private Double paperAvg;
+    
+    /**
+    * 首日充值成本
+    */    
+    @Column
+    private Double firstAmountCost;
+    
+    /**
+    * 买量充值成本
+    */    
+    @Column
+    private Double buyAmountCost;
+    
+    /**
+    * 当天充值成本
+    */    
+    @Column
+    private Double todayAmountCost;
+    
+    /**
+    * 当天复充率
+    */    
+    @Column
+    private Double todayAgainRate;
+    
+    /**
+    * 新增注册ARPU
+    */    
+    @Column
+    private Double newRegArpu;
+    
+    /**
+    * 首日付费ARPU
+    */    
+    @Column
+    private Double firstArpu;
+    
+    /**
+    * 当天付费ARPU
+    */    
+    @Column
+    private Double todayArpu;
+    
+    /**
+    * 账面arpu
+    */    
+    @Column
+    private Double paperArpu;
+    
+    /**
+    * 单日付费100+成本
+    */    
+    @Column
+    private Double hundredUserNumCost;
+    
+    /**
+    * 1日roi
+    */    
+    @Column
+    private Double roi1;
+    
+    /**
+    * 2日roi
+    */    
+    @Column
+    private Double roi2;
+    
+    /**
+    * 3日roi
+    */    
+    @Column
+    private Double roi3;
+    
+    /**
+    * 4日roi
+    */    
+    @Column
+    private Double roi4;
+    
+    /**
+    * 5日roi
+    */    
+    @Column
+    private Double roi5;
+    
+    /**
+    * 6日roi
+    */    
+    @Column
+    private Double roi6;
+    
+    /**
+    * 7日roi
+    */    
+    @Column
+    private Double roi7;
+    
+    /**
+    * 8日roi
+    */    
+    @Column
+    private Double roi8;
+    
+    /**
+    * 9日roi
+    */    
+    @Column
+    private Double roi9;
+    
+    /**
+    * 10日roi
+    */    
+    @Column
+    private Double roi10;
+    
+    /**
+    * 11日roi
+    */    
+    @Column
+    private Double roi11;
+    
+    /**
+    * 12日roi
+    */    
+    @Column
+    private Double roi12;
+    
+    /**
+    * 13日roi
+    */    
+    @Column
+    private Double roi13;
+    
+    /**
+    * 14日roi
+    */    
+    @Column
+    private Double roi14;
+    
+    /**
+    * 15日roi
+    */    
+    @Column
+    private Double roi15;
+    
+    /**
+    * 16日roi
+    */    
+    @Column
+    private Double roi16;
+    
+    /**
+    * 17日roi
+    */    
+    @Column
+    private Double roi17;
+    
+    /**
+    * 18日roi
+    */    
+    @Column
+    private Double roi18;
+    
+    /**
+    * 19日roi
+    */    
+    @Column
+    private Double roi19;
+    
+    /**
+    * 20日roi
+    */    
+    @Column
+    private Double roi20;
+    
+    /**
+    * 21日roi
+    */    
+    @Column
+    private Double roi21;
+    
+    /**
+    * 22日roi
+    */    
+    @Column
+    private Double roi22;
+    
+    /**
+    * 23日roi
+    */    
+    @Column
+    private Double roi23;
+    
+    /**
+    * 24日roi
+    */    
+    @Column
+    private Double roi24;
+    
+    /**
+    * 25日roi
+    */    
+    @Column
+    private Double roi25;
+    
+    /**
+    * 26日roi
+    */    
+    @Column
+    private Double roi26;
+    
+    /**
+    * 27日roi
+    */    
+    @Column
+    private Double roi27;
+    
+    /**
+    * 28日roi
+    */    
+    @Column
+    private Double roi28;
+    
+    /**
+    * 29日roi
+    */    
+    @Column
+    private Double roi29;
+    
+    /**
+    * 30日roi
+    */    
+    @Column
+    private Double roi30;
+    
+    /**
+    * 60日ROI
+    */    
+    @Column
+    private Double roi60;
+    
+    /**
+    * 90日ROI
+    */    
+    @Column
+    private Double roi90;
+    
+    /**
+    * 180日ROI
+    */    
+    @Column
+    private Double roi180;
+    
+    /**
+    * 1年ROI
+    */    
+    @Column
+    private Double roi1yaer;
+    
+    /**
+    * 总ROI
+    */    
+    @Column
+    private Double roiTotal;
+    
+    /**
+    * 付费趋势第1日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD1;
+    
+    /**
+    * 付费趋势第2日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD2;
+    
+    /**
+    * 付费趋势第3日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD3;
+    
+    /**
+    * 付费趋势第4日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD4;
+    
+    /**
+    * 付费趋势第5日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD5;
+    
+    /**
+    * 付费趋势第6日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD6;
+    
+    /**
+    * 付费趋势第7日总:金额/人数/增/回/倍
+    */    
+    @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;
+    
+    /**
+    * 付费趋势第13日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD13;
+    
+    /**
+    * 付费趋势第14日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD14;
+    
+    /**
+    * 付费趋势第15日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD15;
+    
+    /**
+    * 付费趋势第16日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD16;
+    
+    /**
+    * 付费趋势第17日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD17;
+    
+    /**
+    * 付费趋势第18日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD18;
+    
+    /**
+    * 付费趋势第19日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD19;
+    
+    /**
+    * 付费趋势第20日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD20;
+    
+    /**
+    * 付费趋势第21日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD21;
+    
+    /**
+    * 付费趋势第22日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD22;
+    
+    /**
+    * 付费趋势第23日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD23;
+    
+    /**
+    * 付费趋势第24日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD24;
+    
+    /**
+    * 付费趋势第25日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD25;
+    
+    /**
+    * 付费趋势第26日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD26;
+    
+    /**
+    * 付费趋势第27日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD27;
+    
+    /**
+    * 付费趋势第28日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD28;
+    
+    /**
+    * 付费趋势第29日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountD29;
+    
+    /**
+    * 付费趋势第30日总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountM1;
+    
+    /**
+    * 付费趋势第二月总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountM2;
+    
+    /**
+    * 付费趋势第三月总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountM3;
+    
+    /**
+    * 付费趋势六月总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountM6;
+    
+    /**
+    * 付费趋势一年总:金额/人数/增/回/倍
+    */    
+    @Column
+    private String amountY1;
+    
+    /**
+    * 付费趋势总:增/回/倍
+    */    
+    @Column
+    private String amountSum;
+    
+    /**
+    * 投手游戏第1天新用户充值
+    */    
+    @Column
+    private Double da1;
+    
+    /**
+    * 投手游戏第2天新用户充值
+    */    
+    @Column
+    private Double da2;
+    
+    /**
+    * 投手游戏第3天新用户充值
+    */    
+    @Column
+    private Double da3;
+    
+    /**
+    * 投手游戏第4天新用户充值
+    */    
+    @Column
+    private Double da4;
+    
+    /**
+    * 投手游戏第5天新用户充值
+    */    
+    @Column
+    private Double da5;
+    
+    /**
+    * 投手游戏第6天新用户充值
+    */    
+    @Column
+    private Double da6;
+    
+    /**
+    * 投手游戏第7天新用户充值
+    */    
+    @Column
+    private Double da7;
+    
+    /**
+    * 投手游戏第8天新用户充值
+    */    
+    @Column
+    private Double da8;
+    
+    /**
+    * 投手游戏第9天新用户充值
+    */    
+    @Column
+    private Double da9;
+    
+    /**
+    * 投手游戏第10天新用户充值
+    */    
+    @Column
+    private Double da10;
+    
+    /**
+    * 投手游戏第11天新用户充值
+    */    
+    @Column
+    private Double da11;
+    
+    /**
+    * 投手游戏第12天新用户充值
+    */    
+    @Column
+    private Double da12;
+    
+    /**
+    * 投手游戏第13天新用户充值
+    */    
+    @Column
+    private Double da13;
+    
+    /**
+    * 投手游戏第14天新用户充值
+    */    
+    @Column
+    private Double da14;
+    
+    /**
+    * 投手游戏第15天新用户充值
+    */    
+    @Column
+    private Double da15;
+    
+    /**
+    * 投手游戏第16天新用户充值
+    */    
+    @Column
+    private Double da16;
+    
+    /**
+    * 投手游戏第17天新用户充值
+    */    
+    @Column
+    private Double da17;
+    
+    /**
+    * 投手游戏第18天新用户充值
+    */    
+    @Column
+    private Double da18;
+    
+    /**
+    * 投手游戏第19天新用户充值
+    */    
+    @Column
+    private Double da19;
+    
+    /**
+    * 投手游戏第20天新用户充值
+    */    
+    @Column
+    private Double da20;
+    
+    /**
+    * 投手游戏第21天新用户充值
+    */    
+    @Column
+    private Double da21;
+    
+    /**
+    * 投手游戏第22天新用户充值
+    */    
+    @Column
+    private Double da22;
+    
+    /**
+    * 投手游戏第23天新用户充值
+    */    
+    @Column
+    private Double da23;
+    
+    /**
+    * 投手游戏第24天新用户充值
+    */    
+    @Column
+    private Double da24;
+    
+    /**
+    * 投手游戏第25天新用户充值
+    */    
+    @Column
+    private Double da25;
+    
+    /**
+    * 投手游戏第26天新用户充值
+    */    
+    @Column
+    private Double da26;
+    
+    /**
+    * 投手游戏第27天新用户充值
+    */    
+    @Column
+    private Double da27;
+    
+    /**
+    * 投手游戏第28天新用户充值
+    */    
+    @Column
+    private Double da28;
+    
+    /**
+    * 投手游戏第29天新用户充值
+    */    
+    @Column
+    private Double da29;
+    
+    /**
+    * 投手游戏第30天新用户充值
+    */    
+    @Column
+    private Double da30;
+    
+    /**
+    * 投手游戏第2月新用户充值
+    */    
+    @Column
+    private Double m2;
+    
+    /**
+    * 投手游戏第3月新用户充值
+    */    
+    @Column
+    private Double m3;
+    
+    /**
+    * 投手游戏第6月新用户充值
+    */    
+    @Column
+    private Double m6;
+    
+    /**
+    * 投手游戏第1年新用户充值
+    */    
+    @Column
+    private Double y1;
+    
+    /**
+    * 至今充值金额
+    */    
+    @Column
+    private Double total;
+    
+    /**
+    * 投手游戏第1天新用户人数
+    */    
+    @Column
+    private Long da1Num;
+    
+    /**
+    * 投手游戏第2天新用户人数
+    */    
+    @Column
+    private Long da2Num;
+    
+    /**
+    * 投手游戏第3天新用户人数
+    */    
+    @Column
+    private Long da3Num;
+    
+    /**
+    * 投手游戏第4天新用户人数
+    */    
+    @Column
+    private Long da4Num;
+    
+    /**
+    * 投手游戏第5天新用户人数
+    */    
+    @Column
+    private Long da5Num;
+    
+    /**
+    * 投手游戏第6天新用户人数
+    */    
+    @Column
+    private Long da6Num;
+    
+    /**
+    * 投手游戏第7天新用户人数
+    */    
+    @Column
+    private Long da7Num;
+    
+    /**
+    * 投手游戏第8天新用户人数
+    */    
+    @Column
+    private Long da8Num;
+    
+    /**
+    * 投手游戏第9天新用户人数
+    */    
+    @Column
+    private Long da9Num;
+    
+    /**
+    * 投手游戏第10天新用户人数
+    */    
+    @Column
+    private Long da10Num;
+    
+    /**
+    * 投手游戏第11天新用户人数
+    */    
+    @Column
+    private Long da11Num;
+    
+    /**
+    * 投手游戏第12天新用户人数
+    */    
+    @Column
+    private Long da12Num;
+    
+    /**
+    * 投手游戏第13天新用户人数
+    */    
+    @Column
+    private Long da13Num;
+    
+    /**
+    * 投手游戏第14天新用户人数
+    */    
+    @Column
+    private Long da14Num;
+    
+    /**
+    * 投手游戏第15天新用户人数
+    */    
+    @Column
+    private Long da15Num;
+    
+    /**
+    * 投手游戏第16天新用户人数
+    */    
+    @Column
+    private Long da16Num;
+    
+    /**
+    * 投手游戏第17天新用户人数
+    */    
+    @Column
+    private Long da17Num;
+    
+    /**
+    * 投手游戏第18天新用户人数
+    */    
+    @Column
+    private Long da18Num;
+    
+    /**
+    * 投手游戏第19天新用户人数
+    */    
+    @Column
+    private Long da19Num;
+    
+    /**
+    * 投手游戏第20天新用户人数
+    */    
+    @Column
+    private Long da20Num;
+    
+    /**
+    * 投手游戏第21天新用户人数
+    */    
+    @Column
+    private Long da21Num;
+    
+    /**
+    * 投手游戏第22天新用户人数
+    */    
+    @Column
+    private Long da22Num;
+    
+    /**
+    * 投手游戏第23天新用户人数
+    */    
+    @Column
+    private Long da23Num;
+    
+    /**
+    * 投手游戏第24天新用户人数
+    */    
+    @Column
+    private Long da24Num;
+    
+    /**
+    * 投手游戏第25天新用户人数
+    */    
+    @Column
+    private Long da25Num;
+    
+    /**
+    * 投手游戏第26天新用户人数
+    */    
+    @Column
+    private Long da26Num;
+    
+    /**
+    * 投手游戏第27天新用户人数
+    */    
+    @Column
+    private Long da27Num;
+    
+    /**
+    * 投手游戏第28天新用户人数
+    */    
+    @Column
+    private Long da28Num;
+    
+    /**
+    * 投手游戏第29天新用户人数
+    */    
+    @Column
+    private Long da29Num;
+    
+    /**
+    * 投手游戏第30天新用户人数
+    */    
+    @Column
+    private Long da30Num;
+    
+    /**
+    * 投手游戏第2月新用户人数
+    */    
+    @Column
+    private Long m2Num;
+    
+    /**
+    * 投手游戏第3月新用户人数
+    */    
+    @Column
+    private Long m3Num;
+    
+    /**
+    * 投手游戏第6月新用户人数
+    */    
+    @Column
+    private Long m6Num;
+    
+    /**
+    * 投手游戏第1年新用户人数
+    */    
+    @Column
+    private Long y1Num;
+    
+    /**
+    * 至今充值人数
+    */    
+    @Column
+    private Long totalNum;
+    
+
+}
+
+

+ 1375 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/PitcherDataDayTotalVO.java

@@ -1,9 +1,1384 @@
 package com.zanxiang.game.data.serve.pojo.vo;
 
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
 /**
  * @author tianhua
  * @time 2023/8/15
  * @Description 投手每日数据总计实体
  **/
+@Data
 public class PitcherDataDayTotalVO {
+
+    /**
+     * 消耗
+     */
+    @ApiModelProperty(value = "消耗")
+    private BigDecimal cost;
+
+    /**
+     * 推广计划数量
+     */
+    @ApiModelProperty(value = "推广计划数量")
+    private Long planCount;
+
+    /**
+     * 推广账号数量
+     */
+    @ApiModelProperty(value = "推广账号数量")
+    private Long accountCount;
+
+    /**
+     * 推广渠道数量
+     */
+    @ApiModelProperty(value = "推广渠道数量")
+    private Long agentCount;
+
+    /**
+     * 注册人数-通过广告首次登录小游戏的独立用户数
+     */
+    @ApiModelProperty(value = "注册人数-通过广告首次登录小游戏的独立用户数")
+    private Long registerNum;
+
+    /**
+     * 新增付费次数
+     */
+    @ApiModelProperty(value = "新增付费次数")
+    private Long firstNewUserAmountCount;
+
+    /**
+     * 新增付费人数
+     */
+    @ApiModelProperty(value = "新增付费人数")
+    private Long firstNewUserAmountNum;
+
+    /**
+     * 新增付费金额
+     */
+    @ApiModelProperty(value = "新增付费金额")
+    private BigDecimal firstNewUserAmount;
+
+    /**
+     * 账面充值次数
+     */
+    @ApiModelProperty(value = "账面充值次数")
+    private Long amountCount;
+
+    /**
+     * 账面充值人数
+     */
+    @ApiModelProperty(value = "账面充值人数")
+    private Long amountNum;
+
+    /**
+     * 账面充值金额
+     */
+    @ApiModelProperty(value = "账面充值金额")
+    private BigDecimal amount;
+
+    /**
+     * 老用户充值次数(每日)
+     */
+    @ApiModelProperty(value = "老用户充值次数(每日)")
+    private Long oldAmountCount;
+
+    /**
+     * 老用户充值人数(每日)
+     */
+    @ApiModelProperty(value = "老用户充值人数(每日)")
+    private Long oldAmountNum;
+
+    /**
+     * 老用户充值金额(每日)
+     */
+    @ApiModelProperty(value = "老用户充值金额(每日)")
+    private BigDecimal oldAmount;
+
+    /**
+     * 至今充值次数
+     */
+    @ApiModelProperty(value = "至今充值次数")
+    private Long newUserTotalAmountCount;
+
+    /**
+     * 至今充值人数
+     */
+    @ApiModelProperty(value = "至今充值人数")
+    private Long newUserTotalAmountNum;
+
+    /**
+     * 至今充值金额
+     */
+    @ApiModelProperty(value = "至今充值金额")
+    private BigDecimal newUserTotalAmount;
+
+    /**
+     * 单日付费100+人数
+     */
+    @ApiModelProperty(value = "单日付费100+人数")
+    private Long hundredUserNum;
+
+    /**
+     * 买量新用户累计充值金额
+     */
+    @ApiModelProperty(value = "买量新用户累计充值金额")
+    private BigDecimal buyNewUserTotalAmount;
+
+    /**
+     * 买量新用户累计充值人数
+     */
+    @ApiModelProperty(value = "买量新用户累计充值人数")
+    private Long buyNewUserTotalAmountNum;
+
+    /**
+     * 买量新用户累计充值次数
+     */
+    @ApiModelProperty(value = "买量新用户累计充值次数")
+    private Long buyNewUserTotalAmountCount;
+
+    /**
+     * 复充人数
+     */
+    @ApiModelProperty(value = "复充人数")
+    private Long regOrderUserAgain;
+
+    /**
+     * 首日创角人数
+     */
+    @ApiModelProperty(value = "首日创角人数")
+    private Long firstRoleNum;
+
+    /**
+     * 新用户累计创角人数
+     */
+    @ApiModelProperty(value = "新用户累计创角人数")
+    private Long newUserTotalRoleNum;
+
+    /**
+     * 创角人数
+     */
+    @ApiModelProperty(value = "创角人数")
+    private Long roleNum;
+
+    /**
+     * 注册成本=实际消耗/注册人数
+     */
+    @ApiModelProperty(value = "注册成本=实际消耗/注册人数")
+    private BigDecimal registerCost;
+
+    /**
+     * 首日回收率
+     */
+    @ApiModelProperty(value = "首日回收率")
+    private BigDecimal firstRoi;
+
+    /**
+     * 买量回收率
+     */
+    @ApiModelProperty(value = "买量回收率")
+    private BigDecimal buyRoi;
+
+    /**
+     * 当日回收率
+     */
+    @ApiModelProperty(value = "当日回收率")
+    private BigDecimal todayRoi;
+
+    /**
+     * 毛利额,毛利=新用户-实际消耗
+     */
+    @ApiModelProperty(value = "毛利额,毛利=新用户-实际消耗")
+    private BigDecimal grossProfit;
+
+    /**
+     * 首日付费率
+     */
+    @ApiModelProperty(value = "首日付费率")
+    private BigDecimal firstRate;
+
+    /**
+     * 买量用户付费率
+     */
+    @ApiModelProperty(value = "买量用户付费率")
+    private BigDecimal buyUserRate;
+
+    /**
+     * 当天付费率
+     */
+    @ApiModelProperty(value = "当天付费率")
+    private BigDecimal todayRate;
+
+    /**
+     * 首日客单价
+     */
+    @ApiModelProperty(value = "首日客单价")
+    private BigDecimal firstAvg;
+
+    /**
+     * 买量客单价
+     */
+    @ApiModelProperty(value = "买量客单价")
+    private BigDecimal buyAvg;
+
+    /**
+     * 当天客单价
+     */
+    @ApiModelProperty(value = "当天客单价")
+    private BigDecimal todayAvg;
+
+    /**
+     * 账面客单价
+     */
+    @ApiModelProperty(value = "账面客单价")
+    private BigDecimal paperAvg;
+
+    /**
+     * 首日充值成本
+     */
+    @ApiModelProperty(value = "首日充值成本")
+    private BigDecimal firstAmountCost;
+
+    /**
+     * 买量充值成本
+     */
+    @ApiModelProperty(value = "买量充值成本")
+    private BigDecimal buyAmountCost;
+
+    /**
+     * 当天充值成本
+     */
+    @ApiModelProperty(value = "当天充值成本")
+    private BigDecimal todayAmountCost;
+
+    /**
+     * 当天复充率
+     */
+    @ApiModelProperty(value = "当天复充率")
+    private BigDecimal todayAgainRate;
+
+    /**
+     * 新增注册ARPU
+     */
+    @ApiModelProperty(value = "新增注册ARPU")
+    private BigDecimal newRegArpu;
+
+    /**
+     * 首日付费ARPU
+     */
+    @ApiModelProperty(value = "首日付费ARPU")
+    private BigDecimal firstArpu;
+
+    /**
+     * 当天付费ARPU
+     */
+    @ApiModelProperty(value = "当天付费ARPU")
+    private BigDecimal todayArpu;
+
+    /**
+     * 账面arpu
+     */
+    @ApiModelProperty(value = "账面arpu")
+    private BigDecimal paperArpu;
+
+    /**
+     * 单日付费100+成本
+     */
+    @ApiModelProperty(value = "单日付费100+成本")
+    private BigDecimal hundredUserNumCost;
+
+    /**
+     * 1日roi
+     */
+    @ApiModelProperty(value = "1日roi")
+    private BigDecimal roi1;
+
+    /**
+     * 2日roi
+     */
+    @ApiModelProperty(value = "2日roi")
+    private BigDecimal roi2;
+
+    /**
+     * 3日roi
+     */
+    @ApiModelProperty(value = "3日roi")
+    private BigDecimal roi3;
+
+    /**
+     * 4日roi
+     */
+    @ApiModelProperty(value = "4日roi")
+    private BigDecimal roi4;
+
+    /**
+     * 5日roi
+     */
+    @ApiModelProperty(value = "5日roi")
+    private BigDecimal roi5;
+
+    /**
+     * 6日roi
+     */
+    @ApiModelProperty(value = "6日roi")
+    private BigDecimal roi6;
+
+    /**
+     * 7日roi
+     */
+    @ApiModelProperty(value = "7日roi")
+    private BigDecimal roi7;
+
+    /**
+     * 8日roi
+     */
+    @ApiModelProperty(value = "8日roi")
+    private BigDecimal roi8;
+
+    /**
+     * 9日roi
+     */
+    @ApiModelProperty(value = "9日roi")
+    private BigDecimal roi9;
+
+    /**
+     * 10日roi
+     */
+    @ApiModelProperty(value = "10日roi")
+    private BigDecimal roi10;
+
+    /**
+     * 11日roi
+     */
+    @ApiModelProperty(value = "11日roi")
+    private BigDecimal roi11;
+
+    /**
+     * 12日roi
+     */
+    @ApiModelProperty(value = "12日roi")
+    private BigDecimal roi12;
+
+    /**
+     * 13日roi
+     */
+    @ApiModelProperty(value = "13日roi")
+    private BigDecimal roi13;
+
+    /**
+     * 14日roi
+     */
+    @ApiModelProperty(value = "14日roi")
+    private BigDecimal roi14;
+
+    /**
+     * 15日roi
+     */
+    @ApiModelProperty(value = "15日roi")
+    private BigDecimal roi15;
+
+    /**
+     * 16日roi
+     */
+    @ApiModelProperty(value = "16日roi")
+    private BigDecimal roi16;
+
+    /**
+     * 17日roi
+     */
+    @ApiModelProperty(value = "17日roi")
+    private BigDecimal roi17;
+
+    /**
+     * 18日roi
+     */
+    @ApiModelProperty(value = "18日roi")
+    private BigDecimal roi18;
+
+    /**
+     * 19日roi
+     */
+    @ApiModelProperty(value = "19日roi")
+    private BigDecimal roi19;
+
+    /**
+     * 20日roi
+     */
+    @ApiModelProperty(value = "20日roi")
+    private BigDecimal roi20;
+
+    /**
+     * 21日roi
+     */
+    @ApiModelProperty(value = "21日roi")
+    private BigDecimal roi21;
+
+    /**
+     * 22日roi
+     */
+    @ApiModelProperty(value = "22日roi")
+    private BigDecimal roi22;
+
+    /**
+     * 23日roi
+     */
+    @ApiModelProperty(value = "23日roi")
+    private BigDecimal roi23;
+
+    /**
+     * 24日roi
+     */
+    @ApiModelProperty(value = "24日roi")
+    private BigDecimal roi24;
+
+    /**
+     * 25日roi
+     */
+    @ApiModelProperty(value = "25日roi")
+    private BigDecimal roi25;
+
+    /**
+     * 26日roi
+     */
+    @ApiModelProperty(value = "26日roi")
+    private BigDecimal roi26;
+
+    /**
+     * 27日roi
+     */
+    @ApiModelProperty(value = "27日roi")
+    private BigDecimal roi27;
+
+    /**
+     * 28日roi
+     */
+    @ApiModelProperty(value = "28日roi")
+    private BigDecimal roi28;
+
+    /**
+     * 29日roi
+     */
+    @ApiModelProperty(value = "29日roi")
+    private BigDecimal roi29;
+
+    /**
+     * 30日roi
+     */
+    @ApiModelProperty(value = "30日roi")
+    private BigDecimal roi30;
+
+    /**
+     * 60日ROI
+     */
+    @ApiModelProperty(value = "60日ROI")
+    private BigDecimal roi60;
+
+    /**
+     * 90日ROI
+     */
+    @ApiModelProperty(value = "90日ROI")
+    private BigDecimal roi90;
+
+    /**
+     * 180日ROI
+     */
+    @ApiModelProperty(value = "180日ROI")
+    private BigDecimal roi180;
+
+    /**
+     * 1年ROI
+     */
+    @ApiModelProperty(value = "1年ROI")
+    private BigDecimal roi1yaer;
+
+    /**
+     * 总ROI
+     */
+    @ApiModelProperty(value = "总ROI")
+    private BigDecimal roiTotal;
+
+    /**
+     * 付费趋势第1日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第1日总:金额/人数/增/回/倍")
+    private String amountD1;
+
+    /**
+     * 付费趋势第2日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第2日总:金额/人数/增/回/倍")
+    private String amountD2;
+
+    /**
+     * 付费趋势第3日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第3日总:金额/人数/增/回/倍")
+    private String amountD3;
+
+    /**
+     * 付费趋势第4日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第4日总:金额/人数/增/回/倍")
+    private String amountD4;
+
+    /**
+     * 付费趋势第5日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第5日总:金额/人数/增/回/倍")
+    private String amountD5;
+
+    /**
+     * 付费趋势第6日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第6日总:金额/人数/增/回/倍")
+    private String amountD6;
+
+    /**
+     * 付费趋势第7日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第7日总:金额/人数/增/回/倍")
+    private String amountD7;
+
+    /**
+     * 付费趋势第8日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第8日总:金额/人数/增/回/倍")
+    private String amountD8;
+
+    /**
+     * 付费趋势第9日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第9日总:金额/人数/增/回/倍")
+    private String amountD9;
+
+    /**
+     * 付费趋势第10日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第10日总:金额/人数/增/回/倍")
+    private String amountD10;
+
+    /**
+     * 付费趋势第11日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第11日总:金额/人数/增/回/倍")
+    private String amountD11;
+
+    /**
+     * 付费趋势第12日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第12日总:金额/人数/增/回/倍")
+    private String amountD12;
+
+    /**
+     * 付费趋势第13日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第13日总:金额/人数/增/回/倍")
+    private String amountD13;
+
+    /**
+     * 付费趋势第14日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第14日总:金额/人数/增/回/倍")
+    private String amountD14;
+
+    /**
+     * 付费趋势第15日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第15日总:金额/人数/增/回/倍")
+    private String amountD15;
+
+    /**
+     * 付费趋势第16日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第16日总:金额/人数/增/回/倍")
+    private String amountD16;
+
+    /**
+     * 付费趋势第17日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第17日总:金额/人数/增/回/倍")
+    private String amountD17;
+
+    /**
+     * 付费趋势第18日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第18日总:金额/人数/增/回/倍")
+    private String amountD18;
+
+    /**
+     * 付费趋势第19日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第19日总:金额/人数/增/回/倍")
+    private String amountD19;
+
+    /**
+     * 付费趋势第20日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第20日总:金额/人数/增/回/倍")
+    private String amountD20;
+
+    /**
+     * 付费趋势第21日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第21日总:金额/人数/增/回/倍")
+    private String amountD21;
+
+    /**
+     * 付费趋势第22日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第22日总:金额/人数/增/回/倍")
+    private String amountD22;
+
+    /**
+     * 付费趋势第23日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第23日总:金额/人数/增/回/倍")
+    private String amountD23;
+
+    /**
+     * 付费趋势第24日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第24日总:金额/人数/增/回/倍")
+    private String amountD24;
+
+    /**
+     * 付费趋势第25日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第25日总:金额/人数/增/回/倍")
+    private String amountD25;
+
+    /**
+     * 付费趋势第26日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第26日总:金额/人数/增/回/倍")
+    private String amountD26;
+
+    /**
+     * 付费趋势第27日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第27日总:金额/人数/增/回/倍")
+    private String amountD27;
+
+    /**
+     * 付费趋势第28日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第28日总:金额/人数/增/回/倍")
+    private String amountD28;
+
+    /**
+     * 付费趋势第29日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第29日总:金额/人数/增/回/倍")
+    private String amountD29;
+
+    /**
+     * 付费趋势第30日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第30日总:金额/人数/增/回/倍")
+    private String amountM1;
+
+    /**
+     * 付费趋势第二月总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第二月总:金额/人数/增/回/倍")
+    private String amountM2;
+
+    /**
+     * 付费趋势第三月总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第三月总:金额/人数/增/回/倍")
+    private String amountM3;
+
+    /**
+     * 付费趋势六月总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势六月总:金额/人数/增/回/倍")
+    private String amountM6;
+
+    /**
+     * 付费趋势一年总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势一年总:金额/人数/增/回/倍")
+    private String amountY1;
+
+    /**
+     * 付费趋势总:增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势总:增/回/倍")
+    private String amountSum;
+
+    /**
+     * 投手游戏第1天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第1天新用户充值")
+    private BigDecimal da1;
+
+    /**
+     * 投手游戏第2天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第2天新用户充值")
+    private BigDecimal da2;
+
+    /**
+     * 投手游戏第3天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第3天新用户充值")
+    private BigDecimal da3;
+
+    /**
+     * 投手游戏第4天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第4天新用户充值")
+    private BigDecimal da4;
+
+    /**
+     * 投手游戏第5天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第5天新用户充值")
+    private BigDecimal da5;
+
+    /**
+     * 投手游戏第6天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第6天新用户充值")
+    private BigDecimal da6;
+
+    /**
+     * 投手游戏第7天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第7天新用户充值")
+    private BigDecimal da7;
+
+    /**
+     * 投手游戏第8天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第8天新用户充值")
+    private BigDecimal da8;
+
+    /**
+     * 投手游戏第9天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第9天新用户充值")
+    private BigDecimal da9;
+
+    /**
+     * 投手游戏第10天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第10天新用户充值")
+    private BigDecimal da10;
+
+    /**
+     * 投手游戏第11天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第11天新用户充值")
+    private BigDecimal da11;
+
+    /**
+     * 投手游戏第12天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第12天新用户充值")
+    private BigDecimal da12;
+
+    /**
+     * 投手游戏第13天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第13天新用户充值")
+    private BigDecimal da13;
+
+    /**
+     * 投手游戏第14天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第14天新用户充值")
+    private BigDecimal da14;
+
+    /**
+     * 投手游戏第15天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第15天新用户充值")
+    private BigDecimal da15;
+
+    /**
+     * 投手游戏第16天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第16天新用户充值")
+    private BigDecimal da16;
+
+    /**
+     * 投手游戏第17天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第17天新用户充值")
+    private BigDecimal da17;
+
+    /**
+     * 投手游戏第18天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第18天新用户充值")
+    private BigDecimal da18;
+
+    /**
+     * 投手游戏第19天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第19天新用户充值")
+    private BigDecimal da19;
+
+    /**
+     * 投手游戏第20天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第20天新用户充值")
+    private BigDecimal da20;
+
+    /**
+     * 投手游戏第21天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第21天新用户充值")
+    private BigDecimal da21;
+
+    /**
+     * 投手游戏第22天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第22天新用户充值")
+    private BigDecimal da22;
+
+    /**
+     * 投手游戏第23天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第23天新用户充值")
+    private BigDecimal da23;
+
+    /**
+     * 投手游戏第24天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第24天新用户充值")
+    private BigDecimal da24;
+
+    /**
+     * 投手游戏第25天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第25天新用户充值")
+    private BigDecimal da25;
+
+    /**
+     * 投手游戏第26天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第26天新用户充值")
+    private BigDecimal da26;
+
+    /**
+     * 投手游戏第27天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第27天新用户充值")
+    private BigDecimal da27;
+
+    /**
+     * 投手游戏第28天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第28天新用户充值")
+    private BigDecimal da28;
+
+    /**
+     * 投手游戏第29天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第29天新用户充值")
+    private BigDecimal da29;
+
+    /**
+     * 投手游戏第30天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第30天新用户充值")
+    private BigDecimal da30;
+
+    /**
+     * 投手游戏第2月新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第2月新用户充值")
+    private BigDecimal m2;
+
+    /**
+     * 投手游戏第3月新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第3月新用户充值")
+    private BigDecimal m3;
+
+    /**
+     * 投手游戏第6月新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第6月新用户充值")
+    private BigDecimal m6;
+
+    /**
+     * 投手游戏第1年新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第1年新用户充值")
+    private BigDecimal y1;
+
+    /**
+     * 至今充值金额
+     */
+    @ApiModelProperty(value = "至今充值金额")
+    private BigDecimal total;
+
+    /**
+     * 投手游戏第1天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第1天新用户人数")
+    private Long da1Num;
+
+    /**
+     * 投手游戏第2天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第2天新用户人数")
+    private Long da2Num;
+
+    /**
+     * 投手游戏第3天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第3天新用户人数")
+    private Long da3Num;
+
+    /**
+     * 投手游戏第4天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第4天新用户人数")
+    private Long da4Num;
+
+    /**
+     * 投手游戏第5天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第5天新用户人数")
+    private Long da5Num;
+
+    /**
+     * 投手游戏第6天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第6天新用户人数")
+    private Long da6Num;
+
+    /**
+     * 投手游戏第7天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第7天新用户人数")
+    private Long da7Num;
+
+    /**
+     * 投手游戏第8天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第8天新用户人数")
+    private Long da8Num;
+
+    /**
+     * 投手游戏第9天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第9天新用户人数")
+    private Long da9Num;
+
+    /**
+     * 投手游戏第10天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第10天新用户人数")
+    private Long da10Num;
+
+    /**
+     * 投手游戏第11天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第11天新用户人数")
+    private Long da11Num;
+
+    /**
+     * 投手游戏第12天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第12天新用户人数")
+    private Long da12Num;
+
+    /**
+     * 投手游戏第13天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第13天新用户人数")
+    private Long da13Num;
+
+    /**
+     * 投手游戏第14天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第14天新用户人数")
+    private Long da14Num;
+
+    /**
+     * 投手游戏第15天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第15天新用户人数")
+    private Long da15Num;
+
+    /**
+     * 投手游戏第16天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第16天新用户人数")
+    private Long da16Num;
+
+    /**
+     * 投手游戏第17天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第17天新用户人数")
+    private Long da17Num;
+
+    /**
+     * 投手游戏第18天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第18天新用户人数")
+    private Long da18Num;
+
+    /**
+     * 投手游戏第19天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第19天新用户人数")
+    private Long da19Num;
+
+    /**
+     * 投手游戏第20天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第20天新用户人数")
+    private Long da20Num;
+
+    /**
+     * 投手游戏第21天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第21天新用户人数")
+    private Long da21Num;
+
+    /**
+     * 投手游戏第22天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第22天新用户人数")
+    private Long da22Num;
+
+    /**
+     * 投手游戏第23天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第23天新用户人数")
+    private Long da23Num;
+
+    /**
+     * 投手游戏第24天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第24天新用户人数")
+    private Long da24Num;
+
+    /**
+     * 投手游戏第25天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第25天新用户人数")
+    private Long da25Num;
+
+    /**
+     * 投手游戏第26天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第26天新用户人数")
+    private Long da26Num;
+
+    /**
+     * 投手游戏第27天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第27天新用户人数")
+    private Long da27Num;
+
+    /**
+     * 投手游戏第28天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第28天新用户人数")
+    private Long da28Num;
+
+    /**
+     * 投手游戏第29天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第29天新用户人数")
+    private Long da29Num;
+
+    /**
+     * 投手游戏第30天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第30天新用户人数")
+    private Long da30Num;
+
+    /**
+     * 投手游戏第2月新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第2月新用户人数")
+    private Long m2Num;
+
+    /**
+     * 投手游戏第3月新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第3月新用户人数")
+    private Long m3Num;
+
+    /**
+     * 投手游戏第6月新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第6月新用户人数")
+    private Long m6Num;
+
+    /**
+     * 投手游戏第1年新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第1年新用户人数")
+    private Long y1Num;
+
+    /**
+     * 至今充值人数
+     */
+    @ApiModelProperty(value = "至今充值人数")
+    private Long totalNum;
+
+    /**
+     * 首日创角成本
+     */
+    @ApiModelProperty(value = "首日创角成本")
+    private BigDecimal firstRoleCost;
+
+    /**
+     * 新用户累计创角成本
+     */
+    @ApiModelProperty(value = "新用户累计创角成本")
+    private BigDecimal newUserTotalRoleCost;
+
+    /**
+     * 创角成本
+     */
+    @ApiModelProperty(value = "创角成本")
+    private BigDecimal roleNumCost;
+
+    /**
+     * 首日创角率
+     */
+    @ApiModelProperty(value = "首日创角率")
+    private BigDecimal firstRoleRate;
+
+    /**
+     * 新用户累计创角率
+     */
+    @ApiModelProperty(value = "新用户累计创角率")
+    private BigDecimal newUserTotalRoleRate;
+
+    /**
+     * 创角率
+     */
+    @ApiModelProperty(value = "创角率")
+    private BigDecimal roleNumRate;
+
+    /**
+     * 新用户付费比
+     */
+    @ApiModelProperty(value = "新用户付费比")
+    private BigDecimal newUserAmountRatio;
+
+    /**
+     * 付费趋势第1日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第1日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD1Trend;
+
+    /**
+     * 付费趋势第2日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第2日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD2Trend;
+
+    /**
+     * 付费趋势第3日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第3日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD3Trend;
+
+    /**
+     * 付费趋势第4日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第4日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD4Trend;
+
+    /**
+     * 付费趋势第5日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第5日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD5Trend;
+
+    /**
+     * 付费趋势第6日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第6日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD6Trend;
+
+    /**
+     * 付费趋势第7日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第7日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD7Trend;
+
+    /**
+     * 付费趋势第8日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第8日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD8Trend;
+
+    /**
+     * 付费趋势第9日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第9日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD9Trend;
+
+    /**
+     * 付费趋势第10日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第10日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD10Trend;
+
+    /**
+     * 付费趋势第11日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第11日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD11Trend;
+
+    /**
+     * 付费趋势第12日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第12日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD12Trend;
+
+    /**
+     * 付费趋势第13日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第13日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD13Trend;
+
+    /**
+     * 付费趋势第14日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第14日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD14Trend;
+
+    /**
+     * 付费趋势第15日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第15日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD15Trend;
+
+    /**
+     * 付费趋势第16日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第16日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD16Trend;
+
+    /**
+     * 付费趋势第17日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第17日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD17Trend;
+
+    /**
+     * 付费趋势第18日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第18日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD18Trend;
+
+    /**
+     * 付费趋势第19日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第19日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD19Trend;
+
+    /**
+     * 付费趋势第20日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第20日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD20Trend;
+
+    /**
+     * 付费趋势第21日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第21日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD21Trend;
+
+    /**
+     * 付费趋势第22日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第22日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD22Trend;
+
+    /**
+     * 付费趋势第23日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第23日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD23Trend;
+
+    /**
+     * 付费趋势第24日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第24日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD24Trend;
+
+    /**
+     * 付费趋势第25日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第25日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD25Trend;
+
+    /**
+     * 付费趋势第26日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第26日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD26Trend;
+
+    /**
+     * 付费趋势第27日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第27日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD27Trend;
+
+    /**
+     * 付费趋势第28日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第28日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD28Trend;
+
+    /**
+     * 付费趋势第29日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第29日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD29Trend;
+
+    /**
+     * 付费趋势第30日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第30日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountM1Trend;
+
+    /**
+     * 付费趋势第二月总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第二月总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountM2Trend;
+
+    /**
+     * 付费趋势第三月总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第三月总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountM3Trend;
+
+    /**
+     * 付费趋势六月总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势六月总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountM6Trend;
+
+    /**
+     * 付费趋势一年总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势一年总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountY1Trend;
+
+    /**
+     * 付费趋势总:增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势总:增/回/倍")
+    private RechargeTrendVO amountSumTrend;
+
 }

+ 1400 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/PitcherDataDayVO.java

@@ -1,9 +1,1409 @@
 package com.zanxiang.game.data.serve.pojo.vo;
 
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
 /**
  * @author tianhua
  * @time 2023/8/15
  * @Description 投手每日数据实体
  **/
+@Data
 public class PitcherDataDayVO {
+
+    /**
+     * 日期(充值时间)
+     */
+    @ApiModelProperty(value = "日期(充值时间)")
+    private LocalDate dt;
+
+    /**
+     * SDK来源
+     */
+    @ApiModelProperty(value = "SDK来源")
+    private String sourceSystem;
+
+    /**
+     * 投手ID
+     */
+    @ApiModelProperty(value = "投手ID")
+    private Long pitcherId;
+
+    /**
+     * 投手
+     */
+    @ApiModelProperty(value = "投手")
+    private String pitcher;
+
+    /**
+     * 消耗
+     */
+    @ApiModelProperty(value = "消耗")
+    private BigDecimal cost;
+
+    /**
+     * 推广计划数量
+     */
+    @ApiModelProperty(value = "推广计划数量")
+    private Long planCount;
+
+    /**
+     * 推广账号数量
+     */
+    @ApiModelProperty(value = "推广账号数量")
+    private Long accountCount;
+
+    /**
+     * 推广渠道数量
+     */
+    @ApiModelProperty(value = "推广渠道数量")
+    private Long agentCount;
+
+    /**
+     * 注册人数-通过广告首次登录小游戏的独立用户数
+     */
+    @ApiModelProperty(value = "注册人数-通过广告首次登录小游戏的独立用户数")
+    private Long registerNum;
+
+    /**
+     * 新增付费次数
+     */
+    @ApiModelProperty(value = "新增付费次数")
+    private Long firstNewUserAmountCount;
+
+    /**
+     * 新增付费人数
+     */
+    @ApiModelProperty(value = "新增付费人数")
+    private Long firstNewUserAmountNum;
+
+    /**
+     * 新增付费金额
+     */
+    @ApiModelProperty(value = "新增付费金额")
+    private BigDecimal firstNewUserAmount;
+
+    /**
+     * 账面充值次数
+     */
+    @ApiModelProperty(value = "账面充值次数")
+    private Long amountCount;
+
+    /**
+     * 账面充值人数
+     */
+    @ApiModelProperty(value = "账面充值人数")
+    private Long amountNum;
+
+    /**
+     * 账面充值金额
+     */
+    @ApiModelProperty(value = "账面充值金额")
+    private BigDecimal amount;
+
+    /**
+     * 老用户充值次数(每日)
+     */
+    @ApiModelProperty(value = "老用户充值次数(每日)")
+    private Long oldAmountCount;
+
+    /**
+     * 老用户充值人数(每日)
+     */
+    @ApiModelProperty(value = "老用户充值人数(每日)")
+    private Long oldAmountNum;
+
+    /**
+     * 老用户充值金额(每日)
+     */
+    @ApiModelProperty(value = "老用户充值金额(每日)")
+    private BigDecimal oldAmount;
+
+    /**
+     * 至今充值次数
+     */
+    @ApiModelProperty(value = "至今充值次数")
+    private Long newUserTotalAmountCount;
+
+    /**
+     * 至今充值人数
+     */
+    @ApiModelProperty(value = "至今充值人数")
+    private Long newUserTotalAmountNum;
+
+    /**
+     * 至今充值金额
+     */
+    @ApiModelProperty(value = "至今充值金额")
+    private BigDecimal newUserTotalAmount;
+
+    /**
+     * 单日付费100+人数
+     */
+    @ApiModelProperty(value = "单日付费100+人数")
+    private Long hundredUserNum;
+
+    /**
+     * 买量新用户累计充值金额
+     */
+    @ApiModelProperty(value = "买量新用户累计充值金额")
+    private BigDecimal buyNewUserTotalAmount;
+
+    /**
+     * 买量新用户累计充值人数
+     */
+    @ApiModelProperty(value = "买量新用户累计充值人数")
+    private Long buyNewUserTotalAmountNum;
+
+    /**
+     * 买量新用户累计充值次数
+     */
+    @ApiModelProperty(value = "买量新用户累计充值次数")
+    private Long buyNewUserTotalAmountCount;
+
+    /**
+     * 复充人数
+     */
+    @ApiModelProperty(value = "复充人数")
+    private Long regOrderUserAgain;
+
+    /**
+     * 首日创角人数
+     */
+    @ApiModelProperty(value = "首日创角人数")
+    private Long firstRoleNum;
+
+    /**
+     * 新用户累计创角人数
+     */
+    @ApiModelProperty(value = "新用户累计创角人数")
+    private Long newUserTotalRoleNum;
+
+    /**
+     * 创角人数
+     */
+    @ApiModelProperty(value = "创角人数")
+    private Long roleNum;
+
+    /**
+     * 注册成本=实际消耗/注册人数
+     */
+    @ApiModelProperty(value = "注册成本=实际消耗/注册人数")
+    private BigDecimal registerCost;
+
+    /**
+     * 首日回收率
+     */
+    @ApiModelProperty(value = "首日回收率")
+    private BigDecimal firstRoi;
+
+    /**
+     * 买量回收率
+     */
+    @ApiModelProperty(value = "买量回收率")
+    private BigDecimal buyRoi;
+
+    /**
+     * 当日回收率
+     */
+    @ApiModelProperty(value = "当日回收率")
+    private BigDecimal todayRoi;
+
+    /**
+     * 毛利额,毛利=新用户-实际消耗
+     */
+    @ApiModelProperty(value = "毛利额,毛利=新用户-实际消耗")
+    private BigDecimal grossProfit;
+
+    /**
+     * 首日付费率
+     */
+    @ApiModelProperty(value = "首日付费率")
+    private BigDecimal firstRate;
+
+    /**
+     * 买量用户付费率
+     */
+    @ApiModelProperty(value = "买量用户付费率")
+    private BigDecimal buyUserRate;
+
+    /**
+     * 当天付费率
+     */
+    @ApiModelProperty(value = "当天付费率")
+    private BigDecimal todayRate;
+
+    /**
+     * 首日客单价
+     */
+    @ApiModelProperty(value = "首日客单价")
+    private BigDecimal firstAvg;
+
+    /**
+     * 买量客单价
+     */
+    @ApiModelProperty(value = "买量客单价")
+    private BigDecimal buyAvg;
+
+    /**
+     * 当天客单价
+     */
+    @ApiModelProperty(value = "当天客单价")
+    private BigDecimal todayAvg;
+
+    /**
+     * 账面客单价
+     */
+    @ApiModelProperty(value = "账面客单价")
+    private BigDecimal paperAvg;
+
+    /**
+     * 首日充值成本
+     */
+    @ApiModelProperty(value = "首日充值成本")
+    private BigDecimal firstAmountCost;
+
+    /**
+     * 买量充值成本
+     */
+    @ApiModelProperty(value = "买量充值成本")
+    private BigDecimal buyAmountCost;
+
+    /**
+     * 当天充值成本
+     */
+    @ApiModelProperty(value = "当天充值成本")
+    private BigDecimal todayAmountCost;
+
+    /**
+     * 当天复充率
+     */
+    @ApiModelProperty(value = "当天复充率")
+    private BigDecimal todayAgainRate;
+
+    /**
+     * 新增注册ARPU
+     */
+    @ApiModelProperty(value = "新增注册ARPU")
+    private BigDecimal newRegArpu;
+
+    /**
+     * 首日付费ARPU
+     */
+    @ApiModelProperty(value = "首日付费ARPU")
+    private BigDecimal firstArpu;
+
+    /**
+     * 当天付费ARPU
+     */
+    @ApiModelProperty(value = "当天付费ARPU")
+    private BigDecimal todayArpu;
+
+    /**
+     * 账面arpu
+     */
+    @ApiModelProperty(value = "账面arpu")
+    private BigDecimal paperArpu;
+
+    /**
+     * 单日付费100+成本
+     */
+    @ApiModelProperty(value = "单日付费100+成本")
+    private BigDecimal hundredUserNumCost;
+
+    /**
+     * 1日roi
+     */
+    @ApiModelProperty(value = "1日roi")
+    private BigDecimal roi1;
+
+    /**
+     * 2日roi
+     */
+    @ApiModelProperty(value = "2日roi")
+    private BigDecimal roi2;
+
+    /**
+     * 3日roi
+     */
+    @ApiModelProperty(value = "3日roi")
+    private BigDecimal roi3;
+
+    /**
+     * 4日roi
+     */
+    @ApiModelProperty(value = "4日roi")
+    private BigDecimal roi4;
+
+    /**
+     * 5日roi
+     */
+    @ApiModelProperty(value = "5日roi")
+    private BigDecimal roi5;
+
+    /**
+     * 6日roi
+     */
+    @ApiModelProperty(value = "6日roi")
+    private BigDecimal roi6;
+
+    /**
+     * 7日roi
+     */
+    @ApiModelProperty(value = "7日roi")
+    private BigDecimal roi7;
+
+    /**
+     * 8日roi
+     */
+    @ApiModelProperty(value = "8日roi")
+    private BigDecimal roi8;
+
+    /**
+     * 9日roi
+     */
+    @ApiModelProperty(value = "9日roi")
+    private BigDecimal roi9;
+
+    /**
+     * 10日roi
+     */
+    @ApiModelProperty(value = "10日roi")
+    private BigDecimal roi10;
+
+    /**
+     * 11日roi
+     */
+    @ApiModelProperty(value = "11日roi")
+    private BigDecimal roi11;
+
+    /**
+     * 12日roi
+     */
+    @ApiModelProperty(value = "12日roi")
+    private BigDecimal roi12;
+
+    /**
+     * 13日roi
+     */
+    @ApiModelProperty(value = "13日roi")
+    private BigDecimal roi13;
+
+    /**
+     * 14日roi
+     */
+    @ApiModelProperty(value = "14日roi")
+    private BigDecimal roi14;
+
+    /**
+     * 15日roi
+     */
+    @ApiModelProperty(value = "15日roi")
+    private BigDecimal roi15;
+
+    /**
+     * 16日roi
+     */
+    @ApiModelProperty(value = "16日roi")
+    private BigDecimal roi16;
+
+    /**
+     * 17日roi
+     */
+    @ApiModelProperty(value = "17日roi")
+    private BigDecimal roi17;
+
+    /**
+     * 18日roi
+     */
+    @ApiModelProperty(value = "18日roi")
+    private BigDecimal roi18;
+
+    /**
+     * 19日roi
+     */
+    @ApiModelProperty(value = "19日roi")
+    private BigDecimal roi19;
+
+    /**
+     * 20日roi
+     */
+    @ApiModelProperty(value = "20日roi")
+    private BigDecimal roi20;
+
+    /**
+     * 21日roi
+     */
+    @ApiModelProperty(value = "21日roi")
+    private BigDecimal roi21;
+
+    /**
+     * 22日roi
+     */
+    @ApiModelProperty(value = "22日roi")
+    private BigDecimal roi22;
+
+    /**
+     * 23日roi
+     */
+    @ApiModelProperty(value = "23日roi")
+    private BigDecimal roi23;
+
+    /**
+     * 24日roi
+     */
+    @ApiModelProperty(value = "24日roi")
+    private BigDecimal roi24;
+
+    /**
+     * 25日roi
+     */
+    @ApiModelProperty(value = "25日roi")
+    private BigDecimal roi25;
+
+    /**
+     * 26日roi
+     */
+    @ApiModelProperty(value = "26日roi")
+    private BigDecimal roi26;
+
+    /**
+     * 27日roi
+     */
+    @ApiModelProperty(value = "27日roi")
+    private BigDecimal roi27;
+
+    /**
+     * 28日roi
+     */
+    @ApiModelProperty(value = "28日roi")
+    private BigDecimal roi28;
+
+    /**
+     * 29日roi
+     */
+    @ApiModelProperty(value = "29日roi")
+    private BigDecimal roi29;
+
+    /**
+     * 30日roi
+     */
+    @ApiModelProperty(value = "30日roi")
+    private BigDecimal roi30;
+
+    /**
+     * 60日ROI
+     */
+    @ApiModelProperty(value = "60日ROI")
+    private BigDecimal roi60;
+
+    /**
+     * 90日ROI
+     */
+    @ApiModelProperty(value = "90日ROI")
+    private BigDecimal roi90;
+
+    /**
+     * 180日ROI
+     */
+    @ApiModelProperty(value = "180日ROI")
+    private BigDecimal roi180;
+
+    /**
+     * 1年ROI
+     */
+    @ApiModelProperty(value = "1年ROI")
+    private BigDecimal roi1yaer;
+
+    /**
+     * 总ROI
+     */
+    @ApiModelProperty(value = "总ROI")
+    private BigDecimal roiTotal;
+
+    /**
+     * 付费趋势第1日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第1日总:金额/人数/增/回/倍")
+    private String amountD1;
+
+    /**
+     * 付费趋势第2日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第2日总:金额/人数/增/回/倍")
+    private String amountD2;
+
+    /**
+     * 付费趋势第3日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第3日总:金额/人数/增/回/倍")
+    private String amountD3;
+
+    /**
+     * 付费趋势第4日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第4日总:金额/人数/增/回/倍")
+    private String amountD4;
+
+    /**
+     * 付费趋势第5日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第5日总:金额/人数/增/回/倍")
+    private String amountD5;
+
+    /**
+     * 付费趋势第6日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第6日总:金额/人数/增/回/倍")
+    private String amountD6;
+
+    /**
+     * 付费趋势第7日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第7日总:金额/人数/增/回/倍")
+    private String amountD7;
+
+    /**
+     * 付费趋势第8日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第8日总:金额/人数/增/回/倍")
+    private String amountD8;
+
+    /**
+     * 付费趋势第9日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第9日总:金额/人数/增/回/倍")
+    private String amountD9;
+
+    /**
+     * 付费趋势第10日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第10日总:金额/人数/增/回/倍")
+    private String amountD10;
+
+    /**
+     * 付费趋势第11日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第11日总:金额/人数/增/回/倍")
+    private String amountD11;
+
+    /**
+     * 付费趋势第12日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第12日总:金额/人数/增/回/倍")
+    private String amountD12;
+
+    /**
+     * 付费趋势第13日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第13日总:金额/人数/增/回/倍")
+    private String amountD13;
+
+    /**
+     * 付费趋势第14日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第14日总:金额/人数/增/回/倍")
+    private String amountD14;
+
+    /**
+     * 付费趋势第15日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第15日总:金额/人数/增/回/倍")
+    private String amountD15;
+
+    /**
+     * 付费趋势第16日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第16日总:金额/人数/增/回/倍")
+    private String amountD16;
+
+    /**
+     * 付费趋势第17日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第17日总:金额/人数/增/回/倍")
+    private String amountD17;
+
+    /**
+     * 付费趋势第18日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第18日总:金额/人数/增/回/倍")
+    private String amountD18;
+
+    /**
+     * 付费趋势第19日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第19日总:金额/人数/增/回/倍")
+    private String amountD19;
+
+    /**
+     * 付费趋势第20日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第20日总:金额/人数/增/回/倍")
+    private String amountD20;
+
+    /**
+     * 付费趋势第21日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第21日总:金额/人数/增/回/倍")
+    private String amountD21;
+
+    /**
+     * 付费趋势第22日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第22日总:金额/人数/增/回/倍")
+    private String amountD22;
+
+    /**
+     * 付费趋势第23日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第23日总:金额/人数/增/回/倍")
+    private String amountD23;
+
+    /**
+     * 付费趋势第24日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第24日总:金额/人数/增/回/倍")
+    private String amountD24;
+
+    /**
+     * 付费趋势第25日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第25日总:金额/人数/增/回/倍")
+    private String amountD25;
+
+    /**
+     * 付费趋势第26日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第26日总:金额/人数/增/回/倍")
+    private String amountD26;
+
+    /**
+     * 付费趋势第27日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第27日总:金额/人数/增/回/倍")
+    private String amountD27;
+
+    /**
+     * 付费趋势第28日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第28日总:金额/人数/增/回/倍")
+    private String amountD28;
+
+    /**
+     * 付费趋势第29日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第29日总:金额/人数/增/回/倍")
+    private String amountD29;
+
+    /**
+     * 付费趋势第30日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第30日总:金额/人数/增/回/倍")
+    private String amountM1;
+
+    /**
+     * 付费趋势第二月总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第二月总:金额/人数/增/回/倍")
+    private String amountM2;
+
+    /**
+     * 付费趋势第三月总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第三月总:金额/人数/增/回/倍")
+    private String amountM3;
+
+    /**
+     * 付费趋势六月总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势六月总:金额/人数/增/回/倍")
+    private String amountM6;
+
+    /**
+     * 付费趋势一年总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势一年总:金额/人数/增/回/倍")
+    private String amountY1;
+
+    /**
+     * 付费趋势总:增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势总:增/回/倍")
+    private String amountSum;
+
+    /**
+     * 投手游戏第1天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第1天新用户充值")
+    private BigDecimal da1;
+
+    /**
+     * 投手游戏第2天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第2天新用户充值")
+    private BigDecimal da2;
+
+    /**
+     * 投手游戏第3天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第3天新用户充值")
+    private BigDecimal da3;
+
+    /**
+     * 投手游戏第4天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第4天新用户充值")
+    private BigDecimal da4;
+
+    /**
+     * 投手游戏第5天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第5天新用户充值")
+    private BigDecimal da5;
+
+    /**
+     * 投手游戏第6天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第6天新用户充值")
+    private BigDecimal da6;
+
+    /**
+     * 投手游戏第7天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第7天新用户充值")
+    private BigDecimal da7;
+
+    /**
+     * 投手游戏第8天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第8天新用户充值")
+    private BigDecimal da8;
+
+    /**
+     * 投手游戏第9天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第9天新用户充值")
+    private BigDecimal da9;
+
+    /**
+     * 投手游戏第10天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第10天新用户充值")
+    private BigDecimal da10;
+
+    /**
+     * 投手游戏第11天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第11天新用户充值")
+    private BigDecimal da11;
+
+    /**
+     * 投手游戏第12天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第12天新用户充值")
+    private BigDecimal da12;
+
+    /**
+     * 投手游戏第13天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第13天新用户充值")
+    private BigDecimal da13;
+
+    /**
+     * 投手游戏第14天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第14天新用户充值")
+    private BigDecimal da14;
+
+    /**
+     * 投手游戏第15天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第15天新用户充值")
+    private BigDecimal da15;
+
+    /**
+     * 投手游戏第16天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第16天新用户充值")
+    private BigDecimal da16;
+
+    /**
+     * 投手游戏第17天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第17天新用户充值")
+    private BigDecimal da17;
+
+    /**
+     * 投手游戏第18天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第18天新用户充值")
+    private BigDecimal da18;
+
+    /**
+     * 投手游戏第19天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第19天新用户充值")
+    private BigDecimal da19;
+
+    /**
+     * 投手游戏第20天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第20天新用户充值")
+    private BigDecimal da20;
+
+    /**
+     * 投手游戏第21天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第21天新用户充值")
+    private BigDecimal da21;
+
+    /**
+     * 投手游戏第22天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第22天新用户充值")
+    private BigDecimal da22;
+
+    /**
+     * 投手游戏第23天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第23天新用户充值")
+    private BigDecimal da23;
+
+    /**
+     * 投手游戏第24天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第24天新用户充值")
+    private BigDecimal da24;
+
+    /**
+     * 投手游戏第25天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第25天新用户充值")
+    private BigDecimal da25;
+
+    /**
+     * 投手游戏第26天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第26天新用户充值")
+    private BigDecimal da26;
+
+    /**
+     * 投手游戏第27天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第27天新用户充值")
+    private BigDecimal da27;
+
+    /**
+     * 投手游戏第28天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第28天新用户充值")
+    private BigDecimal da28;
+
+    /**
+     * 投手游戏第29天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第29天新用户充值")
+    private BigDecimal da29;
+
+    /**
+     * 投手游戏第30天新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第30天新用户充值")
+    private BigDecimal da30;
+
+    /**
+     * 投手游戏第2月新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第2月新用户充值")
+    private BigDecimal m2;
+
+    /**
+     * 投手游戏第3月新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第3月新用户充值")
+    private BigDecimal m3;
+
+    /**
+     * 投手游戏第6月新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第6月新用户充值")
+    private BigDecimal m6;
+
+    /**
+     * 投手游戏第1年新用户充值
+     */
+    @ApiModelProperty(value = "投手游戏第1年新用户充值")
+    private BigDecimal y1;
+
+    /**
+     * 至今充值金额
+     */
+    @ApiModelProperty(value = "至今充值金额")
+    private BigDecimal total;
+
+    /**
+     * 投手游戏第1天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第1天新用户人数")
+    private Long da1Num;
+
+    /**
+     * 投手游戏第2天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第2天新用户人数")
+    private Long da2Num;
+
+    /**
+     * 投手游戏第3天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第3天新用户人数")
+    private Long da3Num;
+
+    /**
+     * 投手游戏第4天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第4天新用户人数")
+    private Long da4Num;
+
+    /**
+     * 投手游戏第5天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第5天新用户人数")
+    private Long da5Num;
+
+    /**
+     * 投手游戏第6天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第6天新用户人数")
+    private Long da6Num;
+
+    /**
+     * 投手游戏第7天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第7天新用户人数")
+    private Long da7Num;
+
+    /**
+     * 投手游戏第8天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第8天新用户人数")
+    private Long da8Num;
+
+    /**
+     * 投手游戏第9天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第9天新用户人数")
+    private Long da9Num;
+
+    /**
+     * 投手游戏第10天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第10天新用户人数")
+    private Long da10Num;
+
+    /**
+     * 投手游戏第11天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第11天新用户人数")
+    private Long da11Num;
+
+    /**
+     * 投手游戏第12天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第12天新用户人数")
+    private Long da12Num;
+
+    /**
+     * 投手游戏第13天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第13天新用户人数")
+    private Long da13Num;
+
+    /**
+     * 投手游戏第14天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第14天新用户人数")
+    private Long da14Num;
+
+    /**
+     * 投手游戏第15天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第15天新用户人数")
+    private Long da15Num;
+
+    /**
+     * 投手游戏第16天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第16天新用户人数")
+    private Long da16Num;
+
+    /**
+     * 投手游戏第17天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第17天新用户人数")
+    private Long da17Num;
+
+    /**
+     * 投手游戏第18天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第18天新用户人数")
+    private Long da18Num;
+
+    /**
+     * 投手游戏第19天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第19天新用户人数")
+    private Long da19Num;
+
+    /**
+     * 投手游戏第20天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第20天新用户人数")
+    private Long da20Num;
+
+    /**
+     * 投手游戏第21天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第21天新用户人数")
+    private Long da21Num;
+
+    /**
+     * 投手游戏第22天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第22天新用户人数")
+    private Long da22Num;
+
+    /**
+     * 投手游戏第23天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第23天新用户人数")
+    private Long da23Num;
+
+    /**
+     * 投手游戏第24天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第24天新用户人数")
+    private Long da24Num;
+
+    /**
+     * 投手游戏第25天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第25天新用户人数")
+    private Long da25Num;
+
+    /**
+     * 投手游戏第26天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第26天新用户人数")
+    private Long da26Num;
+
+    /**
+     * 投手游戏第27天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第27天新用户人数")
+    private Long da27Num;
+
+    /**
+     * 投手游戏第28天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第28天新用户人数")
+    private Long da28Num;
+
+    /**
+     * 投手游戏第29天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第29天新用户人数")
+    private Long da29Num;
+
+    /**
+     * 投手游戏第30天新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第30天新用户人数")
+    private Long da30Num;
+
+    /**
+     * 投手游戏第2月新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第2月新用户人数")
+    private Long m2Num;
+
+    /**
+     * 投手游戏第3月新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第3月新用户人数")
+    private Long m3Num;
+
+    /**
+     * 投手游戏第6月新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第6月新用户人数")
+    private Long m6Num;
+
+    /**
+     * 投手游戏第1年新用户人数
+     */
+    @ApiModelProperty(value = "投手游戏第1年新用户人数")
+    private Long y1Num;
+
+    /**
+     * 至今充值人数
+     */
+    @ApiModelProperty(value = "至今充值人数")
+    private Long totalNum;
+
+    /**
+     * 首日创角成本
+     */
+    @ApiModelProperty(value = "首日创角成本")
+    private BigDecimal firstRoleCost;
+
+    /**
+     * 新用户累计创角成本
+     */
+    @ApiModelProperty(value = "新用户累计创角成本")
+    private BigDecimal newUserTotalRoleCost;
+
+    /**
+     * 创角成本
+     */
+    @ApiModelProperty(value = "创角成本")
+    private BigDecimal roleNumCost;
+
+    /**
+     * 首日创角率
+     */
+    @ApiModelProperty(value = "首日创角率")
+    private BigDecimal firstRoleRate;
+
+    /**
+     * 新用户累计创角率
+     */
+    @ApiModelProperty(value = "新用户累计创角率")
+    private BigDecimal newUserTotalRoleRate;
+
+    /**
+     * 创角率
+     */
+    @ApiModelProperty(value = "创角率")
+    private BigDecimal roleNumRate;
+
+    /**
+     * 新用户付费比
+     */
+    @ApiModelProperty(value = "新用户付费比")
+    private BigDecimal newUserAmountRatio;
+
+    /**
+     * 付费趋势第1日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第1日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD1Trend;
+
+    /**
+     * 付费趋势第2日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第2日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD2Trend;
+
+    /**
+     * 付费趋势第3日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第3日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD3Trend;
+
+    /**
+     * 付费趋势第4日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第4日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD4Trend;
+
+    /**
+     * 付费趋势第5日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第5日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD5Trend;
+
+    /**
+     * 付费趋势第6日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第6日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD6Trend;
+
+    /**
+     * 付费趋势第7日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第7日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD7Trend;
+
+    /**
+     * 付费趋势第8日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第8日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD8Trend;
+
+    /**
+     * 付费趋势第9日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第9日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD9Trend;
+
+    /**
+     * 付费趋势第10日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第10日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD10Trend;
+
+    /**
+     * 付费趋势第11日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第11日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD11Trend;
+
+    /**
+     * 付费趋势第12日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第12日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD12Trend;
+
+    /**
+     * 付费趋势第13日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第13日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD13Trend;
+
+    /**
+     * 付费趋势第14日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第14日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD14Trend;
+
+    /**
+     * 付费趋势第15日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第15日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD15Trend;
+
+    /**
+     * 付费趋势第16日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第16日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD16Trend;
+
+    /**
+     * 付费趋势第17日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第17日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD17Trend;
+
+    /**
+     * 付费趋势第18日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第18日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD18Trend;
+
+    /**
+     * 付费趋势第19日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第19日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD19Trend;
+
+    /**
+     * 付费趋势第20日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第20日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD20Trend;
+
+    /**
+     * 付费趋势第21日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第21日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD21Trend;
+
+    /**
+     * 付费趋势第22日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第22日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD22Trend;
+
+    /**
+     * 付费趋势第23日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第23日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD23Trend;
+
+    /**
+     * 付费趋势第24日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第24日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD24Trend;
+
+    /**
+     * 付费趋势第25日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第25日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD25Trend;
+
+    /**
+     * 付费趋势第26日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第26日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD26Trend;
+
+    /**
+     * 付费趋势第27日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第27日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD27Trend;
+
+    /**
+     * 付费趋势第28日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第28日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD28Trend;
+
+    /**
+     * 付费趋势第29日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第29日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountD29Trend;
+
+    /**
+     * 付费趋势第30日总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第30日总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountM1Trend;
+
+    /**
+     * 付费趋势第二月总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第二月总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountM2Trend;
+
+    /**
+     * 付费趋势第三月总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势第三月总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountM3Trend;
+
+    /**
+     * 付费趋势六月总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势六月总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountM6Trend;
+
+    /**
+     * 付费趋势一年总:金额/人数/增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势一年总:金额/人数/增/回/倍")
+    private RechargeTrendVO amountY1Trend;
+
+    /**
+     * 付费趋势总:增/回/倍
+     */
+    @ApiModelProperty(value = "付费趋势总:增/回/倍")
+    private RechargeTrendVO amountSumTrend;
+
 }

+ 10 - 8
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameServerServiceImpl.java

@@ -132,13 +132,6 @@ public class GameServerServiceImpl implements IGameServerService {
             dto.setBeginDate(LocalDate.now());
             dto.setEndDate(LocalDate.now());
         }
-        //默认排序字段 开服时间 降序
-        if (StringUtils.isBlank(dto.getSortFiled())) {
-            dto.setSortFiled("dt");
-        }
-        if (StringUtils.isBlank(dto.getSortType())) {
-            dto.setSortType(OrderByEnum.DESC.getOrderType());
-        }
         //创建查询条件
         Criteria cri = Cnd.cri();
         if (dto.getGameId() != null) {
@@ -162,7 +155,16 @@ public class GameServerServiceImpl implements IGameServerService {
             cri.where().andEquals("source_system", dto.getSourceSystem());
         }
         //添加排序条件
-        cri.getOrderBy().orderBy(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, dto.getSortFiled()), dto.getSortType());
+        //拼接排序条件,如果没有排序条件给默认值
+        if (StringUtils.isBlank(dto.getSortType())) {
+            dto.setSortType(OrderByEnum.DESC.getOrderType());
+        }
+        if (StringUtils.isBlank(dto.getSortFiled())) {
+            cri.getOrderBy().orderBy("dt", dto.getSortType());
+            cri.getOrderBy().orderBy("server_id", dto.getSortType());
+        } else {
+            cri.getOrderBy().orderBy(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, dto.getSortFiled()), dto.getSortType());
+        }
         //创建sql语句查询数据
         Sql sql = Sqls.create(gameServerDaySql() + cri);
         //设置自定义回传对象

+ 619 - 32
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/PitcherDataServiceImpl.java

@@ -4,6 +4,7 @@ import com.google.common.base.CaseFormat;
 import com.google.gson.Gson;
 import com.zanxiang.game.data.serve.pojo.dto.*;
 import com.zanxiang.game.data.serve.pojo.entity.AdsGamePitcherDay;
+import com.zanxiang.game.data.serve.pojo.entity.AdsPitcherDay;
 import com.zanxiang.game.data.serve.pojo.entity.AdsPitcherGameDayn;
 import com.zanxiang.game.data.serve.pojo.enums.OrderByEnum;
 import com.zanxiang.game.data.serve.pojo.vo.*;
@@ -47,10 +48,15 @@ import java.util.stream.Collectors;
 @Slf4j
 public class PitcherDataServiceImpl implements IPitcherDataService {
     //存储PitcherGameDataDayVO的映射
-    private static final List<Tuple2<Field, Field>> dayNFieldMapList;
+    private static final List<Tuple2<Field, Field>> pitcherGameDayNFieldMapList;
     //存储PitcherGameDataDayTotalVO的映射
-    private static final List<Tuple2<Field, Field>> dayNTotalFieldMapList;
-
+    private static final List<Tuple2<Field, Field>> pitcherGameDayNTotalFieldMapList;
+    //存储PitcherDataDayVO的映射
+    private static final List<Tuple2<Field, Field>> pitcherDayNFieldMapList;
+    //存储PitcherDataDayTotalVO的映射
+    private static final List<Tuple2<Field, Field>> pitcherDayNTotalFieldMapList;
+    
+    //解析投手游戏每日数据及总计一栏相关的映射
     static {
         //解析PitcherGameDataDayVO的映射
         Map<String, Field> fieldMap = new HashMap<>();
@@ -72,15 +78,15 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
             tempClazz = tempClazz.getSuperclass();
         }
         if (dayNFieldList.isEmpty()) {
-            dayNFieldMapList = Collections.emptyList();
+            pitcherGameDayNFieldMapList = Collections.emptyList();
         } else {
-            dayNFieldMapList = new ArrayList<>(dayNFieldList.size());
+            pitcherGameDayNFieldMapList = new ArrayList<>(dayNFieldList.size());
             for (Field field : dayNFieldList) {
                 field.setAccessible(true);
                 Field sourceField = fieldMap.get(field.getName().replace("Trend", ""));
                 sourceField.setAccessible(true);
                 if (sourceField != null) {
-                    dayNFieldMapList.add(Tuples.of(sourceField, field));
+                    pitcherGameDayNFieldMapList.add(Tuples.of(sourceField, field));
                 }
             }
         }
@@ -105,19 +111,79 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
             tempTotalClazz = tempTotalClazz.getSuperclass();
         }
         if (dayNTotalFieldList.isEmpty()) {
-            dayNTotalFieldMapList = Collections.emptyList();
+            pitcherGameDayNTotalFieldMapList = Collections.emptyList();
         } else {
-            dayNTotalFieldMapList = new ArrayList<>(dayNTotalFieldList.size());
+            pitcherGameDayNTotalFieldMapList = new ArrayList<>(dayNTotalFieldList.size());
             for (Field field : dayNTotalFieldList) {
                 field.setAccessible(true);
                 Field sourceField = fieldTotalMap.get(field.getName().replace("Trend", ""));
                 sourceField.setAccessible(true);
                 if (sourceField != null) {
-                    dayNTotalFieldMapList.add(Tuples.of(sourceField, field));
+                    pitcherGameDayNTotalFieldMapList.add(Tuples.of(sourceField, field));
+                }
+            }
+        }
+
+    }
+    //解析投手每日数据及总计一栏相关的的映射
+    static {
+        //解析PitcherDataDayVO映射
+        Map<String, Field> pitcherDayFieldMap = new HashMap<>();
+        List<Field> pitcherDayDayNList = new ArrayList<>();
+        Class<?> pitcherDayClazz = PitcherDataDayVO.class;
+        while (pitcherDayClazz != null) {
+            Field[] fields = pitcherDayClazz.getDeclaredFields();
+            for (Field field : fields) {
+                if (Modifier.isFinal(field.getModifiers()) || Modifier.isStatic(field.getModifiers())) {
+                    continue;
+                }
+                pitcherDayFieldMap.put(field.getName(), field);
+                if (field.getType() == RechargeTrendVO.class) {
+                    pitcherDayDayNList.add(field);
                 }
             }
+            pitcherDayClazz = pitcherDayClazz.getSuperclass();
+        }
+        if (pitcherDayDayNList.isEmpty()) {
+            pitcherDayNFieldMapList = Collections.emptyList();
+        } else {
+            pitcherDayNFieldMapList = new ArrayList<>(pitcherDayDayNList.size());
+            for (Field field : pitcherDayDayNList) {
+                field.setAccessible(true);
+                Field soureField = pitcherDayFieldMap.get(field.getName().replace("Trend", ""));
+                soureField.setAccessible(true);
+                pitcherDayNFieldMapList.add(Tuples.of(soureField, field));
+            }
         }
 
+        //解析PitcherDataDayTotalVO映射
+        Map<String, Field> pitcherDayTotalMap = new HashMap<>();
+        List<Field> pitcherDayTotalList = new ArrayList<>();
+        Class<?> pitcherDayTotalClazz = PitcherDataDayTotalVO.class;
+        while (pitcherDayTotalClazz != null) {
+            Field[] fields = pitcherDayTotalClazz.getDeclaredFields();
+            for (Field field : fields) {
+                if (Modifier.isFinal(field.getModifiers()) || Modifier.isStatic(field.getModifiers())) {
+                    continue;
+                }
+                pitcherDayTotalMap.put(field.getName(), field);
+                if (field.getType() == RechargeTrendVO.class) {
+                    pitcherDayTotalList.add(field);
+                }
+            }
+            pitcherDayTotalClazz = pitcherDayTotalClazz.getSuperclass();
+        }
+        if (pitcherDayTotalList.isEmpty()) {
+            pitcherDayNTotalFieldMapList = Collections.emptyList();
+        } else {
+            pitcherDayNTotalFieldMapList = new ArrayList<>(pitcherDayTotalList.size());
+            for (Field field : pitcherDayTotalList) {
+                field.setAccessible(true);
+                Field sourceField = pitcherDayTotalMap.get(field.getName().replace("Trend", ""));
+                sourceField.setAccessible(true);
+                pitcherDayNTotalFieldMapList.add(Tuples.of(sourceField, field));
+            }
+        }
     }
 
     @Autowired
@@ -130,7 +196,53 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
      */
     @Override
     public Page<PitcherDataDayVO> getPitcherDataDay(PitcherDataDayDTO dto) {
-        return null;
+        //不传递时间,默认查询当天
+        if (dto.getBeginDate() == null || dto.getEndDate() == null ) {
+            dto.setBeginDate(LocalDate.now());
+            dto.setEndDate(LocalDate.now());
+        }
+        //创建查询条件
+        Criteria cri = Cnd.cri();
+        if (dto.getPitcherId() != null) {
+            cri.where().andEquals("pitcher_id", dto.getPitcherId());
+        }
+        if (StringUtils.isNotBlank(dto.getSourceSystem())) {
+            cri.where().andEquals("source_system", dto.getSourceSystem());
+        }
+        if (dto.getBeginDate() != null && dto.getEndDate() != null) {
+            cri.where().andBetween("dt", dto.getBeginDate(), dto.getEndDate());
+        }
+        //拼接排序条件,如果没有排序条件给默认值
+        if (StringUtils.isBlank(dto.getSortType())) {
+            dto.setSortType(OrderByEnum.DESC.getOrderType());
+        }
+        if (StringUtils.isBlank(dto.getSortFiled())) {
+            cri.getOrderBy().orderBy("dt", dto.getSortType());
+            cri.getOrderBy().orderBy("cost", dto.getSortType());
+        } else {
+            cri.getOrderBy().orderBy(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, dto.getSortFiled()), dto.getSortType());
+        }
+        //Pager对象
+        Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
+        //sql语句
+        Sql sql = Sqls.create(pitcherDataDaySql() + cri);
+        //设置回传对象
+        sql.setCallback(Sqls.callback.entities());
+        sql.setEntity(dao.getEntity(PitcherDataDayVO.class));
+        //设置pager
+        sql.setPager(pager);
+        //执行sql
+        dao.execute(sql);
+        //设置总记录数
+        pager.setRecordCount(dao.count(AdsPitcherDay.class, cri));
+        //处理dayN数据
+        List<PitcherDataDayVO> tempList = sql.getList(PitcherDataDayVO.class);
+        List<PitcherDataDayVO> list = tempList.stream().map(vo -> {
+            formatPitcherDataDayDayN(vo);
+            return vo;
+        }).collect(Collectors.toList());
+        //返回结果
+        return new Page<>(list, pager);
     }
 
     /**
@@ -140,7 +252,36 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
      */
     @Override
     public PitcherDataDayTotalVO getPitcherDataDayTotal(PitcherDataDayTotalDTO dto) {
-        return null;
+        //不传递时间,默认查询当天
+        if (dto.getBeginDate() == null || dto.getEndDate() == null ) {
+            dto.setBeginDate(LocalDate.now());
+            dto.setEndDate(LocalDate.now());
+        }
+        //创建查询条件
+        Criteria cri = Cnd.cri();
+        if (dto.getPitcherId() != null) {
+            cri.where().andEquals("pitcher_id", dto.getPitcherId());
+        }
+        if (StringUtils.isNotBlank(dto.getSourceSystem())) {
+            cri.where().andEquals("source_system", dto.getSourceSystem());
+        }
+        if (dto.getBeginDate() != null && dto.getEndDate() != null) {
+            cri.where().andBetween("dt", dto.getBeginDate(), dto.getEndDate());
+        }
+        //sql语句
+        Sql sql = Sqls.create(pitcherDataDayTotalSql() + cri);
+        //设置回传对象
+        sql.setCallback(Sqls.callback.entity());
+        sql.setEntity(dao.getEntity(PitcherDataDayTotalVO.class));
+        //执行sql
+        dao.execute(sql);
+        PitcherDataDayTotalVO vo = sql.getObject(PitcherDataDayTotalVO.class);
+        if (StringUtils.isNotBlank(vo.getAmountD1())) {
+            //处理dayN数据
+            formatPitcherDataDayTotalDayN(vo);
+        }
+
+        return vo;
     }
 
     /**
@@ -175,13 +316,6 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
             dto.setBeginDate(LocalDate.now());
             dto.setEndDate(LocalDate.now());
         }
-        //默认排序字段
-        if (StringUtils.isBlank(dto.getSortFiled())) {
-            dto.setSortFiled("dt");
-        }
-        if (StringUtils.isBlank(dto.getSortType())) {
-            dto.setSortType(OrderByEnum.DESC.getOrderType());
-        }
         //创建查询条件
         Criteria cri = Cnd.cri();
         if (dto.getPitcherId() != null) {
@@ -203,7 +337,16 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
             cri.where().andEquals("game_type", dto.getGameType());
         }
         //排序条件
-        cri.getOrderBy().orderBy(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, dto.getSortFiled()), dto.getSortType());
+        //拼接排序条件,如果没有排序条件给默认值
+        if (StringUtils.isBlank(dto.getSortType())) {
+            dto.setSortType(OrderByEnum.DESC.getOrderType());
+        }
+        if (StringUtils.isBlank(dto.getSortFiled())) {
+            cri.getOrderBy().orderBy("dt", dto.getSortType());
+            cri.getOrderBy().orderBy("cost", dto.getSortType());
+        } else {
+            cri.getOrderBy().orderBy(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, dto.getSortFiled()), dto.getSortType());
+        }
         //Pager对象
         Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
         //sql语句
@@ -899,15 +1042,40 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
     }
 
     /**
-     * 处理DayN
+     * 处理投手游戏每日的DayN
+     *
+     * @param vo PitcherGameDataDayVO
+     */
+    private void formatPitcherDataDayDayN(PitcherDataDayVO vo) {
+        if (CollectionUtils.isEmpty(pitcherDayNFieldMapList)) {
+            return;
+        }
+        pitcherDayNFieldMapList.forEach(dayNFieldMap -> {
+            try {
+                String[] temps = ((String) dayNFieldMap.getT1().get(vo)).split("/");
+                dayNFieldMap.getT2().set(vo, RechargeTrendVO.builder()
+                        .rechargeMoney(new BigDecimal(temps[0]))
+                        .rechargeUserCount(Long.valueOf(temps[1]))
+                        .increase(new BigDecimal(temps[2]))
+                        .back(new BigDecimal(temps[3]))
+                        .multiples(new BigDecimal(temps[4]))
+                        .build());
+            } catch (Exception e) {
+                throw new BaseException("映射出错");
+            }
+        });
+    }
+    
+    /**
+     * 处理投手游戏每日的DayN
      *
      * @param vo PitcherGameDataDayVO
      */
     private void formatPitcherGameDataDayDayN(PitcherGameDataDayVO vo) {
-        if (CollectionUtils.isEmpty(dayNFieldMapList)) {
+        if (CollectionUtils.isEmpty(pitcherGameDayNFieldMapList)) {
             return;
         }
-        dayNFieldMapList.forEach(dayNFieldMap -> {
+        pitcherGameDayNFieldMapList.forEach(dayNFieldMap -> {
             try {
                 String[] temps = ((String) dayNFieldMap.getT1().get(vo)).split("/");
                 dayNFieldMap.getT2().set(vo, RechargeTrendVO.builder()
@@ -924,15 +1092,53 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
     }
 
     /**
-     * 处理DayN
+     * 处理投手每日总计的DayN
+     *
+     * @param vo PitcherDataDayTotalVO
+     */
+    private void formatPitcherDataDayTotalDayN(PitcherDataDayTotalVO vo) {
+        if (CollectionUtils.isEmpty(pitcherDayNTotalFieldMapList)) {
+            return;
+        }
+        pitcherDayNTotalFieldMapList.forEach(dayNTotalFieldMap -> {
+            try {
+                //得到需要计算的值
+                String[] temps = ((String) dayNTotalFieldMap.getT1().get(vo)).split("/");
+                //dn的金额总计
+                BigDecimal dNAmount = new BigDecimal(temps[0]);
+                //d1-dn的金额总计
+                BigDecimal d1ToDNTotalAmount = new BigDecimal(temps[1]);
+                //d1-dn的消耗总计(排除了未到时间的cost)
+                BigDecimal d1ToDNTotalCost = new BigDecimal(temps[3]);
+                //d1的金额总计(排除了未到时间的d1)
+                BigDecimal d1Amount = new BigDecimal(temps[4]);
+                //赋值
+                dayNTotalFieldMap.getT2().set(vo, RechargeTrendVO.builder()
+                        .rechargeMoney(dNAmount)
+                        .rechargeUserCount(Long.valueOf(temps[2]))
+                        .increase(d1ToDNTotalCost.compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO :
+                                dNAmount.divide(d1ToDNTotalCost, 4, RoundingMode.HALF_UP))
+                        .back(d1ToDNTotalCost.compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO :
+                                d1ToDNTotalAmount.divide(d1ToDNTotalCost, 4, RoundingMode.HALF_UP))
+                        .multiples(d1Amount.compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ZERO :
+                                d1ToDNTotalAmount.divide(d1Amount, 4, RoundingMode.HALF_UP))
+                        .build());
+            } catch (Exception e) {
+                throw new BaseException("映射出错");
+            }
+        });
+    }
+
+    /**
+     * 处理投手游戏每日总计的DayN
      *
      * @param vo PitcherGameDataDayTotalVO
      */
     private void formatPitcherGameDataDayTotalDayN(PitcherGameDataDayTotalVO vo) {
-        if (CollectionUtils.isEmpty(dayNTotalFieldMapList)) {
+        if (CollectionUtils.isEmpty(pitcherGameDayNTotalFieldMapList)) {
             return;
         }
-        dayNTotalFieldMapList.forEach(dayNTotalFieldMap -> {
+        pitcherGameDayNTotalFieldMapList.forEach(dayNTotalFieldMap -> {
             try {
                 //得到需要计算的值
                 String[] temps = ((String) dayNTotalFieldMap.getT1().get(vo)).split("/");
@@ -962,20 +1168,16 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
     }
 
     /**
-     * 查询投手游戏每日数据SQL
+     * 查询投手每日数据SQL
      * @return String
      */
-    private String pitcherGameDataDaySql() {
+    private String pitcherDataDaySql() {
         return """
                 SELECT
                     dt,
                     source_system,
                     pitcher_id,
-                    game_id,
                     pitcher,
-                    game_name,
-                    game_cp,
-                    game_type,
                     cost,
                     plan_count,
                     account_count,
@@ -1170,7 +1372,392 @@ public class PitcherDataServiceImpl implements IPitcherDataService {
                     role_num_rate,
                     new_user_amount_ratio
                 FROM
-                    game_ads.ads_game_pitcher_day
+                    game_ads.ads_pitcher_day
+                """;
+    }
+    
+    /**
+     * 查询投手游戏每日数据SQL
+     * @return String
+     */
+    private String pitcherGameDataDaySql() {
+        return """
+                SELECT
+                    dt,
+                    source_system,
+                    pitcher_id,
+                    game_id,
+                    pitcher,
+                    game_name,
+                    game_cp,
+                    game_type,
+                    cost,
+                    plan_count,
+                    account_count,
+                    agent_count,
+                    register_num,
+                    first_new_user_amount_count,
+                    first_new_user_amount_num,
+                    first_new_user_amount,
+                    amount_count,
+                    amount_num,
+                    amount,
+                    old_amount_count,
+                    old_amount_num,
+                    old_amount,
+                    new_user_total_amount_count,
+                    new_user_total_amount_num,
+                    new_user_total_amount,
+                    hundred_user_num,
+                    buy_new_user_total_amount,
+                    buy_new_user_total_amount_num,
+                    buy_new_user_total_amount_count,
+                    reg_order_user_again,
+                    first_role_num,
+                    new_user_total_role_num,
+                    role_num,
+                    register_cost,
+                    first_roi,
+                    buy_roi,
+                    today_roi,
+                    gross_profit,
+                    first_rate,
+                    buy_user_rate,
+                    today_rate,
+                    first_avg,
+                    buy_avg,
+                    today_avg,
+                    paper_avg,
+                    first_amount_cost,
+                    buy_amount_cost,
+                    today_amount_cost,
+                    today_again_rate,
+                    new_reg_arpu,
+                    first_arpu,
+                    today_arpu,
+                    paper_arpu,
+                    hundred_user_num_cost,
+                    roi1,
+                    roi2,
+                    roi3,
+                    roi4,
+                    roi5,
+                    roi6,
+                    roi7,
+                    roi8,
+                    roi9,
+                    roi10,
+                    roi11,
+                    roi12,
+                    roi13,
+                    roi14,
+                    roi15,
+                    roi16,
+                    roi17,
+                    roi18,
+                    roi19,
+                    roi20,
+                    roi21,
+                    roi22,
+                    roi23,
+                    roi24,
+                    roi25,
+                    roi26,
+                    roi27,
+                    roi28,
+                    roi29,
+                    roi30,
+                    roi60,
+                    roi90,
+                    roi180,
+                    roi1yaer,
+                    roi_total,
+                    amount_d1,
+                    amount_d2,
+                    amount_d3,
+                    amount_d4,
+                    amount_d5,
+                    amount_d6,
+                    amount_d7,
+                    amount_d8,
+                    amount_d9,
+                    amount_d10,
+                    amount_d11,
+                    amount_d12,
+                    amount_d13,
+                    amount_d14,
+                    amount_d15,
+                    amount_d16,
+                    amount_d17,
+                    amount_d18,
+                    amount_d19,
+                    amount_d20,
+                    amount_d21,
+                    amount_d22,
+                    amount_d23,
+                    amount_d24,
+                    amount_d25,
+                    amount_d26,
+                    amount_d27,
+                    amount_d28,
+                    amount_d29,
+                    amount_m1,
+                    amount_m2,
+                    amount_m3,
+                    amount_m6,
+                    amount_y1,
+                    amount_sum,
+                    da1,
+                    da2,
+                    da3,
+                    da4,
+                    da5,
+                    da6,
+                    da7,
+                    da8,
+                    da9,
+                    da10,
+                    da11,
+                    da12,
+                    da13,
+                    da14,
+                    da15,
+                    da16,
+                    da17,
+                    da18,
+                    da19,
+                    da20,
+                    da21,
+                    da22,
+                    da23,
+                    da24,
+                    da25,
+                    da26,
+                    da27,
+                    da28,
+                    da29,
+                    da30,
+                    m2,
+                    m3,
+                    m6,
+                    y1,
+                    total,
+                    da1_num,
+                    da2_num,
+                    da3_num,
+                    da4_num,
+                    da5_num,
+                    da6_num,
+                    da7_num,
+                    da8_num,
+                    da9_num,
+                    da10_num,
+                    da11_num,
+                    da12_num,
+                    da13_num,
+                    da14_num,
+                    da15_num,
+                    da16_num,
+                    da17_num,
+                    da18_num,
+                    da19_num,
+                    da20_num,
+                    da21_num,
+                    da22_num,
+                    da23_num,
+                    da24_num,
+                    da25_num,
+                    da26_num,
+                    da27_num,
+                    da28_num,
+                    da29_num,
+                    da30_num,
+                    m2_num,
+                    m3_num,
+                    m6_num,
+                    y1_num,
+                    total_num,
+                    first_role_cost,
+                    new_user_total_role_cost,
+                    role_num_cost,
+                    first_role_rate,
+                    new_user_total_role_rate,
+                    role_num_rate,
+                    new_user_amount_ratio
+                FROM
+                    game_ads.ads_game_pitcher_day
+                """;
+    }
+
+    /**
+     * 查询投手每日数据总计SQL
+     * @return String
+     */
+    private String pitcherDataDayTotalSql() {
+        return """
+                SELECT
+                    SUM(cost) as cost,
+                    SUM(plan_count) as plan_count,
+                    SUM(account_count) as account_count,
+                    SUM(agent_count) as agent_count,
+                    SUM(register_num) as register_num,
+                    ROUND(IF(SUM(register_num) > 0, SUM(cost) / SUM(register_num), 0), 2) as register_cost,
+                    SUM(first_role_num) as first_role_num,
+                    SUM(new_user_total_role_num) as new_user_total_role_num,
+                    SUM(role_num) as role_num,
+                    ROUND(IF(SUM(role_num) > 0 , SUM(cost) / SUM(role_num), 0), 2) as role_num_cost,
+                    ROUND(IF(SUM(first_role_num) > 0 , SUM(cost) / SUM(first_role_num), 0), 2) as first_role_cost,
+                    ROUND(IF(SUM(new_user_total_role_num) > 0 , SUM(cost) / SUM(new_user_total_role_num), 0), 2) as new_user_total_role_cost,
+                    ROUND(IF(SUM(register_num) > 0 , SUM(first_role_num) / SUM(register_num), 0), 4) as first_role_rate,
+                    ROUND(IF(SUM(register_num) > 0 , SUM(new_user_total_role_num) / SUM(register_num), 0), 4) as new_user_total_role_rate,
+                    ROUND(IF(SUM(register_num) > 0 , SUM(role_num) / SUM(register_num), 0), 4) as role_num_rate,
+                    SUM(first_new_user_amount_count) as first_new_user_amount_count,
+                    SUM(first_new_user_amount_num) as first_new_user_amount_num,
+                    SUM(first_new_user_amount) as first_new_user_amount,
+                    SUM(amount_count) as amount_count,
+                    SUM(amount_num) as amount_num,
+                    SUM(amount) as amount,
+                    SUM(old_amount_count) as old_amount_count,
+                    SUM(old_amount_num) as old_amount_num,
+                    SUM(old_amount) as old_amount,
+                    SUM(new_user_total_amount_count) as new_user_total_amount_count,
+                    SUM(new_user_total_amount_num) as new_user_total_amount_num,
+                    SUM(new_user_total_amount) as new_user_total_amount,
+                    SUM(buy_new_user_total_amount) as buy_new_user_total_amount,
+                    SUM(buy_new_user_total_amount_num) as buy_new_user_total_amount_num,
+                    SUM(buy_new_user_total_amount_count) as buy_new_user_total_amount_count,
+                    ROUND(IF(SUM(cost) > 0, SUM(first_new_user_amount) / SUM(cost), 0), 4) as first_roi,
+                    ROUND(IF(SUM(cost) > 0, SUM(buy_new_user_total_amount) / SUM(cost), 0), 4) as buy_roi,
+                    ROUND(IF(SUM(cost) > 0, SUM(new_user_total_amount) / SUM(cost), 0), 4) as today_roi,
+                    (SUM(new_user_total_amount) - SUM(cost)) as gross_profit,
+                    ROUND(IF(SUM(register_num) > 0, SUM(first_new_user_amount_num) / SUM(register_num), 0), 4) as first_rate,
+                    ROUND(IF(SUM(register_num) > 0, SUM(buy_new_user_total_amount_num) / SUM(register_num), 0), 4) as buy_user_rate,
+                    ROUND(IF(SUM(register_num) > 0, SUM(new_user_total_amount_num) / SUM(register_num), 0), 4) as today_rate,
+                    ROUND(IF(SUM(amount_num) > 0, SUM(first_new_user_amount_num) / SUM(amount_num), 0), 4) as new_user_amount_ratio,
+                    ROUND(IF(SUM(first_new_user_amount_count) > 0 , SUM(first_new_user_amount) / SUM(first_new_user_amount_count), 0), 2) as first_avg,
+                    ROUND(IF(SUM(buy_new_user_total_amount_count) > 0 , SUM(buy_new_user_total_amount) / SUM(buy_new_user_total_amount_count), 0), 2) as buy_avg,
+                    ROUND(IF(SUM(new_user_total_amount_count) > 0 , SUM(new_user_total_amount) / SUM(new_user_total_amount_count), 0), 2) as today_avg,
+                    ROUND(IF(SUM(amount_count) > 0 , SUM(amount) / SUM(amount_count), 0), 2) as paper_avg,
+                    ROUND(IF(SUM(first_new_user_amount_num) > 0 , SUM(cost) / SUM(first_new_user_amount_num), 0), 2) as first_amount_cost,
+                    ROUND(IF(SUM(buy_new_user_total_amount_num) > 0 , SUM(cost) / SUM(buy_new_user_total_amount_num), 0), 2) as buy_amount_cost,
+                    ROUND(IF(SUM(new_user_total_amount_num) > 0 , SUM(cost) / SUM(new_user_total_amount_num), 0), 2) as today_amount_cost,
+                    SUM(reg_order_user_again) as reg_order_user_again,
+                    ROUND(IF(SUM(new_user_total_amount_num) > 0 ,SUM(reg_order_user_again) / SUM(new_user_total_amount_num), 0), 4) as today_again_rate,
+                    ROUND(IF(SUM(register_num) > 0 , SUM(new_user_total_amount) / SUM(register_num), 0), 2) as new_reg_arpu,
+                    ROUND(IF(SUM(first_new_user_amount_num) > 0 , SUM(first_new_user_amount) / SUM(first_new_user_amount_num), 0), 2) as first_arpu,
+                    ROUND(IF(SUM(new_user_total_amount_num) > 0 , SUM(new_user_total_amount) / SUM(new_user_total_amount_num), 0), 2) as today_arpu,
+                    ROUND(IF(SUM(amount_num) > 0 , SUM(amount) / SUM(amount_num), 0), 2) as paper_arpu,
+                    SUM(hundred_user_num) as hundred_user_num,
+                    ROUND(IF(SUM(hundred_user_num) > 0 , SUM(cost) / SUM(hundred_user_num), 0), 2) as hundred_user_num_cost,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da1) / SUM(cost), 0), 4) as roi1,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da2) / SUM(cost), 0), 4) as roi2,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da3) / SUM(cost), 0), 4) as roi3,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da4) / SUM(cost), 0), 4) as roi4,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da5) / SUM(cost), 0), 4) as roi5,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da6) / SUM(cost), 0), 4) as roi6,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da7) / SUM(cost), 0), 4) as roi7,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da8) / SUM(cost), 0), 4) as roi8,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da9) / SUM(cost), 0), 4) as roi9,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da10) / SUM(cost), 0), 4) as roi10,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da11) / SUM(cost), 0), 4) as roi11,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da12) / SUM(cost), 0), 4) as roi12,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da13) / SUM(cost), 0), 4) as roi13,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da14) / SUM(cost), 0), 4) as roi14,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da15) / SUM(cost), 0), 4) as roi15,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da16) / SUM(cost), 0), 4) as roi16,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da17) / SUM(cost), 0), 4) as roi17,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da18) / SUM(cost), 0), 4) as roi18,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da19) / SUM(cost), 0), 4) as roi19,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da20) / SUM(cost), 0), 4) as roi20,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da21) / SUM(cost), 0), 4) as roi21,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da22) / SUM(cost), 0), 4) as roi22,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da23) / SUM(cost), 0), 4) as roi23,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da24) / SUM(cost), 0), 4) as roi24,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da25) / SUM(cost), 0), 4) as roi25,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da26) / SUM(cost), 0), 4) as roi26,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da27) / SUM(cost), 0), 4) as roi27,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da28) / SUM(cost), 0), 4) as roi28,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da29) / SUM(cost), 0), 4) as roi29,
+                    ROUND(IF(SUM(cost) > 0 , SUM(da30) / SUM(cost), 0), 4) as roi30,
+                    ROUND(IF(SUM(cost) > 0 , SUM(m2) / SUM(cost), 0), 4) as roi60,
+                    ROUND(IF(SUM(cost) > 0 , SUM(m3) / SUM(cost), 0), 4) as roi90,
+                    ROUND(IF(SUM(cost) > 0 , SUM(m6) / SUM(cost), 0), 4) as roi180,
+                    ROUND(IF(SUM(cost) > 0 , SUM(y1) / SUM(cost), 0), 4) as roi1yaer,
+                    ROUND(IF(SUM(cost) > 0 , SUM(total) / SUM(cost), 0), 4) as roi_total,
+                    SUM(da1) as da1,
+                    SUM(da2) as da2,
+                    SUM(da3) as da3,
+                    SUM(da4) as da4,
+                    SUM(da5) as da5,
+                    SUM(da6) as da6,
+                    SUM(da7) as da7,
+                    SUM(da8) as da8,
+                    SUM(da9) as da9,
+                    SUM(da10) as da10,
+                    SUM(da11) as da11,
+                    SUM(da12) as da12,
+                    SUM(da13) as da13,
+                    SUM(da14) as da14,
+                    SUM(da15) as da15,
+                    SUM(da16) as da16,
+                    SUM(da17) as da17,
+                    SUM(da18) as da18,
+                    SUM(da19) as da19,
+                    SUM(da20) as da20,
+                    SUM(da21) as da21,
+                    SUM(da22) as da22,
+                    SUM(da23) as da23,
+                    SUM(da24) as da24,
+                    SUM(da25) as da25,
+                    SUM(da26) as da26,
+                    SUM(da27) as da27,
+                    SUM(da28) as da28,
+                    SUM(da29) as da29,
+                    SUM(da30) as da30,
+                    SUM(m2) as m2,
+                    SUM(m3) as m3,
+                    SUM(m6) as m6,
+                    SUM(y1) as y1,
+                    SUM(total) as total,
+                    SUM(da1_num) as da1_num,
+                    SUM(da2_num) as da2_num,
+                    SUM(da3_num) as da3_num,
+                    SUM(da4_num) as da4_num,
+                    SUM(da5_num) as da5_num,
+                    SUM(da6_num) as da6_num,
+                    SUM(da7_num) as da7_num,
+                    SUM(da8_num) as da8_num,
+                    SUM(da9_num) as da9_num,
+                    SUM(da10_num) as da10_num,
+                    SUM(da11_num) as da11_num,
+                    SUM(da12_num) as da12_num,
+                    SUM(da13_num) as da13_num,
+                    SUM(da14_num) as da14_num,
+                    SUM(da15_num) as da15_num,
+                    SUM(da16_num) as da16_num,
+                    SUM(da17_num) as da17_num,
+                    SUM(da18_num) as da18_num,
+                    SUM(da19_num) as da19_num,
+                    SUM(da20_num) as da20_num,
+                    SUM(da21_num) as da21_num,
+                    SUM(da22_num) as da22_num,
+                    SUM(da23_num) as da23_num,
+                    SUM(da24_num) as da24_num,
+                    SUM(da25_num) as da25_num,
+                    SUM(da26_num) as da26_num,
+                    SUM(da27_num) as da27_num,
+                    SUM(da28_num) as da28_num,
+                    SUM(da29_num) as da29_num,
+                    SUM(da30_num) as da30_num,
+                    SUM(m2_num) as m2_num,
+                    SUM(m3_num) as m3_num,
+                    SUM(m6_num) as m6_num,
+                    SUM(y1_num) as y1_num,
+                    SUM(total_num) as total_num,
+                """ + getPitcherGameDataDayTotalDayNsql() +
+                """
+                FROM
+                    game_ads.ads_pitcher_day
                 """;
     }