Browse Source

:feat:游戏每日数据增加有效相关字段

zhangxianyu 1 year ago
parent
commit
f4f602eb44

+ 52 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameDataDayTotalVO.java

@@ -1117,4 +1117,56 @@ public class GameDataDayTotalVO {
     @ApiModelProperty(value = "da1的用户详情")
     private FirstNewUserAgainTrendVO userDetails;
 
+
+    @ApiModelProperty(value = "首日有效创角人数")
+    private Long firstEffectiveRoleNum;
+
+    @ApiModelProperty(value = "新用户累计有效创角人数")
+    private Long newUserTotalEffectiveRoleNum;
+
+    @ApiModelProperty(value =  "有效创角人数")
+    private Long effectiveRoleNum;
+
+    @ApiModelProperty(value = "首日有效创角率")
+    private BigDecimal firstEffectiveRoleRate;
+
+    @ApiModelProperty(value = "新用户累计有效创角率")
+    private BigDecimal newUserTotalEffectiveRoleNumRate;
+
+    @ApiModelProperty(value = "有效创角率")
+    private BigDecimal effectiveRoleNumRate;
+
+    @ApiModelProperty(value = "首日有效创角成本")
+    private Long firstEffectiveRoleNumCost;
+
+    @ApiModelProperty(value = "新用户累计有效创角成本")
+    private Long newUserTotalEffectiveRoleNumCost;
+
+    @ApiModelProperty(value = "有效创角成本")
+    private Long effectiveRoleNumCost;
+
+    @ApiModelProperty(value = "首日有效创角付费人数")
+    private Long firstEffectiveRoleAmountNum;
+
+    @ApiModelProperty(value = "新用户累计有效创角付费人数")
+    private Long newUserTotalEffectiveRoleAmountNum;
+
+    @ApiModelProperty(value = "首日有效创角付费成本")
+    private Long firstEffectiveRoleAmountNumCost;
+
+    @ApiModelProperty(value = "新用户累计有效创角付费成本")
+    private Long newUserTotalEffectiveRoleAmountNumCost;
+
+    @ApiModelProperty(value = "首日有效创角付费比")
+    private BigDecimal firstEffectiveRoleAmountNumRate;
+
+    @ApiModelProperty(value = "新用户累计有效创角付费比")
+    private BigDecimal newUserTotalEffectiveRoleAmountNumRate;
+
+    @ApiModelProperty(value = "首日有效创角ARPU")
+    private BigDecimal firstEffectiveRoleArpu;
+
+    @ApiModelProperty(value = "新用户累计有效创角XARPU")
+    private BigDecimal newUserTotalEffectiveRoleArpu;
+
 }

+ 55 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameDataDayVO.java

@@ -1142,4 +1142,59 @@ public class GameDataDayVO {
     @ApiModelProperty(value = "da1的用户详情")
     private FirstNewUserAgainTrendVO userDetails;
 
+
+    @ApiModelProperty(value = "首日有效创角人数")
+    private Long firstEffectiveRoleNum;
+
+    @ApiModelProperty(value = "新用户累计有效创角人数")
+    private Long newUserTotalEffectiveRoleNum;
+
+    @ApiModelProperty(value =  "有效创角人数")
+    private Long effectiveRoleNum;
+
+    @ApiModelProperty(value = "首日有效创角率")
+    private BigDecimal firstEffectiveRoleRate;
+
+    @ApiModelProperty(value = "新用户累计有效创角率")
+    private BigDecimal newUserTotalEffectiveRoleNumRate;
+
+    @ApiModelProperty(value = "有效创角率")
+    private BigDecimal effectiveRoleNumRate;
+
+    @ApiModelProperty(value = "首日有效创角成本")
+    private Long firstEffectiveRoleNumCost;
+
+    @ApiModelProperty(value = "新用户累计有效创角成本")
+    private Long newUserTotalEffectiveRoleNumCost;
+
+    @ApiModelProperty(value = "有效创角成本")
+    private Long effectiveRoleNumCost;
+
+    @ApiModelProperty(value = "首日有效创角付费人数")
+    private Long firstEffectiveRoleAmountNum;
+
+    @ApiModelProperty(value = "新用户累计有效创角付费人数")
+    private Long newUserTotalEffectiveRoleAmountNum;
+
+    @ApiModelProperty(value = "首日有效创角付费成本")
+    private Long firstEffectiveRoleAmountNumCost;
+
+    @ApiModelProperty(value = "新用户累计有效创角付费成本")
+    private Long newUserTotalEffectiveRoleAmountNumCost;
+
+    @ApiModelProperty(value = "首日有效创角付费比")
+    private BigDecimal firstEffectiveRoleAmountNumRate;
+
+    @ApiModelProperty(value = "新用户累计有效创角付费比")
+    private BigDecimal newUserTotalEffectiveRoleAmountNumRate;
+
+    @ApiModelProperty(value = "首日有效创角ARPU")
+    private BigDecimal firstEffectiveRoleArpu;
+
+    @ApiModelProperty(value = "新用户累计有效创角XARPU")
+    private BigDecimal newUserTotalEffectiveRoleArpu;
+
+
+
+
 }

+ 397 - 118
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameDataServiceImpl.java

