Browse Source

:feat:增加角色等级筛选条件、玩家注册时间筛选条件、玩家渠道筛选条件,玩家渠道类型筛选条件

zhangxianyu 11 months ago
parent
commit
afcf5e3235

+ 33 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/RoleRechargeRankingDTO.java

@@ -238,5 +238,38 @@ public class RoleRechargeRankingDTO extends BasePage {
     @ApiModelProperty(value = "角色最近活跃时间结束时间")
     private LocalDate lastActiveTimeMax;
 
+    /**
+     * 角色等级最小值
+     */
+    @ApiModelProperty(value = "角色等级最小值")
+    private Long roleLevelMin;
+    /**
+     * 角色等级最大值
+     */
+    @ApiModelProperty(value = "角色等级最大值")
+    private Long roleLevelMax;
+
+    /**
+     * 玩家注册时间开始时间
+     */
+    @ApiModelProperty(value = "玩家注册时间开始时间")
+    private LocalDate registerTimeMin;
+    /**
+     * 玩家注册时间结束时间
+     */
+    @ApiModelProperty(value = "玩家注册时间结束时间")
+    private LocalDate registerTimeMax;
+    /**
+     * 玩家注册渠道类型(0自然量  1非自然量)
+     */
+    @ApiModelProperty(value = "玩家注册渠道类型(0自然量  1非自然量)")
+    private Integer registerType;
+
+    /**
+     * 玩家渠道id
+     */
+    @ApiModelProperty(value = "玩家渠道id")
+    private List<Long> agentIds;
+
 
 }

+ 2 - 1
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/AdsOrderDetailServiceImpl.java

