Преглед изворни кода

修改内容:角色战力排行榜

lth пре 1 година
родитељ
комит
7d1baeee30

+ 32 - 28
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/RoleManageServiceImpl.java

@@ -1876,7 +1876,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 	super_game_id , -- 超父游戏ID
                 	MAX(super_game_name) as super_game_name , -- 超父游戏名
                 	server_id, -- 区服ID
-                	MAX(server_name) as server_name, -- 区服名
+                	MAX(h.server_name) as server_name, -- 区服名
                 	MAX(dt) as dt, -- 开服日期
                 	TIMESTAMPDIFF(DAY, MAX(dt), NOW()) start_day, -- 开服天数
                 	boss_server_id, -- 合服ID
@@ -1891,7 +1891,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                     MAX(e.total_num) as total_num, -- 总付费人数
                     SUM(total_amount) as total_amount, -- 总付费金额
                     ROUND(IF(MAX(e.total_num) > 0, SUM(total_amount) / MAX(e.total_num), 0), 2) as total_arppu, -- 总付费ARPPU
-                    ROUND(IF(SUM(d.create_role_count) > 0, MAX(e.total_num) / SUM(d.create_role_count), 0), 4) as amount_rate, -- 付费率
+                    ROUND(IF(MAX(d.create_role_count) > 0, MAX(e.total_num) / MAX(d.create_role_count), 0), 4) as amount_rate, -- 付费率
                     SUM(ba1) as ba1, -- 今日付费金额
                     MAX(e.ba1_num) as ba1_num, -- 今日付费人数
                     SUM(ba1_count) as ba1_count, -- 今日付费次数
@@ -2083,6 +2083,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 		source_system as h_source_system,
                 		game_id as h_game_id,
                 		server_id as h_server_id,
+                		server_name,
                 		is_merge -- 是否参与过合服
                 	FROM dm_game_order.t_game_server_merge
                 ) h on a.source_system = h.h_source_system AND a.boss_server_id = h.h_server_id AND a.super_game_id = h.h_game_id
@@ -2104,7 +2105,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                         super_game_id , -- 超父游戏ID
                         MAX(super_game_name) as super_game_name , -- 超父游戏名
                         server_id, -- 区服ID
-                        MAX(server_name) as server_name, -- 区服名
+                        MAX(h.server_name) as server_name, -- 区服名
                         MAX(dt) as dt, -- 开服日期
                         TIMESTAMPDIFF(DAY, MAX(dt), NOW()) start_day, -- 开服天数
                         boss_server_id, -- 合服ID
@@ -2119,7 +2120,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                         MAX(e.total_num) as total_num, -- 总付费人数
                         SUM(total_amount) as total_amount, -- 总付费金额
                         ROUND(IF(MAX(e.total_num) > 0, SUM(total_amount) / MAX(e.total_num), 0), 2) as total_arppu, -- 总付费ARPPU
-                        ROUND(IF(SUM(d.create_role_count) > 0, MAX(e.total_num) / SUM(d.create_role_count), 0), 4) as amount_rate, -- 付费率
+                        ROUND(IF(MAX(d.create_role_count) > 0, MAX(e.total_num) / MAX(d.create_role_count), 0), 4) as amount_rate, -- 付费率
                         SUM(ba1) as ba1, -- 今日付费金额
                         MAX(e.ba1_num) as ba1_num, -- 今日付费人数
                         SUM(ba1_count) as ba1_count, -- 今日付费次数
@@ -2311,6 +2312,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                             source_system as h_source_system,
                             game_id as h_game_id,
                             server_id as h_server_id,
+                            server_name,
                             is_merge -- 是否参与过合服
                         FROM dm_game_order.t_game_server_merge
                     ) h on a.source_system = h.h_source_system AND a.boss_server_id = h.h_server_id AND a.super_game_id = h.h_game_id
@@ -2332,7 +2334,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 	super_game_id , -- 超父游戏ID
                 	MAX(super_game_name) as super_game_name , -- 超父游戏名
                 	boss_server_id as server_id, -- 合服ID
-                	MAX(boss_server_name) as server_name, -- 合服名
+                	MAX(h.server_name) as server_name, -- 合服名
                 	MAX(merge_time) as dt, -- 合服时间
                 	TIMESTAMPDIFF(DAY, MAX(merge_time), NOW()) start_day, -- 开服天数
                 	MAX(sum_server_count) as sum_server_count, -- 合服次数
