Jelajahi Sumber

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

lth 1 tahun lalu
induk
melakukan
865be19ac8

+ 40 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/RoleManageServiceImpl.java

@@ -2337,6 +2337,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 	MAX(b.main_server_id) as main_server_id, -- 主服ID
                 	MAX(b.main_server_name) as main_server_name, -- 主服名
                 	MAX(son_server_ids) as son_server_ids, -- 合服ID列表
+                	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, -- 区服战力
@@ -2439,6 +2440,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 		MAX(a.main_server_id) as main_server_id, -- 主服ID
                 		MAX(c.server_name) as main_server_name, -- 主服名
                 		MAX(a.son_server_ids) as son_server_ids , -- 合服子服ID列表
+                		MAX(d.son_server_ids_name) as son_server_ids_name , -- 合服子服ID列表
                 		GROUP_CONCAT(a.source_server_ids, ',') as source_server_ids, -- 原始子服ID列表
                 		GROUP_CONCAT(b.server_name , ',') as source_server_ids_name -- 原始子服名
                 	FROM dm_game_order.t_game_server_merge a
@@ -2452,6 +2454,24 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 		FROM dm_game_order.t_game_server_merge
                 		GROUP BY server_id ,source_system ,game_id
                 	) c on a.source_system = c.source_system AND a.game_id = c.game_id AND a.main_server_id = c.server_id
+                	LEFT JOIN (
+                 		SELECT
+                 			a.source_system ,
+                 			a.game_id,
+                 			a.server_id,
+                 			GROUP_CONCAT(b.server_name , ',') as son_server_ids_name -- 合服列表名
+                 		FROM dm_game_order.t_game_server_son_merge a
+                 		LEFT JOIN (
+                 			SELECT
+                 				source_system ,
+                 				game_id ,
+                 				server_id  ,
+                 				MAX(server_name) as server_name
+                 			FROM dm_game_order.t_game_server_merge
+                 			GROUP BY server_id ,source_system ,game_id
+                 		) b on a.source_system = b.source_system AND a.game_id = b.game_id AND a.son_server_ids = b.server_id
+                 		GROUP BY a.source_system , a.game_id, a.server_id
+                 	) d on a.source_system = d.source_system AND a.game_id = d.game_id AND a.server_id = d.server_id
                 	group by a.server_id , a.source_system , a.game_id
                 ) b ON a.source_system = b.b_source_system AND a.super_game_id = b.b_game_id AND a.boss_server_id = b.b_server_id
                 LEFT JOIN (
@@ -2605,6 +2625,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                         MAX(b.main_server_id) as main_server_id, -- 主服ID
                         MAX(b.main_server_name) as main_server_name, -- 主服名
                         MAX(son_server_ids) as son_server_ids, -- 合服ID列表
+                        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, -- 区服战力
@@ -2707,6 +2728,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                             MAX(a.main_server_id) as main_server_id, -- 主服ID
                             MAX(c.server_name) as main_server_name, -- 主服名
                             MAX(a.son_server_ids) as son_server_ids , -- 合服子服ID列表
+                            MAX(d.son_server_ids_name) as son_server_ids_name , -- 合服子服ID列表
                             GROUP_CONCAT(a.source_server_ids, ',') as source_server_ids, -- 原始子服ID列表
                             GROUP_CONCAT(b.server_name , ',') as source_server_ids_name -- 原始子服名
                         FROM dm_game_order.t_game_server_merge a
@@ -2720,6 +2742,24 @@ public class RoleManageServiceImpl implements IRoleManageService {
                             FROM dm_game_order.t_game_server_merge
                             GROUP BY server_id ,source_system ,game_id
                         ) c on a.source_system = c.source_system AND a.game_id = c.game_id AND a.main_server_id = c.server_id
+                        LEFT JOIN (
+                            SELECT
+                                a.source_system ,
+                                a.game_id,
+                                a.server_id,
+                                GROUP_CONCAT(b.server_name , ',') as son_server_ids_name -- 合服列表名
+                            FROM dm_game_order.t_game_server_son_merge a
+                            LEFT JOIN (
+                                SELECT
+                                    source_system ,
+                                    game_id ,
+                                    server_id  ,
+                                    MAX(server_name) as server_name
+                                FROM dm_game_order.t_game_server_merge
+                                GROUP BY server_id ,source_system ,game_id
+                            ) b on a.source_system = b.source_system AND a.game_id = b.game_id AND a.son_server_ids = b.server_id
+                            GROUP BY a.source_system , a.game_id, a.server_id
+                        ) d on a.source_system = d.source_system AND a.game_id = d.game_id AND a.server_id = d.server_id
                         group by a.server_id , a.source_system , a.game_id
                     ) b ON a.source_system = b.b_source_system AND a.super_game_id = b.b_game_id AND a.boss_server_id = b.b_server_id
                     LEFT JOIN (