Browse Source

Merge remote-tracking branch 'origin/package' into package

shishaosong 1 year ago
parent
commit
0706f2a426

+ 0 - 1
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/RoleManageController.java

@@ -45,5 +45,4 @@ public class RoleManageController {
     }
 
 
-
 }

+ 8 - 1
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/RoleCombatRankingDTO.java

@@ -1,5 +1,6 @@
 package com.zanxiang.game.data.serve.pojo.dto;
 
+import com.zanxiang.game.data.serve.pojo.base.BasePage;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -12,7 +13,7 @@ import java.util.List;
  * @Description 角色战力排行榜查询参数实体
  **/
 @Data
-public class RoleCombatRankingDTO {
+public class RoleCombatRankingDTO extends BasePage {
 
     /**
      * 开服时间(开始)
@@ -56,4 +57,10 @@ public class RoleCombatRankingDTO {
     @ApiModelProperty(notes = "排序方式:升序asc;降序desc")
     private String sortType;
 
+    /**
+     * SDK来源
+     */
+    @ApiModelProperty(value = "SDK来源")
+    private String sourceSystem;
+
 }

+ 323 - 263
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/RoleManageServiceImpl.java

@@ -135,6 +135,24 @@ public class RoleManageServiceImpl implements IRoleManageService {
      */
     @Override
     public Page<Map> getRoleCombatRanking(RoleCombatRankingDTO dto) {
+        //查询条件
+        Criteria cri = Cnd.cri();
+        if (dto.getGameId() != null) {
+            //父游戏ID
+            cri.where().andEquals("parent_game_id", dto.getGameId());
+        }
+        if (dto.getBeginDate() != null && dto.getEndDate() != null) {
+            //拼接区服开服时间
+        }
+        if (dto.getServerIds() != null) {
+            cri.where().andInList("server_id", dto.getServerIds());
+        }
+        if (dto.getRankingNum() != null) {
+            //排名的个数
+            cri.where().andEquals("rank_num", dto.getRankingNum());
+        }
+
+
         return null;
     }
 
@@ -234,6 +252,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 		TIMESTAMPDIFF(SECOND, i.user_pay_time, NOW()) as user_pay_until_now, -- 玩家最近充值距今(秒)
                 		j.is_send_mail as is_send_mail, -- 是否发送邮件
                 		j.send_gift_id as send_gift_id, -- 最新发送礼包id
+                		k.gift_name as gift_name, -- 礼包名
                 		j.is_change_game_type as is_change_game_type, -- 是否转端 1-是;0-否
                 		j.is_add_corp_wechat as is_add_corp_wechat, -- 是否添加企微 1-是; 0-否
                 		j.add_corp_user_id as add_corp_user_id, -- 企微号
@@ -350,150 +369,158 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 		FROM dm_game_order.t_game_order
                 """ + criTodayAmount +
                 """
-                		GROUP BY role_id ,source_system
-                	) p on a.source_system = p.source_system AND a.role_id = p.role_id
-                	LEFT JOIN (
-                		SELECT
-                			-- 区服名
-                			source_system ,
-                			game_id,
-                			server_id,
-                			server_name
-                		FROM dm_game_order.t_game_server
-                	) q on a.source_system = q.source_system AND a.game_id = q.game_id AND a.server_id = q.server_id
-                	LEFT JOIN (
-                		-- 玩家信息
-                		-- 玩家ID、玩家账号、玩家昵称、注册电话、注册邮箱、注册时间、注册游戏、注册渠道
-                		SELECT
-                			i.source_system as source_system,
-                	        i.association_user_id as association_user_id, -- 来源用户id
-                	        i.id as id, -- 玩家id
-                	        i.username as username,
-                	        i.nickname as nickname,
-                	        i.reg_mobile as reg_mobile,
-                	        i.reg_email as reg_email,
-                	        i.user_create_time as user_create_time,
-                	        i.user_reg_game_id as user_reg_game_id,
-                	        k.game_name as user_reg_game_name,
-                	        i.agent_id as agent_id,
-                	        IF(i.agent_id = 0 , '自然量', j.agent_name) as agent_name,
-                	        j.pitcher_id as put_user_id,
-                	        l.active_time as user_active_time,
-                	        m.user_last_recharge_game_id as user_last_recharge_game_id,
-                	        n.game_name as user_last_recharge_game_name, --
-                			m.pay_time as user_pay_time -- 玩家最近充值时间
-                		FROM
-                		(
-                			SELECT
-                				*
-                			FROM
-                			(
-                				SELECT
-                					source_system,
-                					association_user_id, -- 来源用户id
-                					id , -- 玩家id
-                					username ,
-                					nickname ,
-                					reg_mobile ,
-                					reg_email ,
-                					create_time as user_create_time,
-                					game_id as user_reg_game_id,
-                					agent_id ,
-                					ROW_NUMBER()over(partition by association_user_id, source_system order by create_time desc, id asc) as num
-                				FROM dm_game_order.t_game_user
-                			) z WHERE z.num = 1
-                		) i
-                		LEFT JOIN (
-                			SELECT
-                				-- 渠道名称
-                				source_system,
-                				id,
-                				agent_name,
-                				pitcher_id
-                			FROM dm_game_order.t_pitcher_agent
-                		) j ON i.agent_id = j.id AND i.source_system  = j.source_system
-                		LEFT JOIN (
-                			SELECT
-                				-- 玩家注册游戏名
-                				source_system,
-                				id,
-                				game_name
-                			FROM dm_game_order.t_game
-                		) k ON i.user_reg_game_id = k.id AND i.source_system = k.source_system
-                		LEFT JOIN (
-                			-- 玩家最近活跃时间
-                			SELECT
-                				association_user_id,
-                				b.source_system,
-                				b.active_time,
-                				ROW_NUMBER()over(partition by association_user_id, b.source_system order by active_time desc) as num
-                			FROM dm_game_order.t_game_user a
-                			RIGHT JOIN (
-                				SELECT
-                					source_system,
-                					user_id,
-                					active_time
-                				FROM dm_game_order.t_active_log
-                			) b ON a.source_system = b.source_system AND a.id = b.user_id
-                		) l ON i.association_user_id = l.association_user_id AND i.source_system = l.source_system AND l.num = 1
-                		LEFT JOIN (
-                			-- 玩家最近充值游戏、玩家最近充值时间
-                			SELECT
-                				association_user_id,
-                				b.*,
-                				ROW_NUMBER()over(partition by association_user_id, b.source_system order by pay_time desc) as num
-                			FROM dm_game_order.t_game_user a
-                			RIGHT JOIN (
-                				-- 玩家最近充值游戏id、最近充值时间
-                				SELECT
-                					source_system,
-                					user_id,
-                					game_id as user_last_recharge_game_id,
-                					pay_time
-                				FROM dm_game_order.t_game_order
-                				WHERE status = 2
-                			) b on a.id = b.user_id AND a.source_system = b.source_system
-                		) m on i.association_user_id = m.association_user_id AND i.source_system = m.source_system AND m.num = 1
-                		LEFT JOIN (
-                			SELECT
-                				-- 玩家最近充值游戏名
-                				source_system,
-                				id,
-                				game_name
-                			FROM dm_game_order.t_game
-                		) n ON m.user_last_recharge_game_id = n.id AND m.source_system = n.source_system
-                	) i on a.source_system = i.source_system AND a.association_user_id = i.association_user_id
-                	LEFT JOIN (
-                		SELECT
-                		    -- 操作表相关数据
-                		    source_system,
-                		    user_id,
-                		    role_id,
-                		    server_id,
-                		    game_id,
-                			is_send_mail, -- 是否发送邮件
-                            send_gift_id, -- 最新发送礼包id
-                            is_change_game_type, -- 是否转端 1-是;0-否
-                            is_add_corp_wechat, -- 是否添加企微 1-是; 0-否
-                            add_corp_user_id, -- 企微号
-                            user_wechat, -- 客户微信号
-                            user_phone, -- 客户手机号
-                            is_remove_game, -- 是否退游 1-是;0-否
-                            is_wake_up, -- 是否唤醒 1-是;0-否
-                            remark, -- 备注
-                            gs_id, -- GS_ID
-                            customer_service_id, -- 客服ID
-                            oper_user_id, -- 运营ID
-                            create_time, -- 创建时间
-                            create_by, -- 创建者
-                            update_time, -- 更新时间
-                            update_by, -- 更新者
-                            is_delete -- 是否删除 1-删除;0-正常
-                		FROM dm_game_order.t_role_operate
-                	) j on a.source_system = j.source_system AND a.association_user_id = j.user_id AND
-                	a.role_id = j.role_id AND a.server_id = j.server_id AND a.game_id = j.game_id
-                ) a
-                """ + criA;
+                        		GROUP BY role_id ,source_system
+                        	) p on a.source_system = p.source_system AND a.role_id = p.role_id
+                        	LEFT JOIN (
+                        		SELECT
+                        			-- 区服名
+                        			source_system ,
+                        			game_id,
+                        			server_id,
+                        			server_name
+                        		FROM dm_game_order.t_game_server
+                        	) q on a.source_system = q.source_system AND a.game_id = q.game_id AND a.server_id = q.server_id
+                        	LEFT JOIN (
+                        		-- 玩家信息
+                        		-- 玩家ID、玩家账号、玩家昵称、注册电话、注册邮箱、注册时间、注册游戏、注册渠道
+                        		SELECT
+                        			i.source_system as source_system,
+                        	        i.association_user_id as association_user_id, -- 来源用户id
+                        	        i.id as id, -- 玩家id
+                        	        i.username as username,
+                        	        i.nickname as nickname,
+                        	        i.reg_mobile as reg_mobile,
+                        	        i.reg_email as reg_email,
+                        	        i.user_create_time as user_create_time,
+                        	        i.user_reg_game_id as user_reg_game_id,
+                        	        k.game_name as user_reg_game_name,
+                        	        i.agent_id as agent_id,
+                        	        IF(i.agent_id = 0 , '自然量', j.agent_name) as agent_name,
+                        	        j.pitcher_id as put_user_id,
+                        	        l.active_time as user_active_time,
+                        	        m.user_last_recharge_game_id as user_last_recharge_game_id,
+                        	        n.game_name as user_last_recharge_game_name, --
+                        			m.pay_time as user_pay_time -- 玩家最近充值时间
+                        		FROM
+                        		(
+                        			SELECT
+                        				*
+                        			FROM
+                        			(
+                        				SELECT
+                        					source_system,
+                        					association_user_id, -- 来源用户id
+                        					id , -- 玩家id
+                        					username ,
+                        					nickname ,
+                        					reg_mobile ,
+                        					reg_email ,
+                        					create_time as user_create_time,
+                        					game_id as user_reg_game_id,
+                        					agent_id ,
+                        					ROW_NUMBER()over(partition by association_user_id, source_system order by create_time desc, id asc) as num
+                        				FROM dm_game_order.t_game_user
+                        			) z WHERE z.num = 1
+                        		) i
+                        		LEFT JOIN (
+                        			SELECT
+                        				-- 渠道名称
+                        				source_system,
+                        				id,
+                        				agent_name,
+                        				pitcher_id
+                        			FROM dm_game_order.t_pitcher_agent
+                        		) j ON i.agent_id = j.id AND i.source_system  = j.source_system
+                        		LEFT JOIN (
+                        			SELECT
+                        				-- 玩家注册游戏名
+                        				source_system,
+                        				id,
+                        				game_name
+                        			FROM dm_game_order.t_game
+                        		) k ON i.user_reg_game_id = k.id AND i.source_system = k.source_system
+                        		LEFT JOIN (
+                        			-- 玩家最近活跃时间
+                        			SELECT
+                        				association_user_id,
+                        				b.source_system,
+                        				b.active_time,
+                        				ROW_NUMBER()over(partition by association_user_id, b.source_system order by active_time desc) as num
+                        			FROM dm_game_order.t_game_user a
+                        			RIGHT JOIN (
+                        				SELECT
+                        					source_system,
+                        					user_id,
+                        					active_time
+                        				FROM dm_game_order.t_active_log
+                        			) b ON a.source_system = b.source_system AND a.id = b.user_id
+                        		) l ON i.association_user_id = l.association_user_id AND i.source_system = l.source_system AND l.num = 1
+                        		LEFT JOIN (
+                        			-- 玩家最近充值游戏、玩家最近充值时间
+                        			SELECT
+                        				association_user_id,
+                        				b.*,
+                        				ROW_NUMBER()over(partition by association_user_id, b.source_system order by pay_time desc) as num
+                        			FROM dm_game_order.t_game_user a
+                        			RIGHT JOIN (
+                        				-- 玩家最近充值游戏id、最近充值时间
+                        				SELECT
+                        					source_system,
+                        					user_id,
+                        					game_id as user_last_recharge_game_id,
+                        					pay_time
+                        				FROM dm_game_order.t_game_order
+                        				WHERE status = 2
+                        			) b on a.id = b.user_id AND a.source_system = b.source_system
+                        		) m on i.association_user_id = m.association_user_id AND i.source_system = m.source_system AND m.num = 1
+                        		LEFT JOIN (
+                        			SELECT
+                        				-- 玩家最近充值游戏名
+                        				source_system,
+                        				id,
+                        				game_name
+                        			FROM dm_game_order.t_game
+                        		) n ON m.user_last_recharge_game_id = n.id AND m.source_system = n.source_system
+                        	) i on a.source_system = i.source_system AND a.association_user_id = i.association_user_id
+                        	LEFT JOIN (
+                        		SELECT
+                        		    -- 操作表相关数据
+                        		    source_system,
+                        		    user_id,
+                        		    role_id,
+                        		    server_id,
+                        		    game_id,
+                        			is_send_mail, -- 是否发送邮件
+                                    send_gift_id, -- 最新发送礼包id
+                                    is_change_game_type, -- 是否转端 1-是;0-否
+                                    is_add_corp_wechat, -- 是否添加企微 1-是; 0-否
+                                    add_corp_user_id, -- 企微号
+                                    user_wechat, -- 客户微信号
+                                    user_phone, -- 客户手机号
+                                    is_remove_game, -- 是否退游 1-是;0-否
+                                    is_wake_up, -- 是否唤醒 1-是;0-否
+                                    remark, -- 备注
+                                    gs_id, -- GS_ID
+                                    customer_service_id, -- 客服ID
+                                    oper_user_id, -- 运营ID
+                                    create_time, -- 创建时间
+                                    create_by, -- 创建者
+                                    update_time, -- 更新时间
+                                    update_by, -- 更新者
+                                    is_delete -- 是否删除 1-删除;0-正常
+                        		FROM dm_game_order.t_role_operate
+                        	) j on a.source_system = j.source_system AND a.association_user_id = j.user_id AND
+                        	a.role_id = j.role_id AND a.server_id = j.server_id AND a.game_id = j.game_id
+                        	LEFT JOIN (
+                                SELECT
+                                    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 AND j.game_id = k.game_id
+                        ) a
+                        """ + criA;
     }
 
     /**
@@ -561,6 +588,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 		TIMESTAMPDIFF(SECOND, i.user_pay_time, NOW()) as user_pay_until_now, -- 玩家最近充值距今(秒)
                 		j.is_send_mail as is_send_mail, -- 是否发送邮件
                 		j.send_gift_id as send_gift_id, -- 最新发送礼包id
+                		k.gift_name as gift_name, -- 礼包名
                 		j.is_change_game_type as is_change_game_type, -- 是否转端 1-是;0-否
                 		j.is_add_corp_wechat as is_add_corp_wechat, -- 是否添加企微 1-是; 0-否
                 		j.add_corp_user_id as add_corp_user_id, -- 企微号
@@ -678,125 +706,157 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 		FROM dm_game_order.t_game_order
                 """ + criTodayAmount +
                 """
-                		GROUP BY role_id ,source_system
-                	) p on a.source_system = p.source_system AND a.role_id = p.role_id
-                	LEFT JOIN (
-                		SELECT
-                			-- 区服名
-                			source_system ,
-                			game_id,
-                			server_id,
-                			server_name
-                		FROM dm_game_order.t_game_server
-                	) q on a.source_system = q.source_system AND a.game_id = q.game_id AND a.server_id = q.server_id
-                	LEFT JOIN (
-                		-- 玩家信息
-                		-- 玩家ID、玩家账号、玩家昵称、注册电话、注册邮箱、注册时间、注册游戏、注册渠道
-                		SELECT
-                			i.source_system as source_system,
-                	        i.association_user_id as association_user_id, -- 来源用户id
-                	        i.id as id, -- 玩家id
-                	        i.username as username,
-                	        i.nickname as nickname,
-                	        i.reg_mobile as reg_mobile,
-                	        i.reg_email as reg_email,
-                	        i.user_create_time as user_create_time,
-                	        i.user_reg_game_id as user_reg_game_id,
-                	        k.game_name as user_reg_game_name,
-                	        i.agent_id as agent_id,
-                	        IF(i.agent_id = 0 , '自然量', j.agent_name) as agent_name,
-                	        l.active_time as user_active_time,
-                	        m.user_last_recharge_game_id as user_last_recharge_game_id,
-                	        n.game_name as user_last_recharge_game_name, --
-                			m.pay_time as user_pay_time -- 玩家最近充值时间
-                		FROM
-                		(
-                			SELECT
-                				*
-                			FROM
-                			(
-                				SELECT
-                					source_system,
-                					association_user_id, -- 来源用户id
-                					id , -- 玩家id
-                					username ,
-                					nickname ,
-                					reg_mobile ,
-                					reg_email ,
-                					create_time as user_create_time,
-                					game_id as user_reg_game_id,
-                					agent_id ,
-                					ROW_NUMBER()over(partition by association_user_id, source_system order by create_time desc, id asc) as num
-                				FROM dm_game_order.t_game_user
-                			) z WHERE z.num = 1
-                		) i
-                		LEFT JOIN (
-                			SELECT
-                				-- 渠道名称
-                				source_system,
-                				id,
-                				agent_name
-                			FROM dm_game_order.t_pitcher_agent
-                		) j ON i.agent_id = j.id AND i.source_system  = j.source_system
-                		LEFT JOIN (
-                			SELECT
-                				-- 玩家注册游戏名
-                				source_system,
-                				id,
-                				game_name
-                			FROM dm_game_order.t_game
-                		) k ON i.user_reg_game_id = k.id AND i.source_system = k.source_system
-                		LEFT JOIN (
-                			-- 玩家最近活跃时间
-                			SELECT
-                				association_user_id,
-                				b.source_system,
-                				b.active_time,
-                				ROW_NUMBER()over(partition by association_user_id, b.source_system order by active_time desc) as num
-                			FROM dm_game_order.t_game_user a
-                			RIGHT JOIN (
-                				SELECT
-                					source_system,
-                					user_id,
-                					active_time
-                				FROM dm_game_order.t_active_log
-                			) b ON a.source_system = b.source_system AND a.id = b.user_id
-                		) l ON i.association_user_id = l.association_user_id AND i.source_system = l.source_system AND l.num = 1
-                		LEFT JOIN (
-                			-- 玩家最近充值游戏、玩家最近充值时间
-                			SELECT
-                				association_user_id,
-                				b.*,
-                				ROW_NUMBER()over(partition by association_user_id, b.source_system order by pay_time desc) as num
-                			FROM dm_game_order.t_game_user a
-                			RIGHT JOIN (
-                				-- 玩家最近充值游戏id、最近充值时间
-                				SELECT
-                					source_system,
-                					user_id,
-                					game_id as user_last_recharge_game_id,
-                					pay_time
-                				FROM dm_game_order.t_game_order
-                				WHERE status = 2
-                			) b on a.id = b.user_id AND a.source_system = b.source_system
-                		) m on i.association_user_id = m.association_user_id AND i.source_system = m.source_system AND m.num = 1
-                		LEFT JOIN (
-                			SELECT
-                				-- 玩家最近充值游戏名
-                				source_system,
-                				id,
-                				game_name
-                			FROM dm_game_order.t_game
-                		) n ON m.user_last_recharge_game_id = n.id AND m.source_system = n.source_system
-                	) i on a.source_system = i.source_system AND a.association_user_id = i.association_user_id
-                	LEFT JOIN (
-                		SELECT
-                			*
-                		FROM dm_game_order.t_role_operate
-                	) j on a.source_system = j.source_system AND a.association_user_id = j.user_id AND
-                	a.role_id = j.role_id AND a.server_id = j.server_id AND a.game_id = j.game_id
-                ) a
-                """ + criA;
+                        		GROUP BY role_id ,source_system
+                        	) p on a.source_system = p.source_system AND a.role_id = p.role_id
+                        	LEFT JOIN (
+                        		SELECT
+                        			-- 区服名
+                        			source_system ,
+                        			game_id,
+                        			server_id,
+                        			server_name
+                        		FROM dm_game_order.t_game_server
+                        	) q on a.source_system = q.source_system AND a.game_id = q.game_id AND a.server_id = q.server_id
+                        	LEFT JOIN (
+                        		-- 玩家信息
+                        		-- 玩家ID、玩家账号、玩家昵称、注册电话、注册邮箱、注册时间、注册游戏、注册渠道
+                        		SELECT
+                        			i.source_system as source_system,
+                        	        i.association_user_id as association_user_id, -- 来源用户id
+                        	        i.id as id, -- 玩家id
+                        	        i.username as username,
+                        	        i.nickname as nickname,
+                        	        i.reg_mobile as reg_mobile,
+                        	        i.reg_email as reg_email,
+                        	        i.user_create_time as user_create_time,
+                        	        i.user_reg_game_id as user_reg_game_id,
+                        	        k.game_name as user_reg_game_name,
+                        	        i.agent_id as agent_id,
+                        	        IF(i.agent_id = 0 , '自然量', j.agent_name) as agent_name,
+                        	        l.active_time as user_active_time,
+                        	        m.user_last_recharge_game_id as user_last_recharge_game_id,
+                        	        n.game_name as user_last_recharge_game_name, --
+                        			m.pay_time as user_pay_time -- 玩家最近充值时间
+                        		FROM
+                        		(
+                        			SELECT
+                        				*
+                        			FROM
+                        			(
+                        				SELECT
+                        					source_system,
+                        					association_user_id, -- 来源用户id
+                        					id , -- 玩家id
+                        					username ,
+                        					nickname ,
+                        					reg_mobile ,
+                        					reg_email ,
+                        					create_time as user_create_time,
+                        					game_id as user_reg_game_id,
+                        					agent_id ,
+                        					ROW_NUMBER()over(partition by association_user_id, source_system order by create_time desc, id asc) as num
+                        				FROM dm_game_order.t_game_user
+                        			) z WHERE z.num = 1
+                        		) i
+                        		LEFT JOIN (
+                        			SELECT
+                        				-- 渠道名称
+                        				source_system,
+                        				id,
+                        				agent_name
+                        			FROM dm_game_order.t_pitcher_agent
+                        		) j ON i.agent_id = j.id AND i.source_system  = j.source_system
+                        		LEFT JOIN (
+                        			SELECT
+                        				-- 玩家注册游戏名
+                        				source_system,
+                        				id,
+                        				game_name
+                        			FROM dm_game_order.t_game
+                        		) k ON i.user_reg_game_id = k.id AND i.source_system = k.source_system
+                        		LEFT JOIN (
+                        			-- 玩家最近活跃时间
+                        			SELECT
+                        				association_user_id,
+                        				b.source_system,
+                        				b.active_time,
+                        				ROW_NUMBER()over(partition by association_user_id, b.source_system order by active_time desc) as num
+                        			FROM dm_game_order.t_game_user a
+                        			RIGHT JOIN (
+                        				SELECT
+                        					source_system,
+                        					user_id,
+                        					active_time
+                        				FROM dm_game_order.t_active_log
+                        			) b ON a.source_system = b.source_system AND a.id = b.user_id
+                        		) l ON i.association_user_id = l.association_user_id AND i.source_system = l.source_system AND l.num = 1
+                        		LEFT JOIN (
+                        			-- 玩家最近充值游戏、玩家最近充值时间
+                        			SELECT
+                        				association_user_id,
+                        				b.*,
+                        				ROW_NUMBER()over(partition by association_user_id, b.source_system order by pay_time desc) as num
+                        			FROM dm_game_order.t_game_user a
+                        			RIGHT JOIN (
+                        				-- 玩家最近充值游戏id、最近充值时间
+                        				SELECT
+                        					source_system,
+                        					user_id,
+                        					game_id as user_last_recharge_game_id,
+                        					pay_time
+                        				FROM dm_game_order.t_game_order
+                        				WHERE status = 2
+                        			) b on a.id = b.user_id AND a.source_system = b.source_system
+                        		) m on i.association_user_id = m.association_user_id AND i.source_system = m.source_system AND m.num = 1
+                        		LEFT JOIN (
+                        			SELECT
+                        				-- 玩家最近充值游戏名
+                        				source_system,
+                        				id,
+                        				game_name
+                        			FROM dm_game_order.t_game
+                        		) n ON m.user_last_recharge_game_id = n.id AND m.source_system = n.source_system
+                        	) i on a.source_system = i.source_system AND a.association_user_id = i.association_user_id
+                        	LEFT JOIN (
+                        		SELECT
+                        			*
+                        		FROM dm_game_order.t_role_operate
+                        	) j on a.source_system = j.source_system AND a.association_user_id = j.user_id AND
+                        	a.role_id = j.role_id AND a.server_id = j.server_id AND a.game_id = j.game_id
+                        	LEFT JOIN (
+                                SELECT
+                                    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 AND j.game_id = k.game_id
+                        ) a
+                        """ + criA;
     }
 
+    private String getRoleCombatRankingSql() {
+        return """
+                SUM(server_combat_num) as server_combat_num, -- 区服战力
+                SUM(new_user_count) as new_user_count, -- 新用户人数
+                SUM(create_role_count) as create_role_count, -- 创角人数
+                SUM(role_count) as role_count, -- 角色数量
+                SUM(total_num) as total_num, -- 总付费人数
+                SUM(total_amount) as total_amount, -- 总付费金额
+                SUM(ba1) as ba1, -- 今日付费金额
+                SUM(ba1_num) as ba1_num, -- 今日付费人数
+                SUM(ba1_count) as ba1_count, -- 今日付费次数
+                SUM(ba1_active_num) as ba1_active_num, -- 今日活跃人数
+                SUM(ba2) as ba2, -- 昨日付费金额
+                SUM(ba2_num) as ba2_num, -- 昨日付费人数
+                SUM(ba2_count) as ba2_count, -- 昨日付费次数
+                SUM(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
+                SUM(ba3) as ba3, -- 前天付费金额
+                SUM(ba3_num) as ba3_num, -- 前天付费人数
+                SUM(ba3_count) as ba3_count, -- 前天付费次数
+                SUM(ba3_active_num) as ba3_active_num -- 前天活跃人数
+                """;
+    }
+
+
 }

+ 1 - 1
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/ManageApplication.java

@@ -21,7 +21,7 @@ public class ManageApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(ManageApplication.class, args);
-        System.out.println("赞象Manage服务启动成功 <去掉性能调试日志, 前端渲染问题> ( ´・・)ノ(._.`) \n" +
+        System.out.println("赞象Manage服务启动成功 <区服导量调试修改> ( ´・・)ノ(._.`) \n" +
                 "___  ___  ___   _   _   ___  _____  _____ \n" +
                 "|  \\/  | / _ \\ | \\ | | / _ \\|  __ \\|  ___|\n" +
                 "| .  . |/ /_\\ \\|  \\| |/ /_\\ \\ |  \\/| |__  \n" +

+ 5 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/GameServerListParam.java

@@ -45,4 +45,9 @@ public class GameServerListParam extends BaseListDTO<GameServer> {
      * 开服时间区间-结束
      */
     private LocalDate endTime;