@@ -28,6 +28,8 @@ import org.nutz.dao.sql.Sql;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -40,7 +42,6 @@ public class AdsOrderDetailServiceImpl implements IAdsOrderDetailService {
     private Dao dao;
     @Autowired
     private DataPowerComponent dataPowerComponent;
-
     @Override
     public Page<AdsOrderDetailVO> listOfPage(AdsOrderDetailListDTO dto) {
         Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo(dto.getSourceSystem());

+ 327 - 301
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/RoleManageServiceImpl.java

@@ -69,7 +69,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
         Criteria criTodayAmount = getDateSqlByQuery(dto);
         //判断是否合服 默认不合服
         String margeSql = "is_merge = 0";
-        if(dto.getIsMergeServer()){
+        if (dto.getIsMergeServer()) {
             margeSql = "is_source_server = 0";
         }
         //分页对象
@@ -78,7 +78,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
         StopWatch watch = new StopWatch();
         watch.start();
         //查询总记录数
-        Sql countSql = Sqls.create(getCountNumSql2(criA, criTodayAmount,margeSql));
+        Sql countSql = Sqls.create(getCountNumSql2(criA, criTodayAmount, margeSql));
         countSql.setCallback(Sqls.callback.integer());
         dao.execute(countSql);
         watch.stop();
@@ -96,7 +96,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
         //创建sql
         StopWatch watch2 = new StopWatch();
         watch2.start();
-        Sql sql = Sqls.create(getRoleRechargeRankingSql(criA, criTodayAmount,margeSql));
+        Sql sql = Sqls.create(getRoleRechargeRankingSql(criA, criTodayAmount, margeSql));
         sql.setCallback(Sqls.callback.maps());
         sql.setPager(pager);
         dao.execute(sql);
@@ -161,14 +161,14 @@ public class RoleManageServiceImpl implements IRoleManageService {
         Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
         //判断是否合服 默认不合服
         String margeSql = "is_merge = 0";
-        if(dto.getIsMergeServer()){
+        if (dto.getIsMergeServer()) {
             margeSql = "is_source_server = 0";
         }
 
         StopWatch watch = new StopWatch();
         watch.start();
         //查询总记录数
-        Sql countSql = Sqls.create(getCountNumSql2(criA, criTodayAmount,margeSql));
+        Sql countSql = Sqls.create(getCountNumSql2(criA, criTodayAmount, margeSql));
         countSql.setCallback(Sqls.callback.integer());
         dao.execute(countSql);
         watch.stop();
@@ -186,7 +186,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
         //创建sql
         StopWatch watch2 = new StopWatch();
         watch2.start();
-        Sql sql = Sqls.create(getRoleRechargeRankingSql(criA, criTodayAmount,margeSql));
+        Sql sql = Sqls.create(getRoleRechargeRankingSql(criA, criTodayAmount, margeSql));
         sql.setCallback(Sqls.callback.maps());
         sql.setPager(pager);
         dao.execute(sql);
@@ -262,6 +262,33 @@ public class RoleManageServiceImpl implements IRoleManageService {
             dto.setIsMergeServer(Boolean.FALSE);
         }
         Criteria criA = Cnd.cri();
+
+        //角色等级区间筛选
+        if (dto.getRoleLevelMin() != null) {
+            criA.where().andGTE("role_level", dto.getRoleLevelMin());
+        }
+        if (dto.getRoleLevelMax() != null) {
+            criA.where().andLTE("role_level", dto.getRoleLevelMin());
+        }
+        //玩家注册时间
+        if (dto.getRegisterTimeMax() != null && dto.getRegisterTimeMin() != null) {
+            criA.where().andBetween("user_create_time", dto.getRegisterTimeMin(), dto.getRegisterTimeMax());
+        }
+        //玩家渠道
+        if (CollectionUtils.isNotEmpty(dto.getAgentIds())) {
+            criA.where().andInList("agent_id", dto.getAgentIds());
+        }
+
+        //玩家注册渠道类型(0自然量  1非自然量)
+        if (dto.getRegisterType() != null) {
+            if (dto.getRegisterType() == 0) {
+                criA.where().andEquals("agent_id", 0);
+            } else {
+                criA.where().andNotEquals("agent_id", 0);
+            }
+        }
+
+
         if (CollectionUtils.isNotEmpty(dto.getGameId())) {
             //角色注册子游戏
             criA.where().andInList("role_reg_game_id", dto.getGameId());
@@ -717,11 +744,11 @@ public class RoleManageServiceImpl implements IRoleManageService {
         }
         //判断是否合服 默认不合服
         String margeSql = "is_merge = 0";
-        if(dto.getIsMergeServer()){
+        if (dto.getIsMergeServer()) {
             margeSql = "is_source_server = 0";
         }
         //创建sql
-        Sql sql = Sqls.create(getRoleRechargeRankingSql(criA, criTodayAmount,margeSql));
+        Sql sql = Sqls.create(getRoleRechargeRankingSql(criA, criTodayAmount, margeSql));
         sql.setCallback(Sqls.callback.maps());
         dao.execute(sql);
         return sql.getList(Map.class);
@@ -863,7 +890,6 @@ public class RoleManageServiceImpl implements IRoleManageService {
     }
 
 
-
     /**
      * 补充查询发送消息任务结果sql
      *
@@ -1466,7 +1492,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
      * @param criTodayAmount 当天充值金额相关的查询条件
      * @return String
      */
-    private String getRoleRechargeRankingSql(Criteria criA, Criteria criTodayAmount,String margeSql) {
+    private String getRoleRechargeRankingSql(Criteria criA, Criteria criTodayAmount, String margeSql) {
         return """
                 SELECT
                 	*
@@ -1669,210 +1695,210 @@ 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 (
+                            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   
+                            """ + margeSql + """ 
+                        AND is_delete = 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,
+                            l.update_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
-                                    -- 合服id、合服名称
                                     source_system,
-                                    game_id,
-                                    source_server_ids,
-                                    server_id,
-                                    server_name
-                                FROM dm_game_order.t_game_server_merge
-                                WHERE   
-                                """ + margeSql + """ 
-                                AND is_delete = 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,
-                                    l.update_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,
-                                            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,
-                                        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 as update_time,
-                        			    ROW_NUMBER()over(partition by association_user_id, b.source_system order by b.active_time desc) as num
-                        			FROM dm_game_order.t_game_user a
-                        			LEFT JOIN (
-                        			    SELECT
-                        			    	source_system ,
-                        			    	user_id,
-                        			    	active_time
-                        			    FROM game_dw.dw_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 (
+                                    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,
+                                    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,
+                                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 as update_time,
+                			    ROW_NUMBER()over(partition by association_user_id, b.source_system order by b.active_time desc) as num
+                			FROM dm_game_order.t_game_user a
+                			LEFT JOIN (
+                			    SELECT
+                			    	source_system ,
+                			    	user_id,
+                			    	active_time
+                			    FROM game_dw.dw_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,
-                                    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,
-                                    gift_name
-                                FROM dm_game_order.t_game_gift
-                            ) k on j.source_system = k.source_system AND j.send_gift_id = k.id
-                            LEFT JOIN (
-                                SELECT
-                                    source_system ,
-                                    id,
-                                    name
-                                FROM dm_game_order.t_game_super
-                            ) s on d.source_system = s.source_system AND d.super_game_id = s.id
-                            LEFT JOIN (
-                                SELECT
-                                    -- 原始服名
-                                    source_system,
-                                    game_id,
-                                    server_id,
-                                    server_name
-                                FROM dm_game_order.t_game_server_merge
-                                WHERE is_delete = 0
-                            ) t on a.source_system = t.source_system AND a.server_id = t.server_id AND d.super_game_id = t.game_id
-                        	LEFT JOIN (
-                        		SELECT
-                        			-- vip等级
-                        			source_system ,
-                        			super_game_id ,
-                        			parent_game_id ,
-                        			recharge_money_min ,
-                        			recharge_money_max ,
-                        			vip_level ,
-                        			is_delete
-                        		FROM dm_game_order.t_game_vip
-                        		WHERE is_delete = 0
-                        	) w on d.source_system = w.source_system AND IFNULL(d.parent_id, a.game_id) = w.parent_game_id
-                        	AND IFNULL(d.super_game_id, a.game_id) = w.super_game_id
-                        	AND c.amount >= w.recharge_money_min AND c.amount < recharge_money_max
-                        	LEFT JOIN (
-                        		SELECT
-                        			source_system,
-                        			id,
-                        			create_time,
-                        			end_time,
-                        			agent_id,
-                        			association_user_id
-                        		FROM dm_game_order.t_game_user_burst
-                        	) x on a.source_system = x.source_system AND a.association_user_id = x.id
-                        	AND a.create_time >= x.create_time AND a.create_time < x.end_time
-                        	LEFT JOIN (
-                                SELECT
-                                    -- 渠道名称、投手id
-                                    source_system,
-                                    id,
-                                    agent_name,
-                                    pitcher_id as put_user_id
-                                FROM dm_game_order.t_pitcher_agent
-                            ) y ON x.agent_id = y.id AND x.source_system = y.source_system
-                        ) a
-                        """ + criA;
+                                    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,
+                            gift_name
+                        FROM dm_game_order.t_game_gift
+                    ) k on j.source_system = k.source_system AND j.send_gift_id = k.id
+                    LEFT JOIN (
+                        SELECT
+                            source_system ,
+                            id,
+                            name
+                        FROM dm_game_order.t_game_super
+                    ) s on d.source_system = s.source_system AND d.super_game_id = s.id
+                    LEFT JOIN (
+                        SELECT
+                            -- 原始服名
+                            source_system,
+                            game_id,
+                            server_id,
+                            server_name
+                        FROM dm_game_order.t_game_server_merge
+                        WHERE is_delete = 0
+                    ) t on a.source_system = t.source_system AND a.server_id = t.server_id AND d.super_game_id = t.game_id
+                	LEFT JOIN (
+                		SELECT
+                			-- vip等级
+                			source_system ,
+                			super_game_id ,
+                			parent_game_id ,
+                			recharge_money_min ,
+                			recharge_money_max ,
+                			vip_level ,
+                			is_delete
+                		FROM dm_game_order.t_game_vip
+                		WHERE is_delete = 0
+                	) w on d.source_system = w.source_system AND IFNULL(d.parent_id, a.game_id) = w.parent_game_id
+                	AND IFNULL(d.super_game_id, a.game_id) = w.super_game_id
+                	AND c.amount >= w.recharge_money_min AND c.amount < recharge_money_max
+                	LEFT JOIN (
+                		SELECT
+                			source_system,
+                			id,
+                			create_time,
+                			end_time,
+                			agent_id,
+                			association_user_id
+                		FROM dm_game_order.t_game_user_burst
+                	) x on a.source_system = x.source_system AND a.association_user_id = x.id
+                	AND a.create_time >= x.create_time AND a.create_time < x.end_time
+                	LEFT JOIN (
+                        SELECT
+                            -- 渠道名称、投手id
+                            source_system,
+                            id,
+                            agent_name,
+                            pitcher_id as put_user_id
+                        FROM dm_game_order.t_pitcher_agent
+                    ) y ON x.agent_id = y.id AND x.source_system = y.source_system
+                ) a
+                """ + criA;
     }
 
     /**
@@ -2297,7 +2323,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
      * @param criTodayAmount 今日充值条件
      * @return String
      */
-    private String getCountNumSql2(Criteria criA, Criteria criTodayAmount,String margeSql) {
+    private String getCountNumSql2(Criteria criA, Criteria criTodayAmount, String margeSql) {
         return """
                 SELECT
                     COUNT(1)
@@ -2465,97 +2491,97 @@ 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,
-                                    user_id,
-                                    role_id,
-                                    server_id,
-                                    game_id,
-                                    user_phone, -- 客户手机号
-                                    is_send_mail, -- 是否发送邮件
-                                    send_gift_id, -- 最新发送礼包id
-                                    is_change_game_type, -- 是否转端 1-是;0-否
-                                    is_add_corp_wechat, -- 是否添加企微 1-是; 0-否
-                                    is_remove_game, -- 是否退游 1-是;0-否
-                                    is_wake_up, -- 是否唤醒 1-是;0-否
-                                    gs_id, -- GS_ID
-                                    customer_service_id, -- 客服ID
-                                    oper_user_id, -- 运营ID
-                                    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,
-                                    name
-                                FROM dm_game_order.t_game_super
-                            ) s on d.source_system = s.source_system AND d.super_game_id = s.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  
-                                 """ + margeSql + """ 
-                                  AND is_delete = 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 (
-                                SELECT
-                                    -- 原始服名
-                                    source_system,
-                                    game_id,
-                                    server_id,
-                                    server_name
-                                FROM dm_game_order.t_game_server_merge
-                                WHERE is_delete = 0
-                            ) t on a.source_system = t.source_system AND a.server_id = t.server_id AND d.super_game_id = t.game_id
-                            LEFT JOIN (
-                                SELECT
-                                    -- vip等级
-                                    source_system ,
-                                    super_game_id ,
-                                    parent_game_id ,
-                                    recharge_money_min ,
-                                    recharge_money_max ,
-                                    vip_level ,
-                                    is_delete
-                                FROM dm_game_order.t_game_vip
-                                WHERE is_delete = 0
-                            ) w on d.source_system = w.source_system AND IFNULL(d.parent_id, a.game_id) = w.parent_game_id
-                            AND IFNULL(d.super_game_id, a.game_id) = w.super_game_id
-                            AND c.amount >= w.recharge_money_min AND c.amount < recharge_money_max
-                            LEFT JOIN (
-                                SELECT
-                                    source_system,
-                                    id,
-                                    create_time,
-                                    end_time,
-                                    agent_id,
-                                    association_user_id
-                                FROM dm_game_order.t_game_user_burst
-                            ) x on a.source_system = x.source_system AND a.association_user_id = x.id
-                            AND a.create_time >= x.create_time AND a.create_time < x.end_time
-                            LEFT JOIN (
-                                SELECT
-                                    -- 渠道名称、投手id
-                                    source_system,
-                                    id,
-                                    agent_name,
-                                    pitcher_id as put_user_id
-                                FROM dm_game_order.t_pitcher_agent
-                            ) y ON x.agent_id = y.id AND x.source_system = y.source_system
-                        ) 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,
+                                user_id,
+                                role_id,
+                                server_id,
+                                game_id,
+                                user_phone, -- 客户手机号
+                                is_send_mail, -- 是否发送邮件
+                                send_gift_id, -- 最新发送礼包id
+                                is_change_game_type, -- 是否转端 1-是;0-否
+                                is_add_corp_wechat, -- 是否添加企微 1-是; 0-否
+                                is_remove_game, -- 是否退游 1-是;0-否
+                                is_wake_up, -- 是否唤醒 1-是;0-否
+                                gs_id, -- GS_ID
+                                customer_service_id, -- 客服ID
+                                oper_user_id, -- 运营ID
+                                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,
+                                name
+                            FROM dm_game_order.t_game_super
+                        ) s on d.source_system = s.source_system AND d.super_game_id = s.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  
+                             """ + margeSql + """ 
+                          AND is_delete = 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 (
+                        SELECT
+                            -- 原始服名
+                            source_system,
+                            game_id,
+                            server_id,
+                            server_name
+                        FROM dm_game_order.t_game_server_merge
+                        WHERE is_delete = 0
+                    ) t on a.source_system = t.source_system AND a.server_id = t.server_id AND d.super_game_id = t.game_id
+                    LEFT JOIN (
+                        SELECT
+                            -- vip等级
+                            source_system ,
+                            super_game_id ,
+                            parent_game_id ,
+                            recharge_money_min ,
+                            recharge_money_max ,
+                            vip_level ,
+                            is_delete
+                        FROM dm_game_order.t_game_vip
+                        WHERE is_delete = 0
+                    ) w on d.source_system = w.source_system AND IFNULL(d.parent_id, a.game_id) = w.parent_game_id
+                    AND IFNULL(d.super_game_id, a.game_id) = w.super_game_id
+                    AND c.amount >= w.recharge_money_min AND c.amount < recharge_money_max
+                    LEFT JOIN (
+                        SELECT
+                            source_system,
+                            id,
+                            create_time,
+                            end_time,
+                            agent_id,
+                            association_user_id
+                        FROM dm_game_order.t_game_user_burst
+                    ) x on a.source_system = x.source_system AND a.association_user_id = x.id
+                    AND a.create_time >= x.create_time AND a.create_time < x.end_time
+                    LEFT JOIN (
+                        SELECT
+                            -- 渠道名称、投手id
+                            source_system,
+                            id,
+                            agent_name,
+                            pitcher_id as put_user_id
+                        FROM dm_game_order.t_pitcher_agent
+                    ) y ON x.agent_id = y.id AND x.source_system = y.source_system
+                ) a
+                """ + criA;
     }