|  | @@ -226,6 +226,8 @@ public class RoleManageServiceImpl implements IRoleManageService {
 | 
	
		
			
				|  |  |                  		IFNULL(e.parent_game_name, d.game_name) as role_reg_parent_game_name, -- 角色注册游戏的父游戏名
 | 
	
		
			
				|  |  |                  		a.server_id as server_id, -- 角色所在区服id
 | 
	
		
			
				|  |  |                  		q.server_name as server_name, -- 角色所在区服名
 | 
	
		
			
				|  |  | +                		r.server_id as merge_server_id, -- 角色所在合服id
 | 
	
		
			
				|  |  | +                  		r.server_name as merge_server_name, -- 角色所在合服名
 | 
	
		
			
				|  |  |                  		IFNULL(f.real_amount, 0) as role_last_amount, -- 角色最近充值金额
 | 
	
		
			
				|  |  |                  		f.pay_time as role_last_pay_time, -- 角色最近充值时间
 | 
	
		
			
				|  |  |                  		g.active_time as role_active_time, -- 角色最近活跃时间
 | 
	
	
		
			
				|  | @@ -315,12 +317,13 @@ public class RoleManageServiceImpl implements IRoleManageService {
 | 
	
		
			
				|  |  |                  	) c on a.source_system = c.source_system AND a.role_id = c.role_id
 | 
	
		
			
				|  |  |                  	LEFT JOIN (
 | 
	
		
			
				|  |  |                  		SELECT
 | 
	
		
			
				|  |  | -                			-- 游戏名称、游戏类型、父游戏id
 | 
	
		
			
				|  |  | -                			source_system,
 | 
	
		
			
				|  |  | -                			id,
 | 
	
		
			
				|  |  | -                			game_name,
 | 
	
		
			
				|  |  | -                			classify,
 | 
	
		
			
				|  |  | -                			parent_id
 | 
	
		
			
				|  |  | +                			-- 游戏名称、游戏类型、父游戏id、超父游戏id
 | 
	
		
			
				|  |  | +                   			source_system,
 | 
	
		
			
				|  |  | +                   			id,
 | 
	
		
			
				|  |  | +                   			game_name,
 | 
	
		
			
				|  |  | +                   			classify,
 | 
	
		
			
				|  |  | +                   			parent_id,
 | 
	
		
			
				|  |  | +                   			super_game_id
 | 
	
		
			
				|  |  |                  		FROM dm_game_order.t_game
 | 
	
		
			
				|  |  |                  	) d on a.source_system = d.source_system AND a.game_id = d.id
 | 
	
		
			
				|  |  |                  	LEFT JOIN (
 | 
	
	
		
			
				|  | @@ -369,158 +372,170 @@ 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
 | 
	
		
			
				|  |  | -                        	LEFT JOIN (
 | 
	
		
			
				|  |  | +                        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 (
 | 
	
		
			
				|  |  | +                        SELECT
 | 
	
		
			
				|  |  | +                            -- 合服id、合服名称
 | 
	
		
			
				|  |  | +                            source_system,
 | 
	
		
			
				|  |  | +                            game_id,
 | 
	
		
			
				|  |  | +                            source_server_ids,
 | 
	
		
			
				|  |  | +                            server_id,
 | 
	
		
			
				|  |  | +                            server_name
 | 
	
		
			
				|  |  | +                        FROM dm_game_order.t_game_server_merge
 | 
	
		
			
				|  |  | +                        WHERE is_merge = 0
 | 
	
		
			
				|  |  | +                    ) r on a.source_system = r.source_system AND a.server_id = r.source_server_ids AND d.super_game_id = r.game_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,
 | 
	
		
			
				|  |  | -                                    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;
 | 
	
		
			
				|  |  | +                                    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
 | 
	
		
			
				|  |  | +                                -- 渠道名称、投手id
 | 
	
		
			
				|  |  | +                                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;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
	
		
			
				|  | @@ -535,304 +550,344 @@ public class RoleManageServiceImpl implements IRoleManageService {
 | 
	
		
			
				|  |  |                  	COUNT(1)
 | 
	
		
			
				|  |  |                  FROM
 | 
	
		
			
				|  |  |                  (
 | 
	
		
			
				|  |  | -                	SELECT
 | 
	
		
			
				|  |  | -                		a.association_user_id as association_user_id, -- 来源的用户id
 | 
	
		
			
				|  |  | -                		a.source_system as source_system, -- sdk来源
 | 
	
		
			
				|  |  | -                		a.role_id as role_id, -- 角色id
 | 
	
		
			
				|  |  | -                		a.role_name as role_name, -- 角色名
 | 
	
		
			
				|  |  | -                		a.create_time as role_create_time, -- 角色创建时间
 | 
	
		
			
				|  |  | -                		a.os as os, -- 角色操作系统
 | 
	
		
			
				|  |  | -                		b.role_level as role_level, -- 角色等级
 | 
	
		
			
				|  |  | -                		b.combat_num as combat_num, -- 角色攻击力
 | 
	
		
			
				|  |  | -                		IFNULL(c.amount, 0) as amount, -- 角色累计充值金额
 | 
	
		
			
				|  |  | -                		IFNULL(c.amount_count, 0) as amount_count, -- 角色累计充值次数
 | 
	
		
			
				|  |  | -                		ROUND(IF(c.amount_count > 0, c.amount / c.amount_count, 0), 2) as avg_amount, -- 平均单价
 | 
	
		
			
				|  |  | -                		(CASE
 | 
	
		
			
				|  |  | -                			WHEN c.amount >= 0 and c.amount < 2000 THEN '1'
 | 
	
		
			
				|  |  | -                			WHEN c.amount >= 2000 and c.amount < 5000 THEN '2'
 | 
	
		
			
				|  |  | -                			WHEN c.amount >= 5000 and c.amount < 10000 THEN '3'
 | 
	
		
			
				|  |  | -                			WHEN c.amount >= 10000 and c.amount < 20000 THEN '4'
 | 
	
		
			
				|  |  | -                			WHEN c.amount >= 20000 and c.amount < 50000 THEN '5'
 | 
	
		
			
				|  |  | -                			WHEN c.amount >= 50000 THEN '6'
 | 
	
		
			
				|  |  | -                			ELSE '0'
 | 
	
		
			
				|  |  | -                			END) as vip_level, -- 角色vip等级
 | 
	
		
			
				|  |  | -                		a.game_id as role_reg_game_id, -- 角色注册游戏id
 | 
	
		
			
				|  |  | -                		d.game_name as role_reg_game_name, -- 角色注册游戏名
 | 
	
		
			
				|  |  | -                		d.classify as role_reg_game_classify, -- 角色注册游戏类型
 | 
	
		
			
				|  |  | -                		IFNULL(d.parent_id, a.game_id) as role_reg_parent_game_id, -- 角色注册游戏的父游戏id
 | 
	
		
			
				|  |  | -                		IFNULL(e.parent_game_name, d.game_name) as role_reg_parent_game_name, -- 角色注册游戏的父游戏名
 | 
	
		
			
				|  |  | -                		a.server_id as server_id, -- 角色所在区服id
 | 
	
		
			
				|  |  | -                		q.server_name as server_name, -- 角色所在区服名
 | 
	
		
			
				|  |  | -                		IFNULL(f.real_amount, 0) as role_last_amount, -- 角色最近充值金额
 | 
	
		
			
				|  |  | -                		f.pay_time as role_last_pay_time, -- 角色最近充值时间
 | 
	
		
			
				|  |  | -                		g.active_time as role_active_time, -- 角色最近活跃时间
 | 
	
		
			
				|  |  | -                		IFNULL(h.real_amount, 0) as role_first_amount, -- 角色首次充值金额
 | 
	
		
			
				|  |  | -                		p.today_amount as today_amount, -- 角色当天充值金额
 | 
	
		
			
				|  |  | -                		TIMESTAMPDIFF(SECOND, a.create_time, f.pay_time) as role_reg_pay_time, -- 角色创建充值时间差(秒)
 | 
	
		
			
				|  |  | -                		TIMESTAMPDIFF(SECOND, f.pay_time, NOW()) as role_pay_until_now, -- 角色最近充值距今(秒)
 | 
	
		
			
				|  |  | -                		a.user_id as user_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, -- 玩家注册游戏id
 | 
	
		
			
				|  |  | -                	    i.user_reg_game_name as user_reg_game_name, -- 玩家注册游戏名
 | 
	
		
			
				|  |  | -                	    i.agent_id as agent_id, -- 玩家注册渠道id
 | 
	
		
			
				|  |  | -                	    IF(i.agent_id = 0 , '自然量', i.agent_name) as agent_name, -- 玩家注册渠道名
 | 
	
		
			
				|  |  | -                	    i.user_active_time as user_active_time, -- 玩家最近活跃时间
 | 
	
		
			
				|  |  | -                	    i.user_last_recharge_game_id as user_last_recharge_game_id, -- 玩家最近充值游戏id
 | 
	
		
			
				|  |  | -                	    i.user_last_recharge_game_name as user_last_recharge_game_name, -- 玩家最近充值游戏名
 | 
	
		
			
				|  |  | -                		i.user_pay_time as user_pay_time, -- 玩家最近充值时间
 | 
	
		
			
				|  |  | -                		TIMESTAMPDIFF(SECOND, i.user_create_time, i.user_pay_time) as user_reg_pay_time, -- 玩家注册充值时间差(秒)
 | 
	
		
			
				|  |  | -                		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, -- 企微号
 | 
	
		
			
				|  |  | -                		j.user_wechat as user_wechat, -- 客户微信号
 | 
	
		
			
				|  |  | -                		j.user_phone as user_phone, -- 客户手机号
 | 
	
		
			
				|  |  | -                		j.is_remove_game as is_remove_game, -- 是否退游 1-是;0-否
 | 
	
		
			
				|  |  | -                		j.is_wake_up as is_wake_up, -- 是否唤醒 1-是;0-否
 | 
	
		
			
				|  |  | -                		j.remark as remark, -- 备注
 | 
	
		
			
				|  |  | -                		j.gs_id as gs_id, -- GS_ID
 | 
	
		
			
				|  |  | -                		j.customer_service_id as customer_service_id, -- 客服ID
 | 
	
		
			
				|  |  | -                		j.oper_user_id as oper_user_id, -- 运营ID
 | 
	
		
			
				|  |  | -                		j.put_user_id as put_user_id, -- 投手ID
 | 
	
		
			
				|  |  | -                		j.create_time as create_time, -- 创建时间
 | 
	
		
			
				|  |  | -                		j.create_by as create_by, -- 创建者
 | 
	
		
			
				|  |  | -                		j.update_time as update_time, -- 更新时间
 | 
	
		
			
				|  |  | -                		j.update_by as update_by, -- 更新者
 | 
	
		
			
				|  |  | -                		j.is_delete as is_delete -- 是否删除 1-删除;0-正常
 | 
	
		
			
				|  |  | -                	FROM
 | 
	
		
			
				|  |  | -                	(
 | 
	
		
			
				|  |  | -                		SELECT
 | 
	
		
			
				|  |  | -                			*
 | 
	
		
			
				|  |  | -                		FROM
 | 
	
		
			
				|  |  | -                		(
 | 
	
		
			
				|  |  | -                			SELECT
 | 
	
		
			
				|  |  | -                				-- 角色所在子游戏id、区服id、合服id、角色id、角色名、角色创建时间、角色操作系统os(取创建时间最早的信息)
 | 
	
		
			
				|  |  | -                				b.association_user_id ,
 | 
	
		
			
				|  |  | -                				a.source_system,
 | 
	
		
			
				|  |  | -                				a.user_id,
 | 
	
		
			
				|  |  | -                				a.game_id,
 | 
	
		
			
				|  |  | -                				a.server_id,
 | 
	
		
			
				|  |  | -                				a.role_id,
 | 
	
		
			
				|  |  | -                				a.role_name,
 | 
	
		
			
				|  |  | -                				a.create_time,
 | 
	
		
			
				|  |  | -                				a.os,
 | 
	
		
			
				|  |  | -                				ROW_NUMBER()over(partition by a.role_id , a.source_system order by a.create_time asc, a.user_id asc) as num
 | 
	
		
			
				|  |  | -                			FROM dm_game_order.t_game_user_role a
 | 
	
		
			
				|  |  | -                			LEFT JOIN dm_game_order.t_game_user b on a.source_system = b.source_system AND a.user_id = b.id
 | 
	
		
			
				|  |  | -                		) a
 | 
	
		
			
				|  |  | -                		WHERE num = 1
 | 
	
		
			
				|  |  | -                	) a
 | 
	
		
			
				|  |  | -                	LEFT JOIN (
 | 
	
		
			
				|  |  | -                		SELECT
 | 
	
		
			
				|  |  | -                			-- 角色等级、角色攻击力(取最新的信息)
 | 
	
		
			
				|  |  | -                			source_system,
 | 
	
		
			
				|  |  | -                			role_id,
 | 
	
		
			
				|  |  | -                			role_level,
 | 
	
		
			
				|  |  | -                			combat_num,
 | 
	
		
			
				|  |  | -                			ROW_NUMBER()over(partition by role_id , source_system order by update_time desc, user_id desc) as num
 | 
	
		
			
				|  |  | -                		FROM dm_game_order.t_game_user_role
 | 
	
		
			
				|  |  | -                	) b on a.source_system = b.source_system AND a.role_id = b.role_id AND b.num = 1
 | 
	
		
			
				|  |  | -                	LEFT JOIN (
 | 
	
		
			
				|  |  | -                		SELECT
 | 
	
		
			
				|  |  | -                			-- 累计充值金额、累计充值次数
 | 
	
		
			
				|  |  | -                	    	role_id,
 | 
	
		
			
				|  |  | -                	    	source_system,
 | 
	
		
			
				|  |  | -                	    	SUM(real_amount) as amount ,
 | 
	
		
			
				|  |  | -                	    	COUNT(user_id) as amount_count
 | 
	
		
			
				|  |  | -                		FROM dm_game_order.t_game_order
 | 
	
		
			
				|  |  | -                		WHERE status =2
 | 
	
		
			
				|  |  | -                		GROUP BY role_id , source_system
 | 
	
		
			
				|  |  | -                	) c on a.source_system = c.source_system AND a.role_id = c.role_id
 | 
	
		
			
				|  |  | -                	LEFT JOIN (
 | 
	
		
			
				|  |  | -                		SELECT
 | 
	
		
			
				|  |  | -                			-- 游戏名称、游戏类型、父游戏id
 | 
	
		
			
				|  |  | -                			source_system,
 | 
	
		
			
				|  |  | -                			id,
 | 
	
		
			
				|  |  | -                			game_name,
 | 
	
		
			
				|  |  | -                			classify,
 | 
	
		
			
				|  |  | -                			parent_id
 | 
	
		
			
				|  |  | -                		FROM dm_game_order.t_game
 | 
	
		
			
				|  |  | -                	) d on a.source_system = d.source_system AND a.game_id = d.id
 | 
	
		
			
				|  |  | -                	LEFT JOIN (
 | 
	
		
			
				|  |  | -                		SELECT
 | 
	
		
			
				|  |  | -                			-- 父游戏名称
 | 
	
		
			
				|  |  | -                			source_system,
 | 
	
		
			
				|  |  | -                			id,
 | 
	
		
			
				|  |  | -                			game_name as parent_game_name
 | 
	
		
			
				|  |  | -                		FROM dm_game_order.t_game
 | 
	
		
			
				|  |  | -                	) e on d.source_system = e.source_system AND d.parent_id = e.id
 | 
	
		
			
				|  |  | -                	LEFT JOIN (
 | 
	
		
			
				|  |  | -                		SELECT
 | 
	
		
			
				|  |  | -                			-- 角色最近充值时间、角色最近充值金额
 | 
	
		
			
				|  |  | -                			source_system,
 | 
	
		
			
				|  |  | -                			role_id,
 | 
	
		
			
				|  |  | -                			real_amount,
 | 
	
		
			
				|  |  | -                			pay_time,
 | 
	
		
			
				|  |  | -                			ROW_NUMBER()over(partition by role_id , source_system order by pay_time desc) as num
 | 
	
		
			
				|  |  | -                		FROM dm_game_order.t_game_order
 | 
	
		
			
				|  |  | -                		WHERE status =2
 | 
	
		
			
				|  |  | -                	) f on a.source_system = f.source_system AND a.role_id = f.role_id AND f.num = 1
 | 
	
		
			
				|  |  | -                	LEFT JOIN (
 | 
	
		
			
				|  |  | -                		-- 角色最近活跃时间
 | 
	
		
			
				|  |  | -                		SELECT
 | 
	
		
			
				|  |  | -                			source_system,
 | 
	
		
			
				|  |  | -                			role_id,
 | 
	
		
			
				|  |  | -                			active_time,
 | 
	
		
			
				|  |  | -                			ROW_NUMBER()over(partition by role_id , source_system order by active_time desc) as num
 | 
	
		
			
				|  |  | -                		FROM dm_game_order.t_active_log
 | 
	
		
			
				|  |  | -                	) g on a.source_system = g.source_system AND a.role_id = g.role_id AND g.num = 1
 | 
	
		
			
				|  |  | -                	LEFT JOIN (
 | 
	
		
			
				|  |  | -                		SELECT
 | 
	
		
			
				|  |  | -                			-- 角色首次充值金额
 | 
	
		
			
				|  |  | -                			source_system,
 | 
	
		
			
				|  |  | -                			role_id,
 | 
	
		
			
				|  |  | -                			real_amount,
 | 
	
		
			
				|  |  | -                			ROW_NUMBER()over(partition by role_id , source_system order by pay_time asc) as num
 | 
	
		
			
				|  |  | -                		FROM dm_game_order.t_game_order  WHERE status =2
 | 
	
		
			
				|  |  | -                	) h on a.source_system = h.source_system AND a.role_id = h.role_id AND h.num = 1
 | 
	
		
			
				|  |  | -                	LEFT JOIN (
 | 
	
		
			
				|  |  | -                		SELECT
 | 
	
		
			
				|  |  | -                			-- 角色当天充值金额
 | 
	
		
			
				|  |  | -                			source_system,
 | 
	
		
			
				|  |  | -                			role_id,
 | 
	
		
			
				|  |  | -                			SUM(real_amount) as today_amount
 | 
	
		
			
				|  |  | -                		FROM dm_game_order.t_game_order
 | 
	
		
			
				|  |  | +                    SELECT
 | 
	
		
			
				|  |  | +                        a.association_user_id as association_user_id, -- 来源的用户id
 | 
	
		
			
				|  |  | +                        a.source_system as source_system, -- sdk来源
 | 
	
		
			
				|  |  | +                        a.role_id as role_id, -- 角色id
 | 
	
		
			
				|  |  | +                        a.role_name as role_name, -- 角色名
 | 
	
		
			
				|  |  | +                        a.create_time as role_create_time, -- 角色创建时间
 | 
	
		
			
				|  |  | +                        a.os as os, -- 角色操作系统
 | 
	
		
			
				|  |  | +                        b.role_level as role_level, -- 角色等级
 | 
	
		
			
				|  |  | +                        b.combat_num as combat_num, -- 角色攻击力
 | 
	
		
			
				|  |  | +                        IFNULL(c.amount, 0) as amount, -- 角色累计充值金额
 | 
	
		
			
				|  |  | +                        IFNULL(c.amount_count, 0) as amount_count, -- 角色累计充值次数
 | 
	
		
			
				|  |  | +                        ROUND(IF(c.amount_count > 0, c.amount / c.amount_count, 0), 2) as avg_amount, -- 平均单价
 | 
	
		
			
				|  |  | +                        (CASE
 | 
	
		
			
				|  |  | +                            WHEN c.amount >= 0 and c.amount < 2000 THEN '1'
 | 
	
		
			
				|  |  | +                            WHEN c.amount >= 2000 and c.amount < 5000 THEN '2'
 | 
	
		
			
				|  |  | +                            WHEN c.amount >= 5000 and c.amount < 10000 THEN '3'
 | 
	
		
			
				|  |  | +                            WHEN c.amount >= 10000 and c.amount < 20000 THEN '4'
 | 
	
		
			
				|  |  | +                            WHEN c.amount >= 20000 and c.amount < 50000 THEN '5'
 | 
	
		
			
				|  |  | +                            WHEN c.amount >= 50000 THEN '6'
 | 
	
		
			
				|  |  | +                            ELSE '0'
 | 
	
		
			
				|  |  | +                            END) as vip_level, -- 角色vip等级
 | 
	
		
			
				|  |  | +                        a.game_id as role_reg_game_id, -- 角色注册游戏id
 | 
	
		
			
				|  |  | +                        d.game_name as role_reg_game_name, -- 角色注册游戏名
 | 
	
		
			
				|  |  | +                        d.classify as role_reg_game_classify, -- 角色注册游戏类型
 | 
	
		
			
				|  |  | +                        IFNULL(d.parent_id, a.game_id) as role_reg_parent_game_id, -- 角色注册游戏的父游戏id
 | 
	
		
			
				|  |  | +                        IFNULL(e.parent_game_name, d.game_name) as role_reg_parent_game_name, -- 角色注册游戏的父游戏名
 | 
	
		
			
				|  |  | +                        a.server_id as server_id, -- 角色所在区服id
 | 
	
		
			
				|  |  | +                        q.server_name as server_name, -- 角色所在区服名
 | 
	
		
			
				|  |  | +                        r.server_id as merge_server_id, -- 角色所在合服id
 | 
	
		
			
				|  |  | +                        r.server_name as merge_server_name, -- 角色所在合服名
 | 
	
		
			
				|  |  | +                        IFNULL(f.real_amount, 0) as role_last_amount, -- 角色最近充值金额
 | 
	
		
			
				|  |  | +                        f.pay_time as role_last_pay_time, -- 角色最近充值时间
 | 
	
		
			
				|  |  | +                        g.active_time as role_active_time, -- 角色最近活跃时间
 | 
	
		
			
				|  |  | +                        IFNULL(h.real_amount, 0) as role_first_amount, -- 角色首次充值金额
 | 
	
		
			
				|  |  | +                        p.today_amount as today_amount, -- 角色当天充值金额
 | 
	
		
			
				|  |  | +                        TIMESTAMPDIFF(SECOND, a.create_time, f.pay_time) as role_reg_pay_time, -- 角色创建充值时间差(秒)
 | 
	
		
			
				|  |  | +                        TIMESTAMPDIFF(SECOND, f.pay_time, NOW()) as role_pay_until_now, -- 角色最近充值距今(秒)
 | 
	
		
			
				|  |  | +                        a.user_id as user_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, -- 玩家注册游戏id
 | 
	
		
			
				|  |  | +                        i.user_reg_game_name as user_reg_game_name, -- 玩家注册游戏名
 | 
	
		
			
				|  |  | +                        i.agent_id as agent_id, -- 玩家注册渠道id
 | 
	
		
			
				|  |  | +                        IF(i.agent_id = 0 , '自然量', i.agent_name) as agent_name, -- 玩家注册渠道名
 | 
	
		
			
				|  |  | +                        i.put_user_id as put_user_id, -- 投手id
 | 
	
		
			
				|  |  | +                        i.user_active_time as user_active_time, -- 玩家最近活跃时间
 | 
	
		
			
				|  |  | +                        i.user_last_recharge_game_id as user_last_recharge_game_id, -- 玩家最近充值游戏id
 | 
	
		
			
				|  |  | +                        i.user_last_recharge_game_name as user_last_recharge_game_name, -- 玩家最近充值游戏名
 | 
	
		
			
				|  |  | +                        i.user_pay_time as user_pay_time, -- 玩家最近充值时间
 | 
	
		
			
				|  |  | +                        TIMESTAMPDIFF(SECOND, i.user_create_time, i.user_pay_time) as user_reg_pay_time, -- 玩家注册充值时间差(秒)
 | 
	
		
			
				|  |  | +                        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, -- 企微号
 | 
	
		
			
				|  |  | +                        j.user_wechat as user_wechat, -- 客户微信号
 | 
	
		
			
				|  |  | +                        j.user_phone as user_phone, -- 客户手机号
 | 
	
		
			
				|  |  | +                        j.is_remove_game as is_remove_game, -- 是否退游 1-是;0-否
 | 
	
		
			
				|  |  | +                        j.is_wake_up as is_wake_up, -- 是否唤醒 1-是;0-否
 | 
	
		
			
				|  |  | +                        j.remark as remark, -- 备注
 | 
	
		
			
				|  |  | +                        j.gs_id as gs_id, -- GS_ID
 | 
	
		
			
				|  |  | +                        j.customer_service_id as customer_service_id, -- 客服ID
 | 
	
		
			
				|  |  | +                        j.oper_user_id as oper_user_id, -- 运营ID
 | 
	
		
			
				|  |  | +                        j.create_time as create_time, -- 创建时间
 | 
	
		
			
				|  |  | +                        j.create_by as create_by, -- 创建者
 | 
	
		
			
				|  |  | +                        j.update_time as update_time, -- 更新时间
 | 
	
		
			
				|  |  | +                        j.update_by as update_by, -- 更新者
 | 
	
		
			
				|  |  | +                        j.is_delete as is_delete -- 是否删除 1-删除;0-正常
 | 
	
		
			
				|  |  | +                    FROM
 | 
	
		
			
				|  |  | +                    (
 | 
	
		
			
				|  |  | +                        SELECT
 | 
	
		
			
				|  |  | +                            *
 | 
	
		
			
				|  |  | +                        FROM
 | 
	
		
			
				|  |  | +                        (
 | 
	
		
			
				|  |  | +                            SELECT
 | 
	
		
			
				|  |  | +                                -- 角色所在子游戏id、区服id、合服id、角色id、角色名、角色创建时间、角色操作系统os(取创建时间最早的信息)
 | 
	
		
			
				|  |  | +                                b.association_user_id ,
 | 
	
		
			
				|  |  | +                                a.source_system,
 | 
	
		
			
				|  |  | +                                a.user_id,
 | 
	
		
			
				|  |  | +                                a.game_id,
 | 
	
		
			
				|  |  | +                                a.server_id,
 | 
	
		
			
				|  |  | +                                a.role_id,
 | 
	
		
			
				|  |  | +                                a.role_name,
 | 
	
		
			
				|  |  | +                                a.create_time,
 | 
	
		
			
				|  |  | +                                a.os,
 | 
	
		
			
				|  |  | +                                ROW_NUMBER()over(partition by a.role_id , a.source_system order by a.create_time asc, a.user_id asc) as num
 | 
	
		
			
				|  |  | +                            FROM dm_game_order.t_game_user_role a
 | 
	
		
			
				|  |  | +                            LEFT JOIN dm_game_order.t_game_user b on a.source_system = b.source_system AND a.user_id = b.id
 | 
	
		
			
				|  |  | +                        ) a
 | 
	
		
			
				|  |  | +                        WHERE num = 1
 | 
	
		
			
				|  |  | +                    ) a
 | 
	
		
			
				|  |  | +                    LEFT JOIN (
 | 
	
		
			
				|  |  | +                        SELECT
 | 
	
		
			
				|  |  | +                            -- 角色等级、角色攻击力(取最新的信息)
 | 
	
		
			
				|  |  | +                            source_system,
 | 
	
		
			
				|  |  | +                            role_id,
 | 
	
		
			
				|  |  | +                            role_level,
 | 
	
		
			
				|  |  | +                            combat_num,
 | 
	
		
			
				|  |  | +                            ROW_NUMBER()over(partition by role_id , source_system order by update_time desc, user_id desc) as num
 | 
	
		
			
				|  |  | +                        FROM dm_game_order.t_game_user_role
 | 
	
		
			
				|  |  | +                    ) b on a.source_system = b.source_system AND a.role_id = b.role_id AND b.num = 1
 | 
	
		
			
				|  |  | +                    LEFT JOIN (
 | 
	
		
			
				|  |  | +                        SELECT
 | 
	
		
			
				|  |  | +                            -- 累计充值金额、累计充值次数
 | 
	
		
			
				|  |  | +                            role_id,
 | 
	
		
			
				|  |  | +                            source_system,
 | 
	
		
			
				|  |  | +                            SUM(real_amount) as amount ,
 | 
	
		
			
				|  |  | +                            COUNT(user_id) as amount_count
 | 
	
		
			
				|  |  | +                        FROM dm_game_order.t_game_order
 | 
	
		
			
				|  |  | +                        WHERE status =2
 | 
	
		
			
				|  |  | +                        GROUP BY role_id , source_system
 | 
	
		
			
				|  |  | +                    ) c on a.source_system = c.source_system AND a.role_id = c.role_id
 | 
	
		
			
				|  |  | +                    LEFT JOIN (
 | 
	
		
			
				|  |  | +                        SELECT
 | 
	
		
			
				|  |  | +                            -- 游戏名称、游戏类型、父游戏id、超父游戏id
 | 
	
		
			
				|  |  | +                            source_system,
 | 
	
		
			
				|  |  | +                            id,
 | 
	
		
			
				|  |  | +                            game_name,
 | 
	
		
			
				|  |  | +                            classify,
 | 
	
		
			
				|  |  | +                            parent_id,
 | 
	
		
			
				|  |  | +                            super_game_id
 | 
	
		
			
				|  |  | +                        FROM dm_game_order.t_game
 | 
	
		
			
				|  |  | +                    ) d on a.source_system = d.source_system AND a.game_id = d.id
 | 
	
		
			
				|  |  | +                    LEFT JOIN (
 | 
	
		
			
				|  |  | +                        SELECT
 | 
	
		
			
				|  |  | +                            -- 父游戏名称
 | 
	
		
			
				|  |  | +                            source_system,
 | 
	
		
			
				|  |  | +                            id,
 | 
	
		
			
				|  |  | +                            game_name as parent_game_name
 | 
	
		
			
				|  |  | +                        FROM dm_game_order.t_game
 | 
	
		
			
				|  |  | +                    ) e on d.source_system = e.source_system AND d.parent_id = e.id
 | 
	
		
			
				|  |  | +                    LEFT JOIN (
 | 
	
		
			
				|  |  | +                        SELECT
 | 
	
		
			
				|  |  | +                            -- 角色最近充值时间、角色最近充值金额
 | 
	
		
			
				|  |  | +                            source_system,
 | 
	
		
			
				|  |  | +                            role_id,
 | 
	
		
			
				|  |  | +                            real_amount,
 | 
	
		
			
				|  |  | +                            pay_time,
 | 
	
		
			
				|  |  | +                            ROW_NUMBER()over(partition by role_id , source_system order by pay_time desc) as num
 | 
	
		
			
				|  |  | +                        FROM dm_game_order.t_game_order
 | 
	
		
			
				|  |  | +                        WHERE status =2
 | 
	
		
			
				|  |  | +                    ) f on a.source_system = f.source_system AND a.role_id = f.role_id AND f.num = 1
 | 
	
		
			
				|  |  | +                    LEFT JOIN (
 | 
	
		
			
				|  |  | +                        -- 角色最近活跃时间
 | 
	
		
			
				|  |  | +                        SELECT
 | 
	
		
			
				|  |  | +                            source_system,
 | 
	
		
			
				|  |  | +                            role_id,
 | 
	
		
			
				|  |  | +                            active_time,
 | 
	
		
			
				|  |  | +                            ROW_NUMBER()over(partition by role_id , source_system order by active_time desc) as num
 | 
	
		
			
				|  |  | +                        FROM dm_game_order.t_active_log
 | 
	
		
			
				|  |  | +                    ) g on a.source_system = g.source_system AND a.role_id = g.role_id AND g.num = 1
 | 
	
		
			
				|  |  | +                    LEFT JOIN (
 | 
	
		
			
				|  |  | +                        SELECT
 | 
	
		
			
				|  |  | +                            -- 角色首次充值金额
 | 
	
		
			
				|  |  | +                            source_system,
 | 
	
		
			
				|  |  | +                            role_id,
 | 
	
		
			
				|  |  | +                            real_amount,
 | 
	
		
			
				|  |  | +                            ROW_NUMBER()over(partition by role_id , source_system order by pay_time asc) as num
 | 
	
		
			
				|  |  | +                        FROM dm_game_order.t_game_order  WHERE status =2
 | 
	
		
			
				|  |  | +                    ) h on a.source_system = h.source_system AND a.role_id = h.role_id AND h.num = 1
 | 
	
		
			
				|  |  | +                    LEFT JOIN (
 | 
	
		
			
				|  |  | +                        SELECT
 | 
	
		
			
				|  |  | +                            -- 角色当天充值金额
 | 
	
		
			
				|  |  | +                            source_system,
 | 
	
		
			
				|  |  | +                            role_id,
 | 
	
		
			
				|  |  | +                            SUM(real_amount) as today_amount
 | 
	
		
			
				|  |  | +                        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
 | 
	
		
			
				|  |  | -                        	LEFT JOIN (
 | 
	
		
			
				|  |  | +                        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 (
 | 
	
		
			
				|  |  | +                        SELECT
 | 
	
		
			
				|  |  | +                            -- 合服id、合服名称
 | 
	
		
			
				|  |  | +                            source_system,
 | 
	
		
			
				|  |  | +                            game_id,
 | 
	
		
			
				|  |  | +                            source_server_ids,
 | 
	
		
			
				|  |  | +                            server_id,
 | 
	
		
			
				|  |  | +                            server_name
 | 
	
		
			
				|  |  | +                        FROM dm_game_order.t_game_server_merge
 | 
	
		
			
				|  |  | +                        WHERE is_merge = 0
 | 
	
		
			
				|  |  | +                    ) r on a.source_system = r.source_system AND a.server_id = r.source_server_ids AND d.super_game_id = r.game_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,\s
 | 
	
		
			
				|  |  | +                            m.pay_time as user_pay_time -- 玩家最近充值时间
 | 
	
		
			
				|  |  | +                        FROM
 | 
	
		
			
				|  |  | +                        (
 | 
	
		
			
				|  |  | +                            SELECT
 | 
	
		
			
				|  |  | +                                *
 | 
	
		
			
				|  |  | +                            FROM
 | 
	
		
			
				|  |  | +                            (
 | 
	
		
			
				|  |  |                                  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;
 | 
	
		
			
				|  |  | +                                    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
 | 
	
		
			
				|  |  | +                                -- 渠道名称、投手id
 | 
	
		
			
				|  |  | +                                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;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private String getRoleCombatRankingSql() {
 |