+
+    /**
+     * 是否原始服
+     */
+    private Boolean isSourceServer;
 }

+ 4 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/GameServerServiceImpl.java

@@ -130,6 +130,7 @@ public class GameServerServiceImpl extends ServiceImpl<GameServerMapper, GameSer
                 .like(Strings.isNotBlank(param.getNickName()), GameServer::getNickName, param.getNickName())
                 .ge(param.getStartTime() != null, GameServer::getStartTime, param.getStartTime() == null ? null : LocalDateTime.of(param.getStartTime(), LocalTime.MIN))
                 .le(param.getEndTime() != null, GameServer::getStartTime, param.getEndTime() == null ? null : LocalDateTime.of(param.getEndTime(), LocalTime.MAX))
+                .eq(param.getIsSourceServer() != null, GameServer::getIsSourceServer, param.getIsSourceServer())
                 .orderByDesc(GameServer::getStartTime)
         ).convert(this::toVo);
     }
@@ -162,6 +163,7 @@ public class GameServerServiceImpl extends ServiceImpl<GameServerMapper, GameSer
         }
         //关联区服信息
         Map<String, GameServer> gameServerMap = super.list(new LambdaQueryWrapper<GameServer>()
+                .eq(GameServer::getGameId, gameServer.getGameId())
                 .in(GameServer::getServerId, serverIdList)
         ).stream().collect(Collectors.toMap(GameServer::getServerId, Function.identity()));
         //合服主服名称
