Quellcode durchsuchen

:feat:游戏每日增加首日人均付费次数字段

zhangxianyu vor 8 Monaten
Ursprung
Commit
134810888d

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

@@ -1169,4 +1169,8 @@ public class GameDataDayTotalVO {
     @ApiModelProperty(value = "新用户累计有效创角XARPU")
     private BigDecimal newUserTotalEffectiveRoleArpu;
 
+
+    @ApiModelProperty(value = "首日人均付费次数")
+    private BigDecimal firstDayAvgCostCount;
+
 }

+ 2 - 1
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameDataDayVO.java

@@ -1194,7 +1194,8 @@ public class GameDataDayVO {
     @ApiModelProperty(value = "新用户累计有效创角ARPU")
     private BigDecimal newUserTotalEffectiveRoleArpu;
 
-
+    @ApiModelProperty(value = "首日人均付费次数")
+    private BigDecimal firstDayAvgCostCount;
 
 
 }

+ 37 - 12
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameDataServiceImpl.java

@@ -2958,7 +2958,9 @@ public class GameDataServiceImpl implements IGameDataService {
                                 round(ANY_VALUE(buy_first_effective_role_amount_num_rate)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
                                 round(ANY_VALUE(buy_new_user_total_effective_role_amount_num_rate)*100,2) 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
+                                ANY_VALUE(buy_new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu, -- 新用户累计有效创角ARPU
+                                
+                                round(IF(SUM(buy_first_new_user_amount_num) >0, SUM(buy_first_new_user_amount_count) / SUM(buy_first_new_user_amount_num), 0), 4) as first_day_avg_cost_count -- 首日人均付费次数
                             FROM
                                 ads_game_day
                             """;
@@ -3035,7 +3037,9 @@ public class GameDataServiceImpl implements IGameDataService {
                                 round(ANY_VALUE(nature_first_effective_role_amount_num_rate)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
                                 round(ANY_VALUE(nature_new_user_total_effective_role_amount_num_rate)*100,2) 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
+                                ANY_VALUE(nature_new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu, -- 新用户累计有效创角ARPU
+                                
+                                round(IF(SUM(nature_first_new_user_amount_num) >0, SUM(nature_first_new_user_amount_count) / SUM(nature_first_new_user_amount_num), 0), 4) as first_day_avg_cost_count -- 首日人均付费次数
                             FROM
                                 ads_game_day
                             """;
@@ -3112,7 +3116,9 @@ public class GameDataServiceImpl implements IGameDataService {
                              round(ANY_VALUE(first_effective_role_amount_num_rate)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
                              round(ANY_VALUE(new_user_total_effective_role_amount_num_rate)*100,2) 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
+                             ANY_VALUE(new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu, -- 新用户累计有效创角ARPU
+                             
+                             round(IF(SUM(first_new_user_amount_num) >0, SUM(first_new_user_amount_count) / SUM(first_new_user_amount_num), 0), 4) as first_day_avg_cost_count -- 首日人均付费次数
                         FROM
                             ads_game_day
                         """;
@@ -3198,7 +3204,10 @@ public class GameDataServiceImpl implements IGameDataService {
                                 round(ANY_VALUE(buy_first_effective_role_amount_num_rate)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
                                 round(ANY_VALUE(buy_new_user_total_effective_role_amount_num_rate)*100,2) 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
+                                ANY_VALUE(buy_new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu, -- 新用户累计有效创角ARPU
+                                
+                                round(IF(SUM(buy_first_new_user_amount_num) >0, SUM(buy_first_new_user_amount_count) / SUM(buy_first_new_user_amount_num), 0), 4) as first_day_avg_cost_count -- 首日人均付费次数
+                                
                             FROM
                                 game_ads_parent.ads_game_day_parent
                             """;
@@ -3275,7 +3284,9 @@ public class GameDataServiceImpl implements IGameDataService {
                                 round(ANY_VALUE(nature_first_effective_role_amount_num_rate)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
                                 round(ANY_VALUE(nature_new_user_total_effective_role_amount_num_rate)*100,2) 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
+                                ANY_VALUE(nature_new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu, -- 新用户累计有效创角ARPU
+                                
+                                round(IF(SUM(nature_first_new_user_amount_num) >0, SUM(nature_first_new_user_amount_count) / SUM(nature_first_new_user_amount_num), 0), 4) as first_day_avg_cost_count -- 首日人均付费次数
                             FROM
                                 game_ads_parent.ads_game_day_parent
                             """;
@@ -3352,7 +3363,9 @@ public class GameDataServiceImpl implements IGameDataService {
                              round(ANY_VALUE(first_effective_role_amount_num_rate)*100,2) as first_effective_role_amount_num_rate, -- 首日有效创角付费比
                              round(ANY_VALUE(new_user_total_effective_role_amount_num_rate)*100,2) 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
+                             ANY_VALUE(new_user_total_effective_role_arpu) as new_user_total_effective_role_arpu, -- 新用户累计有效创角ARPU
+                             
+                             round(IF(SUM(first_new_user_amount_num) >0, SUM(first_new_user_amount_count) / SUM(first_new_user_amount_num), 0), 4) as first_day_avg_cost_count -- 首日人均付费次数
                         FROM
                             game_ads_parent.ads_game_day_parent
                         """;
@@ -3811,7 +3824,9 @@ public class GameDataServiceImpl implements IGameDataService {
                                 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),2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
-                                ROUND(IFNULL(SUM(buy_first_new_user_amount)/SUM(buy_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
+                                ROUND(IFNULL(SUM(buy_first_new_user_amount)/SUM(buy_first_effective_role_num),0),2) as new_user_total_effective_role_arpu, -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
+                                
+                                round(IF(SUM(buy_first_new_user_amount_num) >0, SUM(buy_first_new_user_amount_count) / SUM(buy_first_new_user_amount_num), 0), 4) as first_day_avg_cost_count -- 首日人均付费次数
                                 
                             FROM game_ads.ads_game_day as a
                                 LEFT JOIN game_dw.dw_game_amount_day_buy
@@ -3887,7 +3902,9 @@ public class GameDataServiceImpl implements IGameDataService {
                                 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),2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
-                                ROUND(IFNULL(SUM(nature_first_new_user_amount)/SUM(nature_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
+                                ROUND(IFNULL(SUM(nature_first_new_user_amount)/SUM(nature_first_effective_role_num),0),2) as new_user_total_effective_role_arpu, -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
+                                
+                                round(IF(SUM(nature_first_new_user_amount_num) >0, SUM(nature_first_new_user_amount_count) / SUM(nature_first_new_user_amount_num), 0), 4) as first_day_avg_cost_count -- 首日人均付费次数
                             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
@@ -3963,7 +3980,9 @@ public class GameDataServiceImpl implements IGameDataService {
                               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),2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
-                              ROUND(IFNULL(SUM(first_new_user_amount)/SUM(first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
+                              ROUND(IFNULL(SUM(first_new_user_amount)/SUM(first_effective_role_num),0),2) as new_user_total_effective_role_arpu, -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
+                              
+                               round(IF(SUM(first_new_user_amount_num) >0, SUM(first_new_user_amount_count) / SUM(first_new_user_amount_num), 0), 4) as first_day_avg_cost_count -- 首日人均付费次数
                           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
@@ -4047,7 +4066,9 @@ public class GameDataServiceImpl implements IGameDataService {
                                 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),2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
-                                ROUND(IFNULL(SUM(buy_first_new_user_amount)/SUM(buy_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
+                                ROUND(IFNULL(SUM(buy_first_new_user_amount)/SUM(buy_first_effective_role_num),0),2) as new_user_total_effective_role_arpu, -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
+                                
+                                round(IF(SUM(buy_first_new_user_amount_num) >0, SUM(buy_first_new_user_amount_count) / SUM(buy_first_new_user_amount_num), 0), 4) as first_day_avg_cost_count -- 首日人均付费次数
                             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
@@ -4122,7 +4143,9 @@ public class GameDataServiceImpl implements IGameDataService {
                                 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),2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
-                                ROUND(IFNULL(SUM(nature_first_new_user_amount)/SUM(nature_first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
+                                ROUND(IFNULL(SUM(nature_first_new_user_amount)/SUM(nature_first_effective_role_num),0),2) as new_user_total_effective_role_arpu, -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
+                                
+                                round(IF(SUM(nature_first_new_user_amount_num) >0, SUM(nature_first_new_user_amount_count) / SUM(nature_first_new_user_amount_num), 0), 4) as first_day_avg_cost_count -- 首日人均付费次数
                             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
@@ -4198,7 +4221,9 @@ public class GameDataServiceImpl implements IGameDataService {
                               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),2) as first_effective_role_arpu,    -- 新用户累计有效创角ARPU=新用户累计充值金额/新用户累计有效创角人数
-                              ROUND(IFNULL(SUM(first_new_user_amount)/SUM(first_effective_role_num),0),2) as new_user_total_effective_role_arpu -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
+                              ROUND(IFNULL(SUM(first_new_user_amount)/SUM(first_effective_role_num),0),2) as new_user_total_effective_role_arpu, -- 首日有效创角ARPU=首日新用户充值金额/首日有效创角人数
+                              
+                              round(IF(SUM(first_new_user_amount_num) >0, SUM(first_new_user_amount_count) / SUM(first_new_user_amount_num), 0), 4) as first_day_avg_cost_count -- 首日人均付费次数
                           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