Browse Source

修改内容:角色充值排行榜

lth 1 year ago
parent
commit
821cb41615

+ 44 - 2
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/RoleManageServiceImpl.java

@@ -373,6 +373,10 @@ public class RoleManageServiceImpl implements IRoleManageService {
             //区服名称
             cri.where().andLike("boss_server_name", dto.getServerName());
         }
+        if (CollectionUtils.isEmpty(dto.getServerIds()) && StringUtils.isBlank(dto.getServerName())) {
+            //默认不传查询的区服,只看最新的合服数据
+            cri.where().andEquals("is_merge", 0);
+        }
         //拼接分组条件
         cri.getGroupBy().groupBy("source_system" , "boss_server_id" , "parent_game_id" , "super_game_id");
         //分页
@@ -623,6 +627,10 @@ public class RoleManageServiceImpl implements IRoleManageService {
             //区服名称
             cri.where().andLike("boss_server_name", dto.getServerName());
         }
+        if (CollectionUtils.isEmpty(dto.getServerIds()) && StringUtils.isBlank(dto.getServerName())) {
+            //默认不传查询的区服,只看最新的合服数据
+            cri.where().andEquals("is_merge", 0);
+        }
         //拼接分组条件
         cri.getGroupBy().groupBy("source_system" , "boss_server_id" , "super_game_id");
         //分页
@@ -1070,7 +1078,6 @@ public class RoleManageServiceImpl implements IRoleManageService {
                             -- 礼包名
                             source_system,
                             id,
-                            game_id,
                             gift_name
                         FROM dm_game_order.t_game_gift
                     ) k on j.source_system = k.source_system AND j.send_gift_id = k.id
@@ -1431,7 +1438,6 @@ public class RoleManageServiceImpl implements IRoleManageService {
                                -- 礼包名
                                source_system,
                                id,
-                               game_id,
                                gift_name
                            FROM dm_game_order.t_game_gift
                        ) k on j.source_system = k.source_system AND j.send_gift_id = k.id
@@ -1633,6 +1639,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 	MAX(merge_time) as merge_time , -- 合服时间
                 	TIMESTAMPDIFF(DAY, MAX(merge_time), NOW()) start_day, -- 开服天数
                 	MAX(sum_server_count) as sum_server_count, -- 合服次数
+                	MAX(c.is_merge) as is_merge, -- 是否参与过合服
                 	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列表
@@ -1719,6 +1726,14 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 	) c on a.source_system = c.source_system AND a.game_id = c.game_id AND a.main_server_id = c.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 (
+                	SELECT
+                		source_system as c_source_system,
+                		game_id,
+                		server_id,
+                		is_merge
+                	FROM dm_game_order.t_game_server_merge
+                ) c on a.source_system = c.c_source_system AND a.boss_server_id = c.server_id AND a.super_game_id = c.game_id
                 """;
     }
 
@@ -1743,6 +1758,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                     	MAX(merge_time) as merge_time , -- 合服时间
                     	TIMESTAMPDIFF(DAY, MAX(merge_time), NOW()) start_day, -- 开服天数
                     	MAX(sum_server_count) as sum_server_count, -- 合服次数
+                    	MAX(c.is_merge) as is_merge, -- 是否参与过合服
                     	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列表
@@ -1829,6 +1845,14 @@ public class RoleManageServiceImpl implements IRoleManageService {
                     	) c on a.source_system = c.source_system AND a.game_id = c.game_id AND a.main_server_id = c.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 (
+                    	SELECT
+                    		source_system as c_source_system,
+                    		game_id,
+                    		server_id,
+                    		is_merge
+                    	FROM dm_game_order.t_game_server_merge
+                    ) c on a.source_system = c.c_source_system AND a.boss_server_id = c.server_id AND a.super_game_id = c.game_id
                 """ + cri +
                 """
                 ) a
@@ -2084,6 +2108,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 	MAX(merge_time) as merge_time , -- 合服时间
                 	TIMESTAMPDIFF(DAY, MAX(merge_time), NOW()) start_day, -- 开服天数
                 	MAX(sum_server_count) as sum_server_count, -- 合服次数
+                	MAX(c.is_merge) as is_merge, -- 是否参与过合服
                 	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列表
@@ -2234,6 +2259,14 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 	) c on a.source_system = c.source_system AND a.game_id = c.game_id AND a.main_server_id = c.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 (
+                	SELECT
+                		source_system as c_source_system,
+                		game_id,
+                		server_id,
+                		is_merge
+                	FROM dm_game_order.t_game_server_merge
+                ) c on a.source_system = c.c_source_system AND a.boss_server_id = c.server_id AND a.super_game_id = c.game_id
                 """;
     }
 
@@ -2256,6 +2289,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                     	MAX(merge_time) as merge_time , -- 合服时间
                     	TIMESTAMPDIFF(DAY, MAX(merge_time), NOW()) start_day, -- 开服天数
                     	MAX(sum_server_count) as sum_server_count, -- 合服次数
+                    	MAX(c.is_merge) as is_merge, -- 是否参与过合服
                     	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列表
@@ -2406,6 +2440,14 @@ public class RoleManageServiceImpl implements IRoleManageService {
                     	) c on a.source_system = c.source_system AND a.game_id = c.game_id AND a.main_server_id = c.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 (
+                    	SELECT
+                    		source_system as c_source_system,
+                    		game_id,
+                    		server_id,
+                    		is_merge
+                    	FROM dm_game_order.t_game_server_merge
+                    ) c on a.source_system = c.c_source_system AND a.boss_server_id = c.server_id AND a.super_game_id = c.game_id
                 """ + cri +
                 """
                 ) a