@@ -234,6 +236,7 @@ public class GameServerServiceImpl extends ServiceImpl<GameServerMapper, GameSer
         return super.update(new LambdaUpdateWrapper<GameServer>()
                 .set(GameServer::getIsMerge, Boolean.TRUE)
                 .set(GameServer::getUpdateTime, LocalDateTime.now())
+                .eq(GameServer::getGameId, param.getGameId())
                 .in(GameServer::getServerId, param.getServerIdList()));
     }
 
@@ -263,6 +266,7 @@ public class GameServerServiceImpl extends ServiceImpl<GameServerMapper, GameSer
                 .select(GameServer::getServerId, GameServer::getServerName)
                 .eq(GameServer::getGameId, gameId)
                 .eq(GameServer::getIsMerge, Boolean.FALSE)
+                .orderByAsc(GameServer::getStartTime)
         ).stream().map(gameServer -> BeanUtil.copy(gameServer, GameServerVO.class))
                 .collect(Collectors.toList());
     }

+ 10 - 0
game-module/game-module-mybatis/src/main/java/com/zanxiang/game/module/mybatis/entity/Game.java

@@ -111,4 +111,14 @@ public class Game implements Serializable {
      * 超父游戏id
      */
     private Long superGameId;
+
+    /**
+     * 安卓游戏id
+     */
+    private Long androidGameId;
+
+    /**
+     * ios游戏id
+     */
+    private Long iosGameId;
 }