@@ -2343,25 +2345,25 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 	MAX(son_server_ids_name) as son_server_ids_name, -- 合服ID列表
                     MAX(source_server_ids) as source_server_ids, -- 原始子服ID列表
                     MAX(source_server_ids_name) as source_server_ids_name, -- 原始子服名列表
-                	SUM(server_combat_num) as server_combat_num, -- 区服战力
+                	MAX(server_combat_num) as server_combat_num, -- 区服战力
                     MAX(d.new_user_count) as new_user_count, -- 新用户人数
                     MAX(e.create_role_count) as create_role_count, -- 创角人数
                     MAX(c.role_count) as role_count, -- 角色数量
                     MAX(f.total_num) as total_num, -- 总付费人数
-                    SUM(total_amount) as total_amount, -- 总付费金额
-                    ROUND(IF(MAX(f.total_num) > 0, SUM(total_amount) / MAX(f.total_num), 0), 2) as total_arppu, -- 总付费ARPPU
+                    MAX(total_amount) as total_amount, -- 总付费金额
+                    ROUND(IF(MAX(f.total_num) > 0, MAX(total_amount) / MAX(f.total_num), 0), 2) as total_arppu, -- 总付费ARPPU
                     ROUND(IF(MAX(e.create_role_count) > 0, MAX(f.total_num) / MAX(e.create_role_count), 0), 4) as amount_rate, -- 付费率
-                    SUM(ba1) as ba1, -- 今日付费金额
+                    MAX(ba1) as ba1, -- 今日付费金额
                     MAX(f.ba1_num) as ba1_num, -- 今日付费人数
-                    SUM(ba1_count) as ba1_count, -- 今日付费次数
+                    MAX(ba1_count) as ba1_count, -- 今日付费次数
                     MAX(g.ba1_active_num) as ba1_active_num, -- 今日活跃人数
-                    SUM(ba2) as ba2, -- 昨日付费金额
+                    MAX(ba2) as ba2, -- 昨日付费金额
                     MAX(f.ba2_num) as ba2_num, -- 昨日付费人数
-                    SUM(ba2_count) as ba2_count, -- 昨日付费次数
+                    MAX(ba2_count) as ba2_count, -- 昨日付费次数
                     MAX(g.ba2_active_num) as ba2_active_num, -- 昨日活跃人数
-                    SUM(ba3) as ba3, -- 前天付费金额
+                    MAX(ba3) as ba3, -- 前天付费金额
                     MAX(f.ba3_num) as ba3_num, -- 前天付费人数
-                    SUM(ba3_count) as ba3_count, -- 前天付费次数
+                    MAX(ba3_count) as ba3_count, -- 前天付费次数
                     MAX(g.ba3_active_num) as ba3_active_num -- 前天活跃人数
                 FROM (
                 	SELECT
@@ -2369,7 +2371,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 		source_system,
                 		super_game_id , -- 超父游戏ID
                 		MAX(super_game_name) as super_game_name , -- 超父游戏名
-                		server_id, -- 区服ID
+                		-- server_id, -- 区服ID
                 		MAX(server_name) as server_name, -- 区服名
                 		boss_server_id, -- 合服ID
                 		MAX(boss_server_name) as boss_server_name, -- 合服名
@@ -2432,7 +2434,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 			FROM game_ads.ads_role_combat_num_ranking
                 			GROUP BY game_id ,parent_game_id ,super_game_id ,server_id ,boss_server_id ,source_system
                 		) a GROUP BY parent_game_id ,super_game_id ,server_id ,boss_server_id ,source_system
-                	) a GROUP BY super_game_id ,server_id ,boss_server_id ,source_system
+                	) a GROUP BY super_game_id ,boss_server_id ,source_system
                 ) a
                 LEFT JOIN (
                 	SELECT
@@ -2599,6 +2601,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 		source_system as h_source_system,
                 		game_id,
                 		server_id,
+                		server_name,
                 		is_merge -- 是否参与过合服
                 	FROM dm_game_order.t_game_server_merge
                 ) h on a.source_system = h.h_source_system AND a.boss_server_id = h.server_id AND a.super_game_id = h.game_id
@@ -2620,7 +2623,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                         super_game_id , -- 超父游戏ID
                         MAX(super_game_name) as super_game_name , -- 超父游戏名
                         boss_server_id as server_id, -- 合服ID