@@ -2677,7 +2677,29 @@ public class GameDataServiceImpl implements IGameDataService {
                                 round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                                 round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
                                 round(IF(SUM(buy_reg_num) >0, SUM(buy_role_num) / SUM(buy_reg_num), 0), 4) role_num_rate,
-                                round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate
+                                round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate,
+                                ANY_VALUE(buy_first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                                ANY_VALUE(buy_new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                                ANY_VALUE(buy_effective_role_num) as effective_role_num,  -- 有效创角人数
+                                
+                                ANY_VALUE(buy_first_effective_role_num_rate) AS first_effective_role_rate, -- 首日有效创角率
+                                ANY_VALUE(buy_new_user_total_effective_role_num_rate) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率
+                                ANY_VALUE(buy_effective_role_num_rate) as effective_role_num_rate, -- 有效创角率
+                                
+                                ANY_VALUE(buy_first_effective_role_num_cost) AS first_effective_role_num_cost, -- 首日有效创角成本
+                                ANY_VALUE(buy_new_user_total_effective_role_num_cost) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本
+                                ANY_VALUE(buy_effective_role_num_cost) as effective_role_num_cost,    -- 有效创角成本
+                                
+                                ANY_VALUE(buy_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                                ANY_VALUE(buy_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                                
+                                ANY_VALUE(buy_first_effective_role_amount_num_cost) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本
+                                ANY_VALUE(buy_new_user_total_effective_role_amount_num_cost) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本
+                                
+                                ANY_VALUE(buy_first_effective_role_amount_num_rate) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
+                                ANY_VALUE(buy_new_user_total_effective_role_amount_num_rate) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比
+                                ANY_VALUE(buy_first_effective_role_arpu) as first_effective_role_arpu, -- 首日有效创角ARPU
+                                ANY_VALUE(buy_new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu -- 新用户累计有效创角ARPU
                             FROM
                                 ads_game_day
                             """;
@@ -2731,7 +2753,29 @@ public class GameDataServiceImpl implements IGameDataService {
                                 round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                                 round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
                                 round(IF(SUM(nature_reg_num) >0, SUM(nature_role_num) / SUM(nature_reg_num), 0), 4) role_num_rate,
-                                round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate
+                                round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate,
+                                ANY_VALUE(nature_first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                                ANY_VALUE(nature_new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                                ANY_VALUE(nature_effective_role_num) as effective_role_num,  -- 有效创角人数
+                                
+                                ANY_VALUE(nature_first_effective_role_num_rate) AS first_effective_role_rate, -- 首日有效创角率
+                                ANY_VALUE(nature_new_user_total_effective_role_num_rate) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率
+                                ANY_VALUE(nature_effective_role_num_rate) as effective_role_num_rate, -- 有效创角率
+                                
+                                ANY_VALUE(nature_first_effective_role_num_cost) AS first_effective_role_num_cost, -- 首日有效创角成本
+                                ANY_VALUE(nature_new_user_total_effective_role_num_cost) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本
+                                ANY_VALUE(nature_effective_role_num_cost) as effective_role_num_cost,    -- 有效创角成本
+                                
+                                ANY_VALUE(nature_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                                ANY_VALUE(nature_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                                
+                                ANY_VALUE(nature_first_effective_role_amount_num_cost) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本
+                                ANY_VALUE(nature_new_user_total_effective_role_amount_num_cost) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本
+                                
+                                ANY_VALUE(nature_first_effective_role_amount_num_rate) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
+                                ANY_VALUE(nature_new_user_total_effective_role_amount_num_rate) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比
+                                ANY_VALUE(nature_first_effective_role_arpu) as first_effective_role_arpu, -- 首日有效创角ARPU
+                                ANY_VALUE(nature_new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu -- 新用户累计有效创角ARPU
                             FROM
                                 ads_game_day
                             """;
@@ -2786,7 +2830,30 @@ public class GameDataServiceImpl implements IGameDataService {
                             round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                             round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
                             round(IF(SUM(reg_num) >0, SUM(role_num) / SUM(reg_num), 0), 4) role_num_rate,
-                            round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate
+                            round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate,
+                            
+                            ANY_VALUE(first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                            ANY_VALUE(new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                            ANY_VALUE(effective_role_num) as effective_role_num,  -- 有效创角人数
+                            
+                            ANY_VALUE(first_effective_role_num_rate) AS first_effective_role_rate, -- 首日有效创角率
+                            ANY_VALUE(new_user_total_effective_role_num_rate) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率
+                            ANY_VALUE(effective_role_num_rate) as effective_role_num_rate, -- 有效创角率
+                            
+                            ANY_VALUE(first_effective_role_num_cost) AS first_effective_role_num_cost, -- 首日有效创角成本
+                            ANY_VALUE(new_user_total_effective_role_num_cost) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本
+                            ANY_VALUE(effective_role_num_cost) as effective_role_num_cost,    -- 有效创角成本
+                            
+                            ANY_VALUE(first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                            ANY_VALUE(new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                            
+                            ANY_VALUE(first_effective_role_amount_num_cost) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本
+                            ANY_VALUE(new_user_total_effective_role_amount_num_cost) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本
+                            
+                            ANY_VALUE(first_effective_role_amount_num_rate) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
+                            ANY_VALUE(new_user_total_effective_role_amount_num_rate) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比
+                            ANY_VALUE(first_effective_role_arpu) as first_effective_role_arpu, -- 首日有效创角ARPU
+                            ANY_VALUE(new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu -- 新用户累计有效创角ARPU
                         FROM
                             ads_game_day
                         """;
@@ -2849,7 +2916,30 @@ public class GameDataServiceImpl implements IGameDataService {
                                 round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                                 round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
                                 round(IF(SUM(buy_reg_num) >0, SUM(buy_role_num) / SUM(buy_reg_num), 0), 4) role_num_rate,
-                                round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate
+                                round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate,
+                                
+                                ANY_VALUE(buy_first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                                ANY_VALUE(buy_new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                                ANY_VALUE(buy_effective_role_num) as effective_role_num,  -- 有效创角人数
+                                
+                                ANY_VALUE(buy_first_effective_role_num_rate) AS first_effective_role_rate, -- 首日有效创角率
+                                ANY_VALUE(buy_new_user_total_effective_role_num_rate) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率
+                                ANY_VALUE(buy_effective_role_num_rate) as effective_role_num_rate, -- 有效创角率
+                                
+                                ANY_VALUE(buy_first_effective_role_num_cost) AS first_effective_role_num_cost, -- 首日有效创角成本
+                                ANY_VALUE(buy_new_user_total_effective_role_num_cost) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本
+                                ANY_VALUE(buy_effective_role_num_cost) as effective_role_num_cost,    -- 有效创角成本
+                                
+                                ANY_VALUE(buy_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                                ANY_VALUE(buy_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                                
+                                ANY_VALUE(buy_first_effective_role_amount_num_cost) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本
+                                ANY_VALUE(buy_new_user_total_effective_role_amount_num_cost) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本
+                                
+                                ANY_VALUE(buy_first_effective_role_amount_num_rate) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
+                                ANY_VALUE(buy_new_user_total_effective_role_amount_num_rate) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比
+                                ANY_VALUE(buy_first_effective_role_arpu) as first_effective_role_arpu, -- 首日有效创角ARPU
+                                ANY_VALUE(buy_new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu -- 新用户累计有效创角ARPU
                             FROM
                                 game_ads_parent.ads_game_day_parent
                             """;
@@ -2903,7 +2993,29 @@ public class GameDataServiceImpl implements IGameDataService {
                                 round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                                 round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
                                 round(IF(SUM(nature_reg_num) >0, SUM(nature_role_num) / SUM(nature_reg_num), 0), 4) role_num_rate,
-                                round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate
+                                round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate,
+                                ANY_VALUE(nature_first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                                ANY_VALUE(nature_new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                                ANY_VALUE(nature_effective_role_num) as effective_role_num,  -- 有效创角人数
+                                
+                                ANY_VALUE(nature_first_effective_role_num_rate) AS first_effective_role_rate, -- 首日有效创角率
+                                ANY_VALUE(nature_new_user_total_effective_role_num_rate) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率
+                                ANY_VALUE(nature_effective_role_num_rate) as effective_role_num_rate, -- 有效创角率
+                                
+                                ANY_VALUE(nature_first_effective_role_num_cost) AS first_effective_role_num_cost, -- 首日有效创角成本
+                                ANY_VALUE(nature_new_user_total_effective_role_num_cost) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本
+                                ANY_VALUE(nature_effective_role_num_cost) as effective_role_num_cost,    -- 有效创角成本
+                                
+                                ANY_VALUE(nature_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                                ANY_VALUE(nature_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                                
+                                ANY_VALUE(nature_first_effective_role_amount_num_cost) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本
+                                ANY_VALUE(nature_new_user_total_effective_role_amount_num_cost) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本
+                                
+                                ANY_VALUE(nature_first_effective_role_amount_num_rate) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
+                                ANY_VALUE(nature_new_user_total_effective_role_amount_num_rate) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比
+                                ANY_VALUE(nature_first_effective_role_arpu) as first_effective_role_arpu, -- 首日有效创角ARPU
+                                ANY_VALUE(nature_new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu -- 新用户累计有效创角ARPU
                             FROM
                                 game_ads_parent.ads_game_day_parent
                             """;
@@ -2958,7 +3070,31 @@ public class GameDataServiceImpl implements IGameDataService {
                             round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                             round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
                             round(IF(SUM(reg_num) >0, SUM(role_num) / SUM(reg_num), 0), 4) role_num_rate,
-                            round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate
+                            round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate,
+                            
+                            ANY_VALUE(first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                            ANY_VALUE(new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                            ANY_VALUE(effective_role_num) as effective_role_num,  -- 有效创角人数
+                            
+                            ANY_VALUE(first_effective_role_num_rate) AS first_effective_role_rate, -- 首日有效创角率
+                            ANY_VALUE(new_user_total_effective_role_num_rate) as new_user_total_effective_role_num_rate, -- 新用户累计有效创角率
+                            ANY_VALUE(effective_role_num_rate) as effective_role_num_rate, -- 有效创角率
+                            
+                            ANY_VALUE(first_effective_role_num_cost) AS first_effective_role_num_cost, -- 首日有效创角成本
+                            ANY_VALUE(new_user_total_effective_role_num_cost) as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本
+                            ANY_VALUE(effective_role_num_cost) as effective_role_num_cost,    -- 有效创角成本
+                            
+                            ANY_VALUE(first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                            ANY_VALUE(new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                            
+                            ANY_VALUE(first_effective_role_amount_num_cost) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本
+                            ANY_VALUE(new_user_total_effective_role_amount_num_cost) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本
+                            
+                            ANY_VALUE(first_effective_role_amount_num_rate) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
+                            ANY_VALUE(new_user_total_effective_role_amount_num_rate) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比
+                            ANY_VALUE(first_effective_role_arpu) as first_effective_role_arpu, -- 首日有效创角ARPU
+                            ANY_VALUE(new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu -- 新用户累计有效创角ARPU
+                            
                         FROM
                             game_ads_parent.ads_game_day_parent
                         """;
@@ -3394,7 +3530,31 @@ public class GameDataServiceImpl implements IGameDataService {
                                 round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                                 round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
                                 round(IF(SUM(buy_reg_num) >0, SUM(buy_role_num) / SUM(buy_reg_num), 0), 4) role_num_rate,
-                                round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate
+                                round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate,
+                                
+                                sum(buy_first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                                sum(buy_new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                                SUM(buy_effective_role_num) as effective_role_num, -- 有效创角人数
+                                
+                                ROUND(IFNULL(SUM(buy_first_effective_role_num)/sum(buy_first_role_num),0)*100,2) as first_effective_role_rate,   -- 首日有效创角率 = 首日有效创角人数/首日创角人数
+                                round(IFNULL(SUM(buy_new_user_total_effective_role_num)/SUM(buy_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate,         -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
+                                round(IFNULL(SUM(buy_effective_role_num)/SUM(buy_role_num),0)*100,2) as effective_role_num_rate,        -- 有效创角率 = 有效创角人数/创角人数
+                                
+                                round(IFNULL(SUM(cost)/SUM(buy_first_effective_role_num),0)*100,2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
+                                round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_num),0)*100,2)  as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
+                                round(IFNULL(SUM(cost)/sum(buy_effective_role_num),0)*100,2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
+                                
+                                SUM(buy_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                                sum(buy_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                                
+                                round(IFNULL(SUM(cost)/sum(buy_first_effective_role_amount_num),0)*100,2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
+                                round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_amount_num),0)*100,2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
+                                
+                                round(IFNULL(SUM(buy_first_effective_role_amount_num)/SUM(buy_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate,  -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
+                                round(IFNULL(SUM(buy_new_user_total_effective_role_amount_num)/SUM(buy_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
+                                ROUND(IFNULL(SUM(buy_new_user_total_amount)/SUM(buy_new_user_total_effective_role_num),0)*100,2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
+                                ROUND(IFNULL(SUM(buy_first_new_user_amount)/SUM(buy_first_effective_role_num),0)*100,2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
+                                
                             FROM game_ads.ads_game_day as a
                                 LEFT JOIN game_dw.dw_game_amount_day_buy
                                 b on a.source_system = b.source_system
@@ -3446,7 +3606,30 @@ public class GameDataServiceImpl implements IGameDataService {
                                 round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                                 round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
                                 round(IF(SUM(nature_reg_num) >0, SUM(nature_role_num) / SUM(nature_reg_num), 0), 4) role_num_rate,
-                                round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate
+                                round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate,
+                                
+                                sum(nature_first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                                sum(nature_new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                                SUM(nature_effective_role_num) as effective_role_num, -- 有效创角人数
+                                
+                                ROUND(IFNULL(SUM(nature_first_effective_role_num)/sum(nature_first_role_num),0)*100,2) as first_effective_role_rate,   -- 首日有效创角率 = 首日有效创角人数/首日创角人数
+                                round(IFNULL(SUM(nature_new_user_total_effective_role_num)/SUM(nature_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate,         -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
+                                round(IFNULL(SUM(nature_effective_role_num)/SUM(nature_role_num),0)*100,2) as effective_role_num_rate,        -- 有效创角率 = 有效创角人数/创角人数
+                                
+                                round(IFNULL(SUM(cost)/SUM(nature_first_effective_role_num),0)*100,2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
+                                round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_num),0)*100,2)  as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
+                                round(IFNULL(SUM(cost)/sum(nature_effective_role_num),0)*100,2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
+                                
+                                SUM(nature_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                                sum(nature_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                                
+                                round(IFNULL(SUM(cost)/sum(nature_first_effective_role_amount_num),0)*100,2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
+                                round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_amount_num),0)*100,2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
+                                
+                                round(IFNULL(SUM(nature_first_effective_role_amount_num)/SUM(nature_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate,  -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
+                                round(IFNULL(SUM(nature_new_user_total_effective_role_amount_num)/SUM(nature_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
+                                ROUND(IFNULL(SUM(nature_new_user_total_amount)/SUM(nature_new_user_total_effective_role_num),0)*100,2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
+                                ROUND(IFNULL(SUM(nature_first_new_user_amount)/SUM(nature_first_effective_role_num),0)*100,2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
                             FROM game_ads.ads_game_day as a
                                 left join  game_dw.dw_game_amount_day_nature d
                                 on a.dt=d.dt and a.game_id = d.nature_game_id
@@ -3460,53 +3643,78 @@ public class GameDataServiceImpl implements IGameDataService {
                 """
                 + amountDayStr("") +
                 """
-                            IFNULL(SUM(first_new_user_amount_count), 0) first_new_user_amount_count,
-                            IFNULL(SUM(first_new_user_amount_num), 0) first_new_user_amount_num,
-                            IFNULL(SUM(first_new_user_amount), 0) first_new_user_amount,
-                            IFNULL(SUM(old_user_count), 0) old_user_count,
-                            IFNULL(SUM(old_user_num), 0) old_user_num,
-                            IFNULL(SUM(old_user_amount), 0) old_user_amount,
-                            IFNULL(SUM(amount_count), 0) amount_count,
-                            IFNULL(SUM(amount_num), 0) amount_num,
-                            IFNULL(SUM(amount), 0) amount,
-                            IFNULL(SUM(new_user_total_amount_count), 0) new_user_total_amount_count,
-                            IFNULL(SUM(new_user_total_amount_num), 0) new_user_total_amount_num,
-                            IFNULL(SUM(new_user_total_amount), 0) new_user_total_amount,
-                            round(if(SUM(cost) > 0 , SUM(first_new_user_amount) / SUM(cost) ,0), 4) first_roi,
-                            round(if(SUM(reg_num) > 0 , SUM(first_new_user_amount_num) / SUM(reg_num) ,0), 4) first_amount_rate,
-                            round(if(SUM(reg_num) > 0, SUM(new_user_total_amount_num) / SUM(reg_num), 0) ,4) today_amount_rate,
-                            round(if(SUM(amount_num) > 0 , SUM(first_new_user_amount_num) / SUM(amount_num) ,0), 4) new_user_rate,
-                            round(if(SUM(first_new_user_amount_count) > 0, SUM(first_new_user_amount) / SUM(first_new_user_amount_count), 0), 2) first_avg_amount,
-                            round(if(SUM(new_user_total_amount_count) > 0, SUM(new_user_total_amount) / SUM(new_user_total_amount_count), 0), 2) today_avg_amount,
-                            round(if(SUM(amount_count) > 0, SUM(amount) / SUM(amount_count), 0), 2) avg_amount,
-                            round(if(SUM(new_user_total_amount_num) > 0, SUM(reg_order_user_again) / SUM(new_user_total_amount_num), 0), 4) user_again_rate,
-                            round(if(SUM(reg_num) > 0, SUM(new_user_total_amount) / SUM(reg_num), 0), 2) reg_user_arpu,
-                            round(if(SUM(first_new_user_amount_num) > 0 , SUM(first_new_user_amount) / SUM(first_new_user_amount_num), 0), 2) first_amount_arpu,
-                            round(if(SUM(new_user_total_amount_num) > 0 , SUM(new_user_total_amount) / SUM(new_user_total_amount_num), 0), 2) today_amount_arpu,
-                            round(if(SUM(amount_num) > 0, SUM(amount) / SUM(amount_num), 0), 2) amount_arpu,
-                            round(if(SUM(reg_num) > 0, SUM(cost) / SUM(reg_num), 0), 2) reg_cost,
-                            round(if(SUM(first_new_user_amount_num) > 0, SUM(cost) / SUM(first_new_user_amount_num), 0), 2) first_new_user_recharge_cost,
-                            round(if(SUM(new_user_total_amount_num) > 0, SUM(cost) / SUM(new_user_total_amount_num), 0), 2) total_recharge_cost,
-                            round(if(SUM(cost) > 0, SUM(new_user_total_amount) / SUM(cost), 0), 4) total_roi,
-                            SUM(hundred_user_num) hundred_user_num,
-                            round(IF(SUM(hundred_user_num) > 0, SUM(cost) / SUM(hundred_user_num), 0), 2) hundred_user_num_cost,
-                            SUM(first_role_num) first_role_num,
-                            SUM(role_num) role_num,
-                            SUM(new_user_total_role_num) new_user_total_role_num,
-                            round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
-                            round(IF(SUM(role_num) > 0, SUM(cost) / SUM(role_num), 0), 2) role_num_cost,
-                            round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
-                            round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
-                            round(IF(SUM(reg_num) >0, SUM(role_num) / SUM(reg_num), 0), 4) role_num_rate,
-                            round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate
-                        FROM game_ads.ads_game_day as a
-                        left join   game_dw.dw_game_amount_day
-                        b on a.dt=b.dt and a.game_id = b.game_id
-                      """;
+                              IFNULL(SUM(first_new_user_amount_count), 0) first_new_user_amount_count,
+                              IFNULL(SUM(first_new_user_amount_num), 0) first_new_user_amount_num,
+                              IFNULL(SUM(first_new_user_amount), 0) first_new_user_amount,
+                              IFNULL(SUM(old_user_count), 0) old_user_count,
+                              IFNULL(SUM(old_user_num), 0) old_user_num,
+                              IFNULL(SUM(old_user_amount), 0) old_user_amount,
+                              IFNULL(SUM(amount_count), 0) amount_count,
+                              IFNULL(SUM(amount_num), 0) amount_num,
+                              IFNULL(SUM(amount), 0) amount,
+                              IFNULL(SUM(new_user_total_amount_count), 0) new_user_total_amount_count,
+                              IFNULL(SUM(new_user_total_amount_num), 0) new_user_total_amount_num,
+                              IFNULL(SUM(new_user_total_amount), 0) new_user_total_amount,
+                              round(if(SUM(cost) > 0 , SUM(first_new_user_amount) / SUM(cost) ,0), 4) first_roi,
+                              round(if(SUM(reg_num) > 0 , SUM(first_new_user_amount_num) / SUM(reg_num) ,0), 4) first_amount_rate,
+                              round(if(SUM(reg_num) > 0, SUM(new_user_total_amount_num) / SUM(reg_num), 0) ,4) today_amount_rate,
+                              round(if(SUM(amount_num) > 0 , SUM(first_new_user_amount_num) / SUM(amount_num) ,0), 4) new_user_rate,
+                              round(if(SUM(first_new_user_amount_count) > 0, SUM(first_new_user_amount) / SUM(first_new_user_amount_count), 0), 2) first_avg_amount,
+                              round(if(SUM(new_user_total_amount_count) > 0, SUM(new_user_total_amount) / SUM(new_user_total_amount_count), 0), 2) today_avg_amount,
+                              round(if(SUM(amount_count) > 0, SUM(amount) / SUM(amount_count), 0), 2) avg_amount,
+                              round(if(SUM(new_user_total_amount_num) > 0, SUM(reg_order_user_again) / SUM(new_user_total_amount_num), 0), 4) user_again_rate,
+                              round(if(SUM(reg_num) > 0, SUM(new_user_total_amount) / SUM(reg_num), 0), 2) reg_user_arpu,
+                              round(if(SUM(first_new_user_amount_num) > 0 , SUM(first_new_user_amount) / SUM(first_new_user_amount_num), 0), 2) first_amount_arpu,
+                              round(if(SUM(new_user_total_amount_num) > 0 , SUM(new_user_total_amount) / SUM(new_user_total_amount_num), 0), 2) today_amount_arpu,
+                              round(if(SUM(amount_num) > 0, SUM(amount) / SUM(amount_num), 0), 2) amount_arpu,
+                              round(if(SUM(reg_num) > 0, SUM(cost) / SUM(reg_num), 0), 2) reg_cost,
+                              round(if(SUM(first_new_user_amount_num) > 0, SUM(cost) / SUM(first_new_user_amount_num), 0), 2) first_new_user_recharge_cost,
+                              round(if(SUM(new_user_total_amount_num) > 0, SUM(cost) / SUM(new_user_total_amount_num), 0), 2) total_recharge_cost,
+                              round(if(SUM(cost) > 0, SUM(new_user_total_amount) / SUM(cost), 0), 4) total_roi,
+                              SUM(hundred_user_num) hundred_user_num,
+                              round(IF(SUM(hundred_user_num) > 0, SUM(cost) / SUM(hundred_user_num), 0), 2) hundred_user_num_cost,
+                              SUM(first_role_num) first_role_num,
+                              SUM(role_num) role_num,
+                              SUM(new_user_total_role_num) new_user_total_role_num,
+                              round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
+                              round(IF(SUM(role_num) > 0, SUM(cost) / SUM(role_num), 0), 2) role_num_cost,
+                              round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
+                              round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
+                              round(IF(SUM(reg_num) >0, SUM(role_num) / SUM(reg_num), 0), 4) role_num_rate,
+                              round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate,
+                              
+                              sum(first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                              sum(new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                              SUM(effective_role_num) as effective_role_num, -- 有效创角人数
+                          
+                              ROUND(IFNULL(SUM(first_effective_role_num)/sum(first_role_num),0)*100,2) as first_effective_role_rate,   -- 首日有效创角率 = 首日有效创角人数/首日创角人数
+                              round(IFNULL(SUM(new_user_total_effective_role_num)/SUM(new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate,         -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
+                              round(IFNULL(SUM(effective_role_num)/SUM(role_num),0)*100,2) as effective_role_num_rate,        -- 有效创角率 = 有效创角人数/创角人数
+                          
+                              round(IFNULL(SUM(cost)/SUM(first_effective_role_num),0)*100,2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
+                              round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_num),0)*100,2)  as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
+                              round(IFNULL(SUM(cost)/sum(effective_role_num),0)*100,2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
+                          
+                              SUM(first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                              sum(new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                          
+                          
+                              round(IFNULL(SUM(cost)/sum(first_effective_role_amount_num),0)*100,2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
+                              round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_amount_num),0)*100,2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
+                          
+                              round(IFNULL(SUM(first_effective_role_amount_num)/SUM(first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate,  -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
+                              round(IFNULL(SUM(new_user_total_effective_role_amount_num)/SUM(new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
+                              ROUND(IFNULL(SUM(new_user_total_amount)/SUM(new_user_total_effective_role_num),0)*100,2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
+                              ROUND(IFNULL(SUM(first_new_user_amount)/SUM(first_effective_role_num),0)*100,2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
+                          FROM game_ads.ads_game_day as a
+                          left join   game_dw.dw_game_amount_day
+                          b on a.dt=b.dt and a.game_id = b.game_id
+                        """;
     }
 
     /**
      * 游戏每日数据总计sql - 父游戏维度 (新)
+     *
      * @param tableType 查询类型
      * @return
      */
@@ -3557,7 +3765,31 @@ public class GameDataServiceImpl implements IGameDataService {
                                 round(IF(SUM(buy_new_user_total_role_num) >0, SUM(cost) / SUM(buy_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                                 round(IF(SUM(buy_reg_num) >0, SUM(buy_first_role_num) / SUM(buy_reg_num), 0), 4) first_role_num_rate,
                                 round(IF(SUM(buy_reg_num) >0, SUM(buy_role_num) / SUM(buy_reg_num), 0), 4) role_num_rate,
-                                round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate
+                                round(IF(SUM(buy_reg_num) >0, SUM(buy_new_user_total_role_num) / SUM(buy_reg_num), 0), 4) new_user_total_role_num_rate,
+                                
+                                sum(buy_first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                                sum(buy_new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                                SUM(buy_effective_role_num) as effective_role_num, -- 有效创角人数
+                                
+                                ROUND(IFNULL(SUM(buy_first_effective_role_num)/sum(buy_first_role_num),0)*100,2) as first_effective_role_rate,   -- 首日有效创角率 = 首日有效创角人数/首日创角人数
+                                round(IFNULL(SUM(buy_new_user_total_effective_role_num)/SUM(buy_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate,         -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
+                                round(IFNULL(SUM(buy_effective_role_num)/SUM(buy_role_num),0)*100,2) as effective_role_num_rate,        -- 有效创角率 = 有效创角人数/创角人数
+                                
+                                round(IFNULL(SUM(cost)/SUM(buy_first_effective_role_num),0)*100,2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
+                                round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_num),0)*100,2)  as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
+                                round(IFNULL(SUM(cost)/sum(buy_effective_role_num),0)*100,2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
+                                
+                                SUM(buy_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                                sum(buy_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                                
+                                
+                                round(IFNULL(SUM(cost)/sum(buy_first_effective_role_amount_num),0)*100,2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
+                                round(IFNULL(SUM(cost)/SUM(buy_new_user_total_effective_role_amount_num),0)*100,2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
+                                
+                                round(IFNULL(SUM(buy_first_effective_role_amount_num)/SUM(buy_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate,  -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
+                                round(IFNULL(SUM(buy_new_user_total_effective_role_amount_num)/SUM(buy_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
+                                ROUND(IFNULL(SUM(buy_new_user_total_amount)/SUM(buy_new_user_total_effective_role_num),0)*100,2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
+                                ROUND(IFNULL(SUM(buy_first_new_user_amount)/SUM(buy_first_effective_role_num),0)*100,2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
                             FROM game_ads_parent.ads_game_day_parent as a
                             LEFT JOIN  game_dw_parent.dw_game_amount_day_buy_parent b
                             on a.source_system = b.source_system
@@ -3609,7 +3841,30 @@ public class GameDataServiceImpl implements IGameDataService {
                                 round(IF(SUM(nature_new_user_total_role_num) >0, SUM(cost) / SUM(nature_new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
                                 round(IF(SUM(nature_reg_num) >0, SUM(nature_first_role_num) / SUM(nature_reg_num), 0), 4) first_role_num_rate,
                                 round(IF(SUM(nature_reg_num) >0, SUM(nature_role_num) / SUM(nature_reg_num), 0), 4) role_num_rate,
-                                round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate
+                                round(IF(SUM(nature_reg_num) >0, SUM(nature_new_user_total_role_num) / SUM(nature_reg_num), 0), 4) new_user_total_role_num_rate,
+                                
+                                sum(nature_first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                                sum(nature_new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                                SUM(nature_effective_role_num) as effective_role_num, -- 有效创角人数
+                                
+                                ROUND(IFNULL(SUM(nature_first_effective_role_num)/sum(nature_first_role_num),0)*100,2) as first_effective_role_rate,   -- 首日有效创角率 = 首日有效创角人数/首日创角人数
+                                round(IFNULL(SUM(nature_new_user_total_effective_role_num)/SUM(nature_new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate,         -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
+                                round(IFNULL(SUM(nature_effective_role_num)/SUM(nature_role_num),0)*100,2) as effective_role_num_rate,        -- 有效创角率 = 有效创角人数/创角人数
+                                
+                                round(IFNULL(SUM(cost)/SUM(nature_first_effective_role_num),0)*100,2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
+                                round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_num),0)*100,2)  as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
+                                round(IFNULL(SUM(cost)/sum(nature_effective_role_num),0)*100,2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
+                                
+                                SUM(nature_first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                                sum(nature_new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                                
+                                round(IFNULL(SUM(cost)/sum(nature_first_effective_role_amount_num),0)*100,2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
+                                round(IFNULL(SUM(cost)/SUM(nature_new_user_total_effective_role_amount_num),0)*100,2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
+                                
+                                round(IFNULL(SUM(nature_first_effective_role_amount_num)/SUM(nature_first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate,  -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
+                                round(IFNULL(SUM(nature_new_user_total_effective_role_amount_num)/SUM(nature_new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
+                                ROUND(IFNULL(SUM(nature_new_user_total_amount)/SUM(nature_new_user_total_effective_role_num),0)*100,2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
+                                ROUND(IFNULL(SUM(nature_first_new_user_amount)/SUM(nature_first_effective_role_num),0)*100,2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
                             FROM game_ads_parent.ads_game_day_parent as a
                                 left join   game_dw_parent.dw_game_amount_day_nature_parent d
                                 on a.dt=d.dt and a.parent_game_id = d.nature_parent_game_id
@@ -3623,49 +3878,73 @@ public class GameDataServiceImpl implements IGameDataService {
                 """
                 + amountDayStr("") +
                 """
-                            IFNULL(SUM(first_new_user_amount_count), 0) first_new_user_amount_count,
-                            IFNULL(SUM(first_new_user_amount_num), 0) first_new_user_amount_num,
-                            IFNULL(SUM(first_new_user_amount), 0) first_new_user_amount,
-                            IFNULL(SUM(old_user_count), 0) old_user_count,
-                            IFNULL(SUM(old_user_num), 0) old_user_num,
-                            IFNULL(SUM(old_user_amount), 0) old_user_amount,
-                            IFNULL(SUM(amount_count), 0) amount_count,
-                            IFNULL(SUM(amount_num), 0) amount_num,
-                            IFNULL(SUM(amount), 0) amount,
-                            IFNULL(SUM(new_user_total_amount_count), 0) new_user_total_amount_count,
-                            IFNULL(SUM(new_user_total_amount_num), 0) new_user_total_amount_num,
-                            IFNULL(SUM(new_user_total_amount), 0) new_user_total_amount,
-                            round(if(SUM(cost) > 0 , SUM(first_new_user_amount) / SUM(cost) ,0), 4) first_roi,
-                            round(if(SUM(reg_num) > 0 , SUM(first_new_user_amount_num) / SUM(reg_num) ,0), 4) first_amount_rate,
-                            round(if(SUM(reg_num) > 0, SUM(new_user_total_amount_num) / SUM(reg_num), 0) ,4) today_amount_rate,
-                            round(if(SUM(amount_num) > 0 , SUM(first_new_user_amount_num) / SUM(amount_num) ,0), 4) new_user_rate,
-                            round(if(SUM(first_new_user_amount_count) > 0, SUM(first_new_user_amount) / SUM(first_new_user_amount_count), 0), 2) first_avg_amount,
-                            round(if(SUM(new_user_total_amount_count) > 0, SUM(new_user_total_amount) / SUM(new_user_total_amount_count), 0), 2) today_avg_amount,
-                            round(if(SUM(amount_count) > 0, SUM(amount) / SUM(amount_count), 0), 2) avg_amount,
-                            round(if(SUM(new_user_total_amount_num) > 0, SUM(reg_order_user_again) / SUM(new_user_total_amount_num), 0), 4) user_again_rate,
-                            round(if(SUM(reg_num) > 0, SUM(new_user_total_amount) / SUM(reg_num), 0), 2) reg_user_arpu,
-                            round(if(SUM(first_new_user_amount_num) > 0 , SUM(first_new_user_amount) / SUM(first_new_user_amount_num), 0), 2) first_amount_arpu,
-                            round(if(SUM(new_user_total_amount_num) > 0 , SUM(new_user_total_amount) / SUM(new_user_total_amount_num), 0), 2) today_amount_arpu,
-                            round(if(SUM(amount_num) > 0, SUM(amount) / SUM(amount_num), 0), 2) amount_arpu,
-                            round(if(SUM(reg_num) > 0, SUM(cost) / SUM(reg_num), 0), 2) reg_cost,
-                            round(if(SUM(first_new_user_amount_num) > 0, SUM(cost) / SUM(first_new_user_amount_num), 0), 2) first_new_user_recharge_cost,
-                            round(if(SUM(new_user_total_amount_num) > 0, SUM(cost) / SUM(new_user_total_amount_num), 0), 2) total_recharge_cost,
-                            round(if(SUM(cost) > 0, SUM(new_user_total_amount) / SUM(cost), 0), 4) total_roi,
-                            SUM(hundred_user_num) hundred_user_num,
-                            round(IF(SUM(hundred_user_num) > 0, SUM(cost) / SUM(hundred_user_num), 0), 2) hundred_user_num_cost,
-                            SUM(first_role_num) first_role_num,
-                            SUM(role_num) role_num,
-                            SUM(new_user_total_role_num) new_user_total_role_num,
-                            round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
-                            round(IF(SUM(role_num) > 0, SUM(cost) / SUM(role_num), 0), 2) role_num_cost,
-                            round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
-                            round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
-                            round(IF(SUM(reg_num) >0, SUM(role_num) / SUM(reg_num), 0), 4) role_num_rate,
-                            round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate
-                        FROM game_ads_parent.ads_game_day_parent as a
-                        left join   game_dw_parent.dw_game_amount_day_parent as b
-                        on a.dt = b.dt and a.parent_game_id = b.parent_game_id 
-                      """;
+                              IFNULL(SUM(first_new_user_amount_count), 0) first_new_user_amount_count,
+                              IFNULL(SUM(first_new_user_amount_num), 0) first_new_user_amount_num,
+                              IFNULL(SUM(first_new_user_amount), 0) first_new_user_amount,
+                              IFNULL(SUM(old_user_count), 0) old_user_count,
+                              IFNULL(SUM(old_user_num), 0) old_user_num,
+                              IFNULL(SUM(old_user_amount), 0) old_user_amount,
+                              IFNULL(SUM(amount_count), 0) amount_count,
+                              IFNULL(SUM(amount_num), 0) amount_num,
+                              IFNULL(SUM(amount), 0) amount,
+                              IFNULL(SUM(new_user_total_amount_count), 0) new_user_total_amount_count,
+                              IFNULL(SUM(new_user_total_amount_num), 0) new_user_total_amount_num,
+                              IFNULL(SUM(new_user_total_amount), 0) new_user_total_amount,
+                              round(if(SUM(cost) > 0 , SUM(first_new_user_amount) / SUM(cost) ,0), 4) first_roi,
+                              round(if(SUM(reg_num) > 0 , SUM(first_new_user_amount_num) / SUM(reg_num) ,0), 4) first_amount_rate,
+                              round(if(SUM(reg_num) > 0, SUM(new_user_total_amount_num) / SUM(reg_num), 0) ,4) today_amount_rate,
+                              round(if(SUM(amount_num) > 0 , SUM(first_new_user_amount_num) / SUM(amount_num) ,0), 4) new_user_rate,
+                              round(if(SUM(first_new_user_amount_count) > 0, SUM(first_new_user_amount) / SUM(first_new_user_amount_count), 0), 2) first_avg_amount,
+                              round(if(SUM(new_user_total_amount_count) > 0, SUM(new_user_total_amount) / SUM(new_user_total_amount_count), 0), 2) today_avg_amount,
+                              round(if(SUM(amount_count) > 0, SUM(amount) / SUM(amount_count), 0), 2) avg_amount,
+                              round(if(SUM(new_user_total_amount_num) > 0, SUM(reg_order_user_again) / SUM(new_user_total_amount_num), 0), 4) user_again_rate,
+                              round(if(SUM(reg_num) > 0, SUM(new_user_total_amount) / SUM(reg_num), 0), 2) reg_user_arpu,
+                              round(if(SUM(first_new_user_amount_num) > 0 , SUM(first_new_user_amount) / SUM(first_new_user_amount_num), 0), 2) first_amount_arpu,
+                              round(if(SUM(new_user_total_amount_num) > 0 , SUM(new_user_total_amount) / SUM(new_user_total_amount_num), 0), 2) today_amount_arpu,
+                              round(if(SUM(amount_num) > 0, SUM(amount) / SUM(amount_num), 0), 2) amount_arpu,
+                              round(if(SUM(reg_num) > 0, SUM(cost) / SUM(reg_num), 0), 2) reg_cost,
+                              round(if(SUM(first_new_user_amount_num) > 0, SUM(cost) / SUM(first_new_user_amount_num), 0), 2) first_new_user_recharge_cost,
+                              round(if(SUM(new_user_total_amount_num) > 0, SUM(cost) / SUM(new_user_total_amount_num), 0), 2) total_recharge_cost,
+                              round(if(SUM(cost) > 0, SUM(new_user_total_amount) / SUM(cost), 0), 4) total_roi,
+                              SUM(hundred_user_num) hundred_user_num,
+                              round(IF(SUM(hundred_user_num) > 0, SUM(cost) / SUM(hundred_user_num), 0), 2) hundred_user_num_cost,
+                              SUM(first_role_num) first_role_num,
+                              SUM(role_num) role_num,
+                              SUM(new_user_total_role_num) new_user_total_role_num,
+                              round(IF(SUM(first_role_num) > 0, SUM(cost) / SUM(first_role_num), 0), 2) first_role_num_cost,
+                              round(IF(SUM(role_num) > 0, SUM(cost) / SUM(role_num), 0), 2) role_num_cost,
+                              round(IF(SUM(new_user_total_role_num) >0, SUM(cost) / SUM(new_user_total_role_num), 0), 2) new_user_total_role_num_cost,
+                              round(IF(SUM(reg_num) >0, SUM(first_role_num) / SUM(reg_num), 0), 4) first_role_num_rate,
+                              round(IF(SUM(reg_num) >0, SUM(role_num) / SUM(reg_num), 0), 4) role_num_rate,
+                              round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate,
+                              
+                              sum(first_effective_role_num) as first_effective_role_num,  -- 首日有效创角人数
+                              sum(new_user_total_effective_role_num) as new_user_total_effective_role_num,  -- 新用户累计有效创角人数
+                              SUM(effective_role_num) as effective_role_num, -- 有效创角人数
+                              
+                              ROUND(IFNULL(SUM(first_effective_role_num)/sum(first_role_num),0)*100,2) as first_effective_role_rate,   -- 首日有效创角率 = 首日有效创角人数/首日创角人数
+                              round(IFNULL(SUM(new_user_total_effective_role_num)/SUM(new_user_total_role_num),0)*100,2) as new_user_total_effective_role_num_rate,         -- 新用户累计有效创角率 = 新用户累计有效创角人数/新用户累计创角人数
+                              round(IFNULL(SUM(effective_role_num)/SUM(role_num),0)*100,2) as effective_role_num_rate,        -- 有效创角率 = 有效创角人数/创角人数
+                              
+                              round(IFNULL(SUM(cost)/SUM(first_effective_role_num),0)*100,2) as first_effective_role_num_cost, -- 首日有效创角成本= 消耗/首日有效创角人数
+                              round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_num),0)*100,2)  as new_user_total_effective_role_num_cost, -- 新用户累计有效创角成本 = 消耗/新用户累计有效创角人数
+                              round(IFNULL(SUM(cost)/sum(effective_role_num),0)*100,2) as effective_role_num_cost, -- 有效创角成本 = 消耗/有效创角人数
+                              
+                              SUM(first_effective_role_amount_num) as first_effective_role_amount_num, -- 首日有效创角付费人数
+                              sum(new_user_total_effective_role_amount_num) as new_user_total_effective_role_amount_num, -- 新用户累计有效创角付费人数
+                              
+                              
+                              round(IFNULL(SUM(cost)/sum(first_effective_role_amount_num),0)*100,2) as first_effective_role_amount_num_cost, -- 首日有效创角付费成本=消耗/首日有效创角付费人数
+                              round(IFNULL(SUM(cost)/SUM(new_user_total_effective_role_amount_num),0)*100,2) as new_user_total_effective_role_amount_num_cost, -- 新用户累计有效创角付费成本=消耗/新用户累计有效创角付费人数
+                              
+                              round(IFNULL(SUM(first_effective_role_amount_num)/SUM(first_new_user_amount_count),0)*100,2) as first_effective_role_amount_num_rate,  -- 首日有效创角付费比=首日有效创角付费人数/首日新用户充值人数
+                              round(IFNULL(SUM(new_user_total_effective_role_amount_num)/SUM(new_user_total_amount_count),0)*100,2) as new_user_total_effective_role_amount_num_rate, -- 新用户累计有效创角付费比=新用户累计有效创角付费人数/新用户累计充值人数
+                              ROUND(IFNULL(SUM(new_user_total_amount)/SUM(new_user_total_effective_role_num),0)*100,2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
+                              ROUND(IFNULL(SUM(first_new_user_amount)/SUM(first_effective_role_num),0)*100,2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
+                          FROM game_ads_parent.ads_game_day_parent as a
+                          left join   game_dw_parent.dw_game_amount_day_parent as b
+                          on a.dt = b.dt and a.parent_game_id = b.parent_game_id 
+                        """;
     }
 
     /**
@@ -3928,21 +4207,21 @@ public class GameDataServiceImpl implements IGameDataService {
 
 
     /**
-     *  Dn的充值金额 / D1-Dn的充值总金额 / Dn的充值人数 /当前消耗(剔除不存在的天数数据) /D1充值金额总和(剔除不存在的天数数据)
+     * Dn的充值金额 / D1-Dn的充值总金额 / Dn的充值人数 /当前消耗(剔除不存在的天数数据) /D1充值金额总和(剔除不存在的天数数据)
      * 游戏每日总计趋势sql
      */
-    private static String amountDayStr(String type){
+    private static String amountDayStr(String type) {
         //拼接查询条件
         StringBuilder trendDay = new StringBuilder(StringUtils.EMPTY);
         trendDay.append("""
-                    CONCAT(
-                      SUM(IF(DATE_ADD(a.dt, INTERVAL 0 day) <= DATE(NOW()), %sda1, 0)),'/',
-                      IFNULL(sum(%sda1),0),'/', 
-                      sum(ifnull(%sda1_num,0)),'/',
-                      SUM(IF(DATE_ADD(a.dt, INTERVAL 0 day) <= DATE(NOW()), cost, 0)),'/',
-                      SUM(IF(DATE_ADD(a.dt, INTERVAL 0 day) <= DATE(NOW()), %sda1, 0))
-                    ) AS amount_d1 ,
-                    """.formatted(type, type, type, type));
+                CONCAT(
+                  SUM(IF(DATE_ADD(a.dt, INTERVAL 0 day) <= DATE(NOW()), %sda1, 0)),'/',
+                  IFNULL(sum(%sda1),0),'/', 
+                  sum(ifnull(%sda1_num,0)),'/',
+                  SUM(IF(DATE_ADD(a.dt, INTERVAL 0 day) <= DATE(NOW()), cost, 0)),'/',
+                  SUM(IF(DATE_ADD(a.dt, INTERVAL 0 day) <= DATE(NOW()), %sda1, 0))
+                ) AS amount_d1 ,
+                """.formatted(type, type, type, type));
 
         for (int day = 2; day < 90; day++) {
             trendDay.append("""
@@ -3953,19 +4232,19 @@ public class GameDataServiceImpl implements IGameDataService {
                       SUM(IF(DATE_ADD(a.dt, INTERVAL %d day) <= DATE(NOW()), cost, 0)),'/',
                       SUM(IF(DATE_ADD(a.dt, INTERVAL %d day) <= DATE(NOW()), %sda1, 0))
                     ) AS amount_d%s ,
-                    """.formatted( day - 1,type,day,type,day - 1,type, day, type, day, day - 1, day - 1, type, day));
+                    """.formatted(day - 1, type, day, type, day - 1, type, day, type, day, day - 1, day - 1, type, day));
         }
 
         //三月
         trendDay.append("""
-                    CONCAT(
-                      SUM(IF(DATE_ADD(a.dt, INTERVAL 2 month) <= DATE(NOW()), %sm3-%sda89, 0)),'/',
-                      IFNULL(sum(%sm3),0),'/',
-                      sum(ifnull(%sda90_num,0)),'/',
-                      SUM(IF(DATE_ADD(a.dt, INTERVAL 2 month) <= DATE(NOW()), cost, 0)),'/',
-                      SUM(IF(DATE_ADD(a.dt, INTERVAL 2 month) <= DATE(NOW()), %sda1, 0))
-                    ) AS amount_d90 ,
-                    """.formatted(type, type, type, type,type));
+                CONCAT(
+                  SUM(IF(DATE_ADD(a.dt, INTERVAL 2 month) <= DATE(NOW()), %sm3-%sda89, 0)),'/',
+                  IFNULL(sum(%sm3),0),'/',
+                  sum(ifnull(%sda90_num,0)),'/',
+                  SUM(IF(DATE_ADD(a.dt, INTERVAL 2 month) <= DATE(NOW()), cost, 0)),'/',
+                  SUM(IF(DATE_ADD(a.dt, INTERVAL 2 month) <= DATE(NOW()), %sda1, 0))
+                ) AS amount_d90 ,
+                """.formatted(type, type, type, type, type));
         for (int month = 4; month <= 12; month++) {
             trendDay.append("""
                     CONCAT(
@@ -3975,7 +4254,7 @@ public class GameDataServiceImpl implements IGameDataService {
                       SUM(IF(DATE_ADD(a.dt, INTERVAL %d month) <= DATE(NOW()), cost, 0)),'/',
                       SUM(IF(DATE_ADD(a.dt, INTERVAL %d month) <= DATE(NOW()), %sda1, 0))
                     ) AS amount_m%s ,
-                    """.formatted(month -1 , type,month,type,month - 1,type, month, type, month, month - 1,month - 1, type,month));
+                    """.formatted(month - 1, type, month, type, month - 1, type, month, type, month, month - 1, month - 1, type, month));
         }
 //        //拼接sum数据
         trendDay.append("""
@@ -5693,9 +5972,9 @@ public class GameDataServiceImpl implements IGameDataService {
 
         //查询总记录数
         //默认子游戏
-        Sql countSql = Sqls.create(getCountNumSubgameSql2(cri, agentCri, subGameSql,yesterdayTotalAmountCri));
+        Sql countSql = Sqls.create(getCountNumSubgameSql2(cri, agentCri, subGameSql, yesterdayTotalAmountCri));
         if (dto.getGameDimension() == 2) {
-            countSql = Sqls.create(getCountNumSql(cri, agentCri,yesterdayTotalAmountCri));
+            countSql = Sqls.create(getCountNumSql(cri, agentCri, yesterdayTotalAmountCri));
         }
         countSql.setCallback(Sqls.callback.integer());
         dao.execute(countSql);