-                        MAX(boss_server_name) as server_name, -- 合服名
+                        MAX(h.server_name) as server_name, -- 合服名
                         MAX(merge_time) as dt, -- 合服时间
                         TIMESTAMPDIFF(DAY, MAX(merge_time), NOW()) start_day, -- 开服天数
                         MAX(sum_server_count) as sum_server_count, -- 合服次数
@@ -2631,25 +2634,25 @@ public class RoleManageServiceImpl implements IRoleManageService {
                         MAX(son_server_ids_name) as son_server_ids_name, -- 合服列表名
                         MAX(source_server_ids) as source_server_ids, -- 原始子服ID列表
                         MAX(source_server_ids_name) as source_server_ids_name, -- 原始子服名列表
-                        SUM(server_combat_num) as server_combat_num, -- 区服战力
+                        MAX(server_combat_num) as server_combat_num, -- 区服战力
                         MAX(d.new_user_count) as new_user_count, -- 新用户人数
                         MAX(e.create_role_count) as create_role_count, -- 创角人数
                         MAX(c.role_count) as role_count, -- 角色数量
                         MAX(f.total_num) as total_num, -- 总付费人数
-                        SUM(total_amount) as total_amount, -- 总付费金额
-                        ROUND(IF(MAX(f.total_num) > 0, SUM(total_amount) / MAX(f.total_num), 0), 2) as total_arppu, -- 总付费ARPPU
+                        MAX(total_amount) as total_amount, -- 总付费金额
+                        ROUND(IF(MAX(f.total_num) > 0, MAX(total_amount) / MAX(f.total_num), 0), 2) as total_arppu, -- 总付费ARPPU
                         ROUND(IF(MAX(e.create_role_count) > 0, MAX(f.total_num) / MAX(e.create_role_count), 0), 4) as amount_rate, -- 付费率
-                        SUM(ba1) as ba1, -- 今日付费金额
+                        MAX(ba1) as ba1, -- 今日付费金额
                         MAX(f.ba1_num) as ba1_num, -- 今日付费人数
-                        SUM(ba1_count) as ba1_count, -- 今日付费次数
+                        MAX(ba1_count) as ba1_count, -- 今日付费次数
                         MAX(g.ba1_active_num) as ba1_active_num, -- 今日活跃人数
-                        SUM(ba2) as ba2, -- 昨日付费金额
+                        MAX(ba2) as ba2, -- 昨日付费金额
                         MAX(f.ba2_num) as ba2_num, -- 昨日付费人数
-                        SUM(ba2_count) as ba2_count, -- 昨日付费次数
+                        MAX(ba2_count) as ba2_count, -- 昨日付费次数
                         MAX(g.ba2_active_num) as ba2_active_num, -- 昨日活跃人数
-                        SUM(ba3) as ba3, -- 前天付费金额
+                        MAX(ba3) as ba3, -- 前天付费金额
                         MAX(f.ba3_num) as ba3_num, -- 前天付费人数
-                        SUM(ba3_count) as ba3_count, -- 前天付费次数
+                        MAX(ba3_count) as ba3_count, -- 前天付费次数
                         MAX(g.ba3_active_num) as ba3_active_num -- 前天活跃人数
                     FROM (
                         SELECT
@@ -2657,7 +2660,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                             source_system,
                             super_game_id , -- 超父游戏ID
                             MAX(super_game_name) as super_game_name , -- 超父游戏名
-                            server_id, -- 区服ID
+                            -- server_id, -- 区服ID
                             MAX(server_name) as server_name, -- 区服名
                             boss_server_id, -- 合服ID
                             MAX(boss_server_name) as boss_server_name, -- 合服名
@@ -2720,7 +2723,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                                 FROM game_ads.ads_role_combat_num_ranking
                                 GROUP BY game_id ,parent_game_id ,super_game_id ,server_id ,boss_server_id ,source_system
                             ) a GROUP BY parent_game_id ,super_game_id ,server_id ,boss_server_id ,source_system
-                        ) a GROUP BY super_game_id ,server_id ,boss_server_id ,source_system
+                        ) a GROUP BY super_game_id ,boss_server_id ,source_system
                     ) a
                     LEFT JOIN (
                         SELECT
@@ -2887,6 +2890,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                             source_system as h_source_system,
                             game_id,
                             server_id,
+                            server_name,
                             is_merge -- 是否参与过合服
                         FROM dm_game_order.t_game_server_merge
                     ) h on a.source_system = h.h_source_system AND a.boss_server_id = h.server_id AND a.super_game_id = h.game_id