Jelajahi Sumber

Merge branch 'package' of GameCenter/game-center into dev

zhimo 1 tahun lalu
induk
melakukan
7a17f88601

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

@@ -27,12 +27,6 @@ public class RoleCombatRankingDTO extends BasePage {
     @ApiModelProperty(value = "开服时间(结束)")
     private LocalDate endDate;
 
-    /**
-     * 游戏ID
-     */
-    @ApiModelProperty(value = "游戏ID")
-    private Long gameId;
-
     /**
      * 主游戏ID
      */
@@ -43,7 +37,7 @@ public class RoleCombatRankingDTO extends BasePage {
      * 区服ID(列表)
      */
     @ApiModelProperty(value = "区服ID(列表)")
-    private List<Long> serverIds;
+    private List<String> serverIds;
 
     /**
      * 排名的范围
@@ -51,6 +45,12 @@ public class RoleCombatRankingDTO extends BasePage {
     @ApiModelProperty(value = "排名的范围(每个区服显示多少排名)")
     private Long rankingNum;
 
+    /**
+     * 是否合服
+     */
+    @ApiModelProperty(value = "是否合服:true -> 合服 ; false -> 不合服")
+    private Boolean isMergeServer;
+
     /**
      * 排序字段
      */

+ 1 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/PlayerDataServiceImpl.java

@@ -196,6 +196,7 @@ public class PlayerDataServiceImpl implements IPlayerDataService {
      */
     @Override
     public Page<PlayerRoleDataVO> getPlayerRoleDataList(PlayerRoleDataListDTO dto) {
+
         return null;
     }
 

+ 346 - 445
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/RoleManageServiceImpl.java

@@ -155,36 +155,14 @@ public class RoleManageServiceImpl implements IRoleManageService {
     public Page<Map> getRoleCombatRanking(RoleCombatRankingDTO dto) {
 
         //是否查询合服数据(默认查询合服数据)
-        Boolean isQueryMerge = true;
-        //是否查询父游戏数据(根据是否传递子游戏ID判断,默认查询父游戏ID)
-        Boolean isQueryParentGame = true;
-        //判断查询的条件
-        if (dto.getGameId() != null) {
-            //子游戏ID
-            isQueryParentGame = false;
-        }
-        if (dto.getServerIds() != null) {
-            isQueryMerge = false;
-        }
+        Boolean isQueryMerge = dto.getIsMergeServer() == null || dto.getIsMergeServer();
         //查询区服相关数据
         if (isQueryMerge) {
             //查询合服
-            if (isQueryParentGame) {
-                //查询父游戏
-                return getMergeParentData(dto);
-            } else {
-                //查询子游戏
-                return getMergeSonData(dto);
-            }
+            return getMergeParentData(dto);
         } else {
             //查询原始服
-            if (isQueryParentGame) {
-                //查询父游戏
-                return getOriginParentData(dto);
-            } else {
-                //查询子游戏
-                return getOriginSonData(dto);
-            }
+            return getOriginParentData(dto);
         }
     }
 
@@ -235,22 +213,27 @@ public class RoleManageServiceImpl implements IRoleManageService {
             //合服开服时间
             cri.where().andBetween("DATE(merge_time)", dto.getBeginDate(), dto.getEndDate());
         }
-        if (dto.getServerIds() != null) {
+        if (CollectionUtils.isNotEmpty(dto.getServerIds())) {
             //合服区服列表
-            cri.where().andInList("boss_server_id", dto.getServerIds());
+            cri.where().andIn("boss_server_id", dto.getServerIds().toArray(String[]::new));
         }
         if (StringUtils.isNotBlank(dto.getSourceSystem())) {
             cri.where().andEquals("source_system", dto.getSourceSystem());
         }
-        //分页
-        Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
         //拼接分组条件
         cri.getGroupBy().groupBy("source_system" , "boss_server_id" , "parent_game_id");
+        //分页
+        Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
+        //查询总记录数
+        Sql countSql = Sqls.create(getRoleCombatRankServerDataSqlDCount(cri));
+        countSql.setCallback(Sqls.callback.integer());
+        dao.execute(countSql);
+        pager.setRecordCount(countSql.getInt());
+        //查询出区服相关数据
         Sql sql = Sqls.create(getRoleCombatRankServerDataSqlD() + cri);
         sql.setCallback(Sqls.callback.maps());
         sql.setPager(pager);
         dao.execute(sql);
-
         //获取角色信息
         //查询条件
         Criteria criRole = Cnd.cri();
@@ -262,9 +245,9 @@ public class RoleManageServiceImpl implements IRoleManageService {
             //开服时间
             criRole.where().andBetween("DATE(merge_time)", dto.getBeginDate(), dto.getEndDate());
         }
-        if (dto.getServerIds() != null) {
+        if (CollectionUtils.isNotEmpty(dto.getServerIds())) {
             //合服区服列表
-            criRole.where().andInList("boss_server_id", dto.getServerIds());
+            criRole.where().andIn("boss_server_id", dto.getServerIds().toArray(String[]::new));
         }
         if (StringUtils.isNotBlank(dto.getSourceSystem())) {
             criRole.where().andEquals("source_system", dto.getSourceSystem());
@@ -281,133 +264,43 @@ public class RoleManageServiceImpl implements IRoleManageService {
         dao.execute(sqlRole);
         //得到数据Map   (合服ID-父游戏ID)- (角色信息)
         Map<String, List<Map<String, Object>>> roleDataMap = new HashMap<>();
-        //得到结果
-        List<Map> listRole = sqlRole.getList(Map.class).stream().map(map -> {
+        //获取到相关角色排名信息
+        List<Map> listRole = sqlRole.getList(Map.class).stream().map(dataMap -> {
+            //拼接主键信息
             StringBuilder sb = new StringBuilder(StringUtils.EMPTY);
-            sb.append((String)map.get("boss_server_id"))
+            sb.append((String)dataMap.get("boss_server_id"))
                     .append("-")
-                    .append((String)map.get("parent_game_id"));
+                    .append((String)dataMap.get("parent_game_id"));
             if (roleDataMap.get(sb.toString()) != null) {
                 //含有改主键 添加数据
-                roleDataMap.get(sb.toString()).add(map);
+                roleDataMap.get(sb.toString()).add(dataMap);
             } else {
                 //不含有该主键
                 List<Map<String, Object>> tempList = new ArrayList<>();
-                tempList.add(map);
+                tempList.add(dataMap);
                 roleDataMap.put(String.valueOf(sb), tempList);
             }
-            return map;
+            return dataMap;
         }).collect(Collectors.toList());
-
-        List<Map> list = sql.getList(Map.class).stream().map(map -> {
+        //将排名信息拼接到区服信息上
+        List<Map> list = sql.getList(Map.class).stream().map(dataMap -> {
+            //主键
             StringBuilder sb = new StringBuilder(StringUtils.EMPTY);
-            sb.append((String)map.get("boss_server_id"))
+            sb.append((String)dataMap.get("boss_server_id"))
                     .append("-")
-                    .append((String)map.get("parent_game_id"));
-
+                    .append((String)dataMap.get("parent_game_id"));
             if (roleDataMap.get(sb.toString()) != null) {
                 //将排名信息添加
-                map.put("role_rank_date", roleDataMap.get(sb.toString()));
+                dataMap.put("role_rank_date", roleDataMap.get(sb.toString()));
             }
-            return map;
-
-        }).collect(Collectors.toList());
-
-        return new Page<>(list, pager);
-    }
-
-    /**
-     * 合服-子游戏
-     * @param dto RoleCombatRankingDTO
-     * @return Page<Map>
-     */
-    private Page<Map> getMergeSonData(RoleCombatRankingDTO dto) {
-        //查询条件
-        Criteria cri = Cnd.cri();
-        if (dto.getGameId() != null) {
-            //子游戏ID
-            cri.where().andEquals("game_id", dto.getGameId());
-        }
-        if (dto.getBeginDate() != null && dto.getEndDate() != null) {
-            //合服开服时间
-            cri.where().andBetween("DATE(merge_time)", dto.getBeginDate(), dto.getEndDate());
-        }
-        if (dto.getServerIds() != null) {
-            //合服区服列表
-            cri.where().andInList("boss_server_id", dto.getServerIds());
-        }
-        if (StringUtils.isNotBlank(dto.getSourceSystem())) {
-            cri.where().andEquals("source_system", dto.getSourceSystem());
-        }
-        //分页
-        Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
-        //拼接分组条件
-        cri.getGroupBy().groupBy("source_system" , "boss_server_id" , "game_id");
-        Sql sql = Sqls.create(getRoleCombatRankServerDataSqlC() + cri);
-        sql.setCallback(Sqls.callback.maps());
-        sql.setPager(pager);
-        dao.execute(sql);
-
-        //获取角色信息
-        //查询条件
-        Criteria criRole = Cnd.cri();
-        if (dto.getGameId() != null) {
-            //子游戏ID
-            criRole.where().andEquals("game_id", dto.getGameId());
-        }
-        if (dto.getBeginDate() != null && dto.getEndDate() != null) {
-            //合服开服时间
-            criRole.where().andBetween("DATE(merge_time)", dto.getBeginDate(), dto.getEndDate());
-        }
-        if (dto.getServerIds() != null) {
-            //合服区服列表
-            criRole.where().andInList("boss_server_id", dto.getServerIds());
-        }
-        if (StringUtils.isNotBlank(dto.getSourceSystem())) {
-            criRole.where().andEquals("source_system", dto.getSourceSystem());
-        }
-        if (dto.getRankingNum() != null) {
-            //排名的个数
-            criRole.where().andLTE("rank_num", dto.getRankingNum());
-        } else {
-            //排名的个数
-            criRole.where().andLTE("rank_num", 5);
-        }
-        Sql sqlRole = Sqls.create(getRoleCombatRankRoleDataSqlC() + criRole);
-        sqlRole.setCallback(Sqls.callback.maps());
-        dao.execute(sqlRole);
-        //得到数据Map   (合服ID-子游戏ID)- (角色信息)
-        Map<String, List<Map<String, Object>>> roleDataMap = new HashMap<>();
-        //得到结果
-        List<Map> listRole = sqlRole.getList(Map.class).stream().map(map -> {
-            StringBuilder sb = new StringBuilder(StringUtils.EMPTY);
-            sb.append((String)map.get("boss_server_id"))
-                    .append("-")
-                    .append(map.get("game_id"));
-            if (roleDataMap.get(sb.toString()) != null) {
-                //含有改主键 添加数据
-                roleDataMap.get(sb.toString()).add(map);
-            } else {
-                //不含有该主键
-                List<Map<String, Object>> tempList = new ArrayList<>();
-                tempList.add(map);
-                roleDataMap.put(String.valueOf(sb), tempList);
+            //清除"null"字符串
+            if ("null".equals(dataMap.get("son_server_ids"))) {
+                dataMap.put("son_server_ids", StringUtils.EMPTY);
             }
-            return map;
-        }).collect(Collectors.toList());
-
-        List<Map> list = sql.getList(Map.class).stream().map(map -> {
-            StringBuilder sb = new StringBuilder(StringUtils.EMPTY);
-            sb.append((String)map.get("boss_server_id"))
-                    .append("-")
-                    .append(map.get("game_id"));
-
-            if (roleDataMap.get(sb.toString()) != null) {
-                //将排名信息添加
-                map.put("role_rank_date", roleDataMap.get(sb.toString()));
+            if ("null".equals(dataMap.get("source_server_ids"))) {
+                dataMap.put("source_server_ids", StringUtils.EMPTY);
             }
-            return map;
-
+            return dataMap;
         }).collect(Collectors.toList());
 
         return new Page<>(list, pager);
@@ -429,17 +322,23 @@ public class RoleManageServiceImpl implements IRoleManageService {
             //原始服开服时间
             cri.where().andBetween("dt", dto.getBeginDate(), dto.getEndDate());
         }
-        if (dto.getServerIds() != null) {
+        if (CollectionUtils.isNotEmpty(dto.getServerIds())) {
             //原始区服列表
-            cri.where().andInList("server_id", dto.getServerIds());
+            cri.where().andIn("server_id", dto.getServerIds().toArray(String[]::new));
         }
         if (StringUtils.isNotBlank(dto.getSourceSystem())) {
             cri.where().andEquals("source_system", dto.getSourceSystem());
         }
-        //分页
-        Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
         //拼接分组条件
         cri.getGroupBy().groupBy("source_system" , "server_id" , "parent_game_id");
+        //分页
+        Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
+        //查询总记录数
+        Sql countSql = Sqls.create(getRoleCombatRankServerDataSqlBCount(cri));
+        countSql.setCallback(Sqls.callback.integer());
+        dao.execute(countSql);
+        pager.setRecordCount(countSql.getInt());
+        //区服数据
         Sql sql = Sqls.create(getRoleCombatRankServerDataSqlB() + cri);
         sql.setCallback(Sqls.callback.maps());
         sql.setPager(pager);
@@ -456,9 +355,9 @@ public class RoleManageServiceImpl implements IRoleManageService {
             //原始服开服时间
             criRole.where().andBetween("dt", dto.getBeginDate(), dto.getEndDate());
         }
-        if (dto.getServerIds() != null) {
+        if (CollectionUtils.isNotEmpty(dto.getServerIds())) {
             //原始服区服列表
-            criRole.where().andInList("server_id", dto.getServerIds());
+            criRole.where().andIn("server_id", dto.getServerIds().toArray(String[]::new));
         }
         if (StringUtils.isNotBlank(dto.getSourceSystem())) {
             criRole.where().andEquals("source_system", dto.getSourceSystem());
@@ -510,103 +409,6 @@ public class RoleManageServiceImpl implements IRoleManageService {
         return new Page<>(list, pager);
     }
 
-    /**
-     * 原始服-子游戏
-     * @param dto
-     * @return
-     */
-    private Page<Map> getOriginSonData(RoleCombatRankingDTO dto) {
-        //查询条件
-        Criteria cri = Cnd.cri();
-        if (dto.getGameId() != null) {
-            //子游戏ID
-            cri.where().andEquals("game_id", dto.getGameId());
-        }
-        if (dto.getBeginDate() != null && dto.getEndDate() != null) {
-            //原始服开服时间
-            cri.where().andBetween("dt", dto.getBeginDate(), dto.getEndDate());
-        }
-        if (dto.getServerIds() != null) {
-            //原始区服列表
-            cri.where().andInList("server_id", dto.getServerIds());
-        }
-        if (StringUtils.isNotBlank(dto.getSourceSystem())) {
-            cri.where().andEquals("source_system", dto.getSourceSystem());
-        }
-        //分页
-        Pager pager = dao.createPager(dto.getPageNum(), dto.getPageSize());
-        //拼接分组条件
-        cri.getGroupBy().groupBy("source_system" , "server_id" , "game_id");
-        Sql sql = Sqls.create(getRoleCombatRankServerDataSqlA() + cri);
-        sql.setCallback(Sqls.callback.maps());
-        sql.setPager(pager);
-        dao.execute(sql);
-
-        //获取角色信息
-        //查询条件
-        Criteria criRole = Cnd.cri();
-        if (dto.getGameId() != null) {
-            //子游戏ID
-            criRole.where().andEquals("game_id", dto.getGameId());
-        }
-        if (dto.getBeginDate() != null && dto.getEndDate() != null) {
-            //原始服开服时间
-            criRole.where().andBetween("dt", dto.getBeginDate(), dto.getEndDate());
-        }
-        if (dto.getServerIds() != null) {
-            //原始服区服列表
-            criRole.where().andInList("server_id", dto.getServerIds());
-        }
-        if (StringUtils.isNotBlank(dto.getSourceSystem())) {
-            criRole.where().andEquals("source_system", dto.getSourceSystem());
-        }
-        if (dto.getRankingNum() != null) {
-            //排名的个数
-            criRole.where().andLTE("rank_num", dto.getRankingNum());
-        } else {
-            //排名的个数
-            criRole.where().andLTE("rank_num", 5);
-        }
-        Sql sqlRole = Sqls.create(getRoleCombatRankRoleDataSqlA() + criRole);
-        sqlRole.setCallback(Sqls.callback.maps());
-        dao.execute(sqlRole);
-        //得到数据Map   (原始服ID-子游戏ID)- (角色信息)
-        Map<String, List<Map<String, Object>>> roleDataMap = new HashMap<>();
-        //得到结果
-        List<Map> listRole = sqlRole.getList(Map.class).stream().map(map -> {
-            StringBuilder sb = new StringBuilder(StringUtils.EMPTY);
-            sb.append(map.get("server_id"))
-                    .append("-")
-                    .append(map.get("game_id"));
-            if (roleDataMap.get(sb.toString()) != null) {
-                //含有改主键 添加数据
-                roleDataMap.get(sb.toString()).add(map);
-            } else {
-                //不含有该主键
-                List<Map<String, Object>> tempList = new ArrayList<>();
-                tempList.add(map);
-                roleDataMap.put(String.valueOf(sb), tempList);
-            }
-            return map;
-        }).collect(Collectors.toList());
-
-        List<Map> list = sql.getList(Map.class).stream().map(map -> {
-            StringBuilder sb = new StringBuilder(StringUtils.EMPTY);
-            sb.append(map.get("server_id"))
-                    .append("-")
-                    .append(map.get("game_id"));
-
-            if (roleDataMap.get(sb.toString()) != null) {
-                //将排名信息添加
-                map.put("role_rank_date", roleDataMap.get(sb.toString()));
-            }
-            return map;
-
-        }).collect(Collectors.toList());
-
-        return new Page<>(list, pager);
-    }
-
     /**
      * 查询角色充值排行榜sql
      * @param criA 主表查询条件
@@ -1311,48 +1113,6 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 """ + criA;
     }
 
-    /**
-     * 原始服-子游戏维度(区服相关信息)
-     * @return String
-     */
-    private String getRoleCombatRankServerDataSqlA() {
-        return """
-                SELECT
-                	source_system,
-                	server_id, -- 区服ID
-                	MAX(`date`) as dt, -- 开服日期
-                	MAX(start_day) as start_day, -- 开服天数
-                	game_id, -- 子游戏ID
-                	MAX(game_name) as game_name, -- 子游戏名
-                	MAX(parent_game_id) as parent_game_id,
-                	MAX(parent_game_name) as parent_game_name,
-                	MAX(server_name) as server_name, -- 区服名
-                	MAX(boss_server_id) as boss_server_id, -- 合服ID
-                	MAX(boss_server_name) as boss_server_name, -- 合服名
-                	MAX(server_combat_num) as server_combat_num, -- 区服战力
-                	MAX(new_user_count) as new_user_count, -- 新用户人数
-                	MAX(create_role_count) as create_role_count, -- 创角人数
-                	MAX(role_count) as role_count, -- 角色数量
-                	MAX(total_num) as total_num, -- 总付费人数
-                	MAX(total_amount) as total_amount, -- 总付费金额
-                	ROUND(IF(MAX(total_num) > 0, MAX(total_amount) / MAX(total_num), 0), 2) as total_arppu, -- 总付费ARPPU
-                	ROUND(IF(MAX(create_role_count) > 0, MAX(total_num) / MAX(create_role_count), 0), 4) as amount_rate, -- 付费率
-                	MAX(ba1) as ba1, -- 今日付费金额
-                	MAX(ba1_num) as ba1_num, -- 今日付费人数
-                	MAX(ba1_count) as ba1_count, -- 今日付费次数
-                	MAX(ba1_active_num) as ba1_active_num, -- 今日活跃人数
-                	MAX(ba2) as ba2, -- 昨日付费金额
-                	MAX(ba2_num) as ba2_num, -- 昨日付费人数
-                	MAX(ba2_count) as ba2_count, -- 昨日付费次数
-                	MAX(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
-                	MAX(ba3) as ba3, -- 前天付费金额
-                	MAX(ba3_num) as ba3_num, -- 前天付费人数
-                	MAX(ba3_count) as ba3_count, -- 前天付费次数
-                	MAX(ba3_active_num) as ba3_active_num -- 前天活跃人数
-                FROM game_ads.ads_role_combat_num_ranking
-                """;
-    }
-
     /**
      * 原始服-父游戏维度(区服相关信息)
      * @return String
@@ -1360,15 +1120,16 @@ public class RoleManageServiceImpl implements IRoleManageService {
     private String getRoleCombatRankServerDataSqlB() {
         return """
                 SELECT
-                	source_system,
-                	server_id, -- 区服ID
+                	source_system, -- SDK来源
                 	parent_game_id, -- 父游戏
-                	MAX(parent_game_name) as parent_game_name, -- 合服名称
+                	MAX(parent_game_name) as parent_game_name, -- 父游戏名称
+                	server_id, -- 区服ID
                     MAX(server_name) as server_name, -- 区服名
                     MAX(dt) as dt, -- 开服日期
                 	MAX(start_day) as start_day, -- 开服天数
                     MAX(boss_server_id) as boss_server_id, -- 合服ID
                     MAX(boss_server_name) as boss_server_name, -- 合服名
+                    MAX(merge_time) as merge_time , -- 合服时间
                     SUM(server_combat_num) as server_combat_num, -- 区服战力
                     SUM(new_user_count) as new_user_count, -- 新用户人数
                     SUM(create_role_count) as create_role_count, -- 创角人数
@@ -1404,6 +1165,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 		MAX(server_name) as server_name, -- 区服名
                 		MAX(boss_server_id) as boss_server_id, -- 合服ID
                 		MAX(boss_server_name) as boss_server_name, -- 合服名
+                		MAX(merge_time) as merge_time , -- 合服时间
                 		MAX(server_combat_num) as server_combat_num, -- 区服战力
                 		MAX(new_user_count) as new_user_count, -- 新用户人数
                 		MAX(create_role_count) as create_role_count, -- 创角人数
@@ -1429,69 +1191,84 @@ public class RoleManageServiceImpl implements IRoleManageService {
     }
 
     /**
-     * 合服-子游戏维度(区服相关信息)
+     * 原始服-父游戏维度(区服相关信息)(总记录数)
      * @return String
      */
-    private String getRoleCombatRankServerDataSqlC() {
+    private String getRoleCombatRankServerDataSqlBCount(Criteria cri) {
         return """
                 SELECT
-                	source_system,
-                	boss_server_id ,
-                	game_id,
-                	MAX(game_name) as game_name,
-                	MAX(boss_server_name) as boss_server_name,
-                	MAX(merge_time) as merge_time , -- 合服时间
-                	SUM(server_combat_num) as server_combat_num, -- 区服战力
-                    SUM(new_user_count) as new_user_count, -- 新用户人数
-                    SUM(create_role_count) as create_role_count, -- 创角人数
-                    SUM(role_count) as role_count, -- 角色数量
-                    SUM(total_num) as total_num, -- 总付费人数
-                    SUM(total_amount) as total_amount, -- 总付费金额
-                    ROUND(IF(SUM(total_num) > 0, SUM(total_amount) / SUM(total_num), 0), 2) as total_arppu, -- 总付费ARPPU
-                    ROUND(IF(SUM(create_role_count) > 0, SUM(total_num) / SUM(create_role_count), 0), 4) as amount_rate, -- 付费率
-                    SUM(ba1) as ba1, -- 今日付费金额
-                    SUM(ba1_num) as ba1_num, -- 今日付费人数
-                    SUM(ba1_count) as ba1_count, -- 今日付费次数
-                    SUM(ba1_active_num) as ba1_active_num, -- 今日活跃人数
-                    SUM(ba2) as ba2, -- 昨日付费金额
-                    SUM(ba2_num) as ba2_num, -- 昨日付费人数
-                    SUM(ba2_count) as ba2_count, -- 昨日付费次数
-                    SUM(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
-                    SUM(ba3) as ba3, -- 前天付费金额
-                    SUM(ba3_num) as ba3_num, -- 前天付费人数
-                    SUM(ba3_count) as ba3_count, -- 前天付费次数
-                    SUM(ba3_active_num) as ba3_active_num -- 前天活跃人数
-                FROM (
-                	-- 子查询,查询每个子游戏-区服维度的信息
-                	SELECT
-                		source_system,
-                		server_id, -- 区服ID
-                		game_id,
-                		MAX(game_name) as game_name,
-                		MAX(server_name) as server_name, -- 区服名
-                		MAX(boss_server_id) as boss_server_id, -- 合服ID
-                		MAX(boss_server_name) as boss_server_name, -- 合服名
-                		MAX(merge_time) as merge_time , -- 合服时间
-                		MAX(server_combat_num) as server_combat_num, -- 区服战力
-                		MAX(new_user_count) as new_user_count, -- 新用户人数
-                		MAX(create_role_count) as create_role_count, -- 创角人数
-                		MAX(role_count) as role_count, -- 角色数量
-                		MAX(total_num) as total_num, -- 总付费人数
-                		MAX(total_amount) as total_amount, -- 总付费金额
-                		MAX(ba1) as ba1, -- 今日付费金额
-                		MAX(ba1_num) as ba1_num, -- 今日付费人数
-                		MAX(ba1_count) as ba1_count, -- 今日付费次数
-                		MAX(ba1_active_num) as ba1_active_num, -- 今日活跃人数
-                		MAX(ba2) as ba2, -- 昨日付费金额
-                		MAX(ba2_num) as ba2_num, -- 昨日付费人数
-                		MAX(ba2_count) as ba2_count, -- 昨日付费次数
-                		MAX(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
-                		MAX(ba3) as ba3, -- 前天付费金额
-                		MAX(ba3_num) as ba3_num, -- 前天付费人数
-                		MAX(ba3_count) as ba3_count, -- 前天付费次数
-                		MAX(ba3_active_num) as ba3_active_num -- 前天活跃人数
-                	FROM game_ads.ads_role_combat_num_ranking
-                	GROUP BY server_id, source_system , game_id
+                    COUNT(1)
+                FROM(
+                    SELECT
+                        source_system, -- SDK来源
+                        parent_game_id, -- 父游戏
+                        MAX(parent_game_name) as parent_game_name, -- 父游戏名称
+                        server_id, -- 区服ID
+                        MAX(server_name) as server_name, -- 区服名
+                        MAX(dt) as dt, -- 开服日期
+                        MAX(start_day) as start_day, -- 开服天数
+                        MAX(boss_server_id) as boss_server_id, -- 合服ID
+                        MAX(boss_server_name) as boss_server_name, -- 合服名
+                        MAX(merge_time) as merge_time , -- 合服时间
+                        SUM(server_combat_num) as server_combat_num, -- 区服战力
+                        SUM(new_user_count) as new_user_count, -- 新用户人数
+                        SUM(create_role_count) as create_role_count, -- 创角人数
+                        SUM(role_count) as role_count, -- 角色数量
+                        SUM(total_num) as total_num, -- 总付费人数
+                        SUM(total_amount) as total_amount, -- 总付费金额
+                        ROUND(IF(SUM(total_num) > 0, SUM(total_amount) / SUM(total_num), 0), 2) as total_arppu, -- 总付费ARPPU
+                        ROUND(IF(SUM(create_role_count) > 0, SUM(total_num) / SUM(create_role_count), 0), 4) as amount_rate, -- 付费率
+                        SUM(ba1) as ba1, -- 今日付费金额
+                        SUM(ba1_num) as ba1_num, -- 今日付费人数
+                        SUM(ba1_count) as ba1_count, -- 今日付费次数
+                        SUM(ba1_active_num) as ba1_active_num, -- 今日活跃人数
+                        SUM(ba2) as ba2, -- 昨日付费金额
+                        SUM(ba2_num) as ba2_num, -- 昨日付费人数
+                        SUM(ba2_count) as ba2_count, -- 昨日付费次数
+                        SUM(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
+                        SUM(ba3) as ba3, -- 前天付费金额
+                        SUM(ba3_num) as ba3_num, -- 前天付费人数
+                        SUM(ba3_count) as ba3_count, -- 前天付费次数
+                        SUM(ba3_active_num) as ba3_active_num -- 前天活跃人数
+                    FROM (
+                        -- 子查询,查询每个子游戏-区服的信息
+                        SELECT
+                            source_system,
+                            server_id, -- 区服ID
+                            MAX(`date`) as dt, -- 开服日期
+                            MAX(start_day) as start_day, -- 开服天数
+                            game_id, -- 子游戏ID
+                            MAX(game_name) as game_name, -- 子游戏名
+                            MAX(parent_game_id) as parent_game_id,
+                            MAX(parent_game_name) as parent_game_name,
+                            MAX(game_name) as game_name,
+                            MAX(server_name) as server_name, -- 区服名
+                            MAX(boss_server_id) as boss_server_id, -- 合服ID
+                            MAX(boss_server_name) as boss_server_name, -- 合服名
+                            MAX(merge_time) as merge_time , -- 合服时间
+                            MAX(server_combat_num) as server_combat_num, -- 区服战力
+                            MAX(new_user_count) as new_user_count, -- 新用户人数
+                            MAX(create_role_count) as create_role_count, -- 创角人数
+                            MAX(role_count) as role_count, -- 角色数量
+                            MAX(total_num) as total_num, -- 总付费人数
+                            MAX(total_amount) as total_amount, -- 总付费金额
+                            MAX(ba1) as ba1, -- 今日付费金额
+                            MAX(ba1_num) as ba1_num, -- 今日付费人数
+                            MAX(ba1_count) as ba1_count, -- 今日付费次数
+                            MAX(ba1_active_num) as ba1_active_num, -- 今日活跃人数
+                            MAX(ba2) as ba2, -- 昨日付费金额
+                            MAX(ba2_num) as ba2_num, -- 昨日付费人数
+                            MAX(ba2_count) as ba2_count, -- 昨日付费次数
+                            MAX(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
+                            MAX(ba3) as ba3, -- 前天付费金额
+                            MAX(ba3_num) as ba3_num, -- 前天付费人数
+                            MAX(ba3_count) as ba3_count, -- 前天付费次数
+                            MAX(ba3_active_num) as ba3_active_num -- 前天活跃人数
+                        FROM game_ads.ads_role_combat_num_ranking
+                        GROUP BY server_id, source_system , game_id
+                    ) a
+                """ + cri+
+                """
                 ) a
                 """;
     }
@@ -1503,12 +1280,20 @@ public class RoleManageServiceImpl implements IRoleManageService {
     private String getRoleCombatRankServerDataSqlD() {
         return """
                 SELECT
-                	source_system,
-                	boss_server_id,
-                	parent_game_id,
-                	MAX(parent_game_name) as parent_game_name,
-                	MAX(boss_server_name) as boss_server_name,
+                	a.source_system, -- SDK来源
+                	parent_game_id, -- 父游戏ID
+                	MAX(parent_game_name) as parent_game_name, -- 父游戏名
+                	boss_server_id, -- 合服ID
+                	MAX(boss_server_name) as boss_server_name, -- 合服名
                 	MAX(merge_time) as merge_time , -- 合服时间
+                	TIMESTAMPDIFF(DAY, MAX(merge_time), NOW()) start_day, -- 开服天数
+                	MAX(sum_server_count) as sum_server_count, -- 合服次数
+                	MAX(b.main_server_id) as main_server_id, -- 主服ID
+                	MAX(b.main_server_name) as main_server_name, -- 主服名
+                	MAX(son_server_ids) as son_server_ids, -- 合服的子服ID列表
+                    MAX(source_server_ids) as source_server_ids, -- 子服ID列表
+                    MAX(source_server_ids_name) as source_server_ids_name, -- 子服名列表
+                	MAX(super_game_id) as super_game_id , -- 超父游戏ID
                 	SUM(server_combat_num) as server_combat_num, -- 区服战力
                     SUM(new_user_count) as new_user_count, -- 新用户人数
                     SUM(create_role_count) as create_role_count, -- 创角人数
@@ -1540,7 +1325,9 @@ public class RoleManageServiceImpl implements IRoleManageService {
                         MAX(boss_server_id) as boss_server_id, -- 合服ID
                         MAX(boss_server_name) as boss_server_name, -- 合服名
                         MAX(merge_time) as merge_time , -- 合服时间
+                        MAX(sum_server_count) as sum_server_count, -- 合服次数
                         SUM(server_combat_num) as server_combat_num, -- 区服战力
+                        MAX(super_game_id) as super_game_id , -- 超父游戏ID
                         SUM(new_user_count) as new_user_count, -- 新用户人数
                         SUM(create_role_count) as create_role_count, -- 创角人数
                         SUM(role_count) as role_count, -- 角色数量
@@ -1572,7 +1359,9 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 			MAX(boss_server_id) as boss_server_id, -- 合服ID
                 			MAX(boss_server_name) as boss_server_name, -- 合服名
                 			MAX(merge_time) as merge_time , -- 合服时间
+                			MAX(sum_server_count) as sum_server_count, -- 合服次数
                 			MAX(server_combat_num) as server_combat_num, -- 区服战力
+                			MAX(super_game_id) as super_game_id , -- 超父游戏ID
                 			MAX(new_user_count) as new_user_count, -- 新用户人数
                 			MAX(create_role_count) as create_role_count, -- 创角人数
                 			MAX(role_count) as role_count, -- 角色数量
@@ -1595,38 +1384,173 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 	) a
                 	GROUP BY server_id, source_system , parent_game_id
                 ) a
+                LEFT JOIN (
+                	SELECT
+                		a.source_system as b_source_system,
+                		a.server_id as b_server_id,
+                		a.game_id as b_game_id,
+                		MAX(a.server_name) as server_name  ,
+                		MAX(a.main_server_id) as main_server_id,
+                		MAX(c.server_name) as main_server_name,
+                		MAX(a.son_server_ids) as son_server_ids ,
+                		GROUP_CONCAT(a.source_server_ids, ',') as source_server_ids,
+                		GROUP_CONCAT(b.server_name , ',') as source_server_ids_name
+                	FROM dm_game_order.t_game_server_merge a
+                	LEFT JOIN dm_game_order.t_game_server_merge b on a.source_system = b.source_system AND a.game_id = b.game_id AND a.source_server_ids = b.server_id
+                	LEFT JOIN (
+                		SELECT
+                			source_system ,
+                			game_id ,
+                			server_id  ,
+                			MAX(server_name) as server_name
+                		FROM dm_game_order.t_game_server_merge
+                		GROUP BY server_id ,source_system ,game_id
+                	) c on a.source_system = c.source_system AND a.game_id = c.game_id AND a.main_server_id = c.server_id
+                	group by a.server_id , a.source_system , a.game_id
+                ) b ON a.source_system = b.b_source_system AND a.super_game_id = b.b_game_id AND a.boss_server_id = b.b_server_id
                 """;
     }
 
     /**
-     * 原始服-子游戏维度(角色排行相关信息)
+     * 合服-父游戏维度(区服相关信息)(总记录数)
      * @return String
      */
-    private String getRoleCombatRankRoleDataSqlA() {
+    private String getRoleCombatRankServerDataSqlDCount(Criteria cri) {
         return """
                 SELECT
-                	*
-                FROM (
-                	SELECT
-                		`date` as dt,
-                		source_system ,
-                		server_id ,
-                		server_name ,
-                		boss_server_id ,
-                		boss_server_name ,
-                		merge_time,
-                		game_id,
-                		game_name,
-                		parent_game_id,
-                		parent_game_name,
-                		super_game_id,
-                		super_game_name,
-                		role_id,
-                		role_name,
-                		role_level,
-                		combat_num,
-                		ROW_NUMBER()over(partition by source_system ,server_id ,game_id order by combat_num desc) as rank_num
-                	FROM game_ads.ads_role_combat_num_ranking
+                    COUNT(1)
+                FROM(
+                    SELECT
+                        a.source_system, -- SDK来源
+                        parent_game_id, -- 父游戏ID
+                        MAX(parent_game_name) as parent_game_name, -- 父游戏名
+                        boss_server_id, -- 合服ID
+                        MAX(boss_server_name) as boss_server_name, -- 合服名
+                        MAX(merge_time) as merge_time , -- 合服时间
+                        TIMESTAMPDIFF(DAY, MAX(merge_time), NOW()) start_day, -- 开服天数
+                        MAX(sum_server_count) as sum_server_count, -- 合服次数
+                        MAX(b.main_server_id) as main_server_id, -- 主服ID
+                        MAX(b.main_server_name) as main_server_name, -- 主服名
+                        MAX(son_server_ids) as son_server_ids, -- 合服的子服ID列表
+                        MAX(source_server_ids) as source_server_ids, -- 子服ID列表
+                        MAX(source_server_ids_name) as source_server_ids_name, -- 子服名列表
+                        MAX(super_game_id) as super_game_id , -- 超父游戏ID
+                        SUM(server_combat_num) as server_combat_num, -- 区服战力
+                        SUM(new_user_count) as new_user_count, -- 新用户人数
+                        SUM(create_role_count) as create_role_count, -- 创角人数
+                        SUM(role_count) as role_count, -- 角色数量
+                        SUM(total_num) as total_num, -- 总付费人数
+                        SUM(total_amount) as total_amount, -- 总付费金额
+                        ROUND(IF(SUM(total_num) > 0, SUM(total_amount) / SUM(total_num), 0), 2) as total_arppu, -- 总付费ARPPU
+                        ROUND(IF(SUM(create_role_count) > 0, SUM(total_num) / SUM(create_role_count), 0), 4) as amount_rate, -- 付费率
+                        SUM(ba1) as ba1, -- 今日付费金额
+                        SUM(ba1_num) as ba1_num, -- 今日付费人数
+                        SUM(ba1_count) as ba1_count, -- 今日付费次数
+                        SUM(ba1_active_num) as ba1_active_num, -- 今日活跃人数
+                        SUM(ba2) as ba2, -- 昨日付费金额
+                        SUM(ba2_num) as ba2_num, -- 昨日付费人数
+                        SUM(ba2_count) as ba2_count, -- 昨日付费次数
+                        SUM(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
+                        SUM(ba3) as ba3, -- 前天付费金额
+                        SUM(ba3_num) as ba3_num, -- 前天付费人数
+                        SUM(ba3_count) as ba3_count, -- 前天付费次数
+                        SUM(ba3_active_num) as ba3_active_num -- 前天活跃人数
+                    FROM (
+                        -- 子查询,查询每个父游戏-区服维度的信息
+                        SELECT
+                            source_system,
+                            server_id, -- 区服ID
+                            parent_game_id,
+                            MAX(parent_game_name) as parent_game_name,
+                            MAX(server_name) as server_name, -- 区服名
+                            MAX(boss_server_id) as boss_server_id, -- 合服ID
+                            MAX(boss_server_name) as boss_server_name, -- 合服名
+                            MAX(merge_time) as merge_time , -- 合服时间
+                            MAX(sum_server_count) as sum_server_count, -- 合服次数
+                            SUM(server_combat_num) as server_combat_num, -- 区服战力
+                            MAX(super_game_id) as super_game_id , -- 超父游戏ID
+                            SUM(new_user_count) as new_user_count, -- 新用户人数
+                            SUM(create_role_count) as create_role_count, -- 创角人数
+                            SUM(role_count) as role_count, -- 角色数量
+                            SUM(total_num) as total_num, -- 总付费人数
+                            SUM(total_amount) as total_amount, -- 总付费金额
+                            SUM(ba1) as ba1, -- 今日付费金额
+                            SUM(ba1_num) as ba1_num, -- 今日付费人数
+                            SUM(ba1_count) as ba1_count, -- 今日付费次数
+                            SUM(ba1_active_num) as ba1_active_num, -- 今日活跃人数
+                            SUM(ba2) as ba2, -- 昨日付费金额
+                            SUM(ba2_num) as ba2_num, -- 昨日付费人数
+                            SUM(ba2_count) as ba2_count, -- 昨日付费次数
+                            SUM(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
+                            SUM(ba3) as ba3, -- 前天付费金额
+                            SUM(ba3_num) as ba3_num, -- 前天付费人数
+                            SUM(ba3_count) as ba3_count, -- 前天付费次数
+                            SUM(ba3_active_num) as ba3_active_num -- 前天活跃人数
+                        FROM (
+                            -- 子查询,查询每个子游戏-区服维度的信息
+                            SELECT
+                                source_system,
+                                server_id, -- 区服ID
+                                game_id, -- 子游戏ID
+                                MAX(game_name) as game_name, -- 子游戏名
+                                MAX(parent_game_id) as parent_game_id,
+                                MAX(parent_game_name) as parent_game_name,
+                                MAX(game_name) as game_name,
+                                MAX(server_name) as server_name, -- 区服名
+                                MAX(boss_server_id) as boss_server_id, -- 合服ID
+                                MAX(boss_server_name) as boss_server_name, -- 合服名
+                                MAX(merge_time) as merge_time , -- 合服时间
+                                MAX(sum_server_count) as sum_server_count, -- 合服次数
+                                MAX(server_combat_num) as server_combat_num, -- 区服战力
+                                MAX(super_game_id) as super_game_id , -- 超父游戏ID
+                                MAX(new_user_count) as new_user_count, -- 新用户人数
+                                MAX(create_role_count) as create_role_count, -- 创角人数
+                                MAX(role_count) as role_count, -- 角色数量
+                                MAX(total_num) as total_num, -- 总付费人数
+                                MAX(total_amount) as total_amount, -- 总付费金额
+                                MAX(ba1) as ba1, -- 今日付费金额
+                                MAX(ba1_num) as ba1_num, -- 今日付费人数
+                                MAX(ba1_count) as ba1_count, -- 今日付费次数
+                                MAX(ba1_active_num) as ba1_active_num, -- 今日活跃人数
+                                MAX(ba2) as ba2, -- 昨日付费金额
+                                MAX(ba2_num) as ba2_num, -- 昨日付费人数
+                                MAX(ba2_count) as ba2_count, -- 昨日付费次数
+                                MAX(ba2_active_num) as ba2_active_num, -- 昨日活跃人数
+                                MAX(ba3) as ba3, -- 前天付费金额
+                                MAX(ba3_num) as ba3_num, -- 前天付费人数
+                                MAX(ba3_count) as ba3_count, -- 前天付费次数
+                                MAX(ba3_active_num) as ba3_active_num -- 前天活跃人数
+                            FROM game_ads.ads_role_combat_num_ranking
+                            GROUP BY server_id, source_system , game_id
+                        ) a
+                        GROUP BY server_id, source_system , parent_game_id
+                    ) a
+                    LEFT JOIN (
+                        SELECT
+                            a.source_system as b_source_system,
+                            a.server_id as b_server_id,
+                            a.game_id as b_game_id,
+                            MAX(a.server_name) as server_name  ,
+                            MAX(a.main_server_id) as main_server_id,
+                            MAX(c.server_name) as main_server_name,
+                            MAX(a.son_server_ids) as son_server_ids ,
+                            GROUP_CONCAT(a.source_server_ids, ',') as source_server_ids,
+                            GROUP_CONCAT(b.server_name , ',') as source_server_ids_name
+                        FROM dm_game_order.t_game_server_merge a
+                        LEFT JOIN dm_game_order.t_game_server_merge b on a.source_system = b.source_system AND a.game_id = b.game_id AND a.source_server_ids = b.server_id
+                        LEFT JOIN (
+                            SELECT
+                                source_system ,
+                                game_id ,
+                                server_id  ,
+                                MAX(server_name) as server_name
+                            FROM dm_game_order.t_game_server_merge
+                            GROUP BY server_id ,source_system ,game_id
+                        ) c on a.source_system = c.source_system AND a.game_id = c.game_id AND a.main_server_id = c.server_id
+                        group by a.server_id , a.source_system , a.game_id
+                    ) b ON a.source_system = b.b_source_system AND a.super_game_id = b.b_game_id AND a.boss_server_id = b.b_server_id
+                """ + cri +
+                """
                 ) a
                 """;
     }
@@ -1638,94 +1562,71 @@ public class RoleManageServiceImpl implements IRoleManageService {
     private String getRoleCombatRankRoleDataSqlB() {
         return """
                 SELECT
-                *
+                	*
                 FROM (
                 	SELECT
-                		`date` as dt,
                 		source_system ,
                 		server_id ,
-                		server_name ,
-                		boss_server_id ,
-                		boss_server_name ,
-                		merge_time,
-                		game_id,
-                		game_name,
-                		parent_game_id,
-                		parent_game_name,
-                		super_game_id,
-                		super_game_name,
-                		role_id,
+                		parent_game_id ,
+                		dt,
+                		role_id ,
                 		role_name,
-                		role_level,
-                		combat_num,
+                		role_level ,
+                		role_vip ,
+                		combat_num ,
                 		ROW_NUMBER()over(partition by source_system ,server_id ,parent_game_id order by combat_num desc) as rank_num
-                	FROM game_ads.ads_role_combat_num_ranking
+                	FROM (
+                		SELECT
+                			source_system ,
+                			server_id ,
+                			parent_game_id ,
+                			MAX(`date`) as dt,
+                			role_id ,
+                			MAX(role_name) as role_name,
+                			MAX(role_level) as role_level ,
+                			MAX(role_vip) as role_vip ,
+                			MAX(combat_num) as combat_num
+                		FROM game_ads.ads_role_combat_num_ranking
+                		GROUP BY role_id , source_system ,parent_game_id ,server_id
+                	) a
                 ) a
                 """;
     }
 
     /**
-     * 合服-子游戏维度(角色排行相关信息)
+     * 合服-游戏维度(角色排行相关信息)
      * @return String
      */
-    private String getRoleCombatRankRoleDataSqlC() {
+    private String getRoleCombatRankRoleDataSqlD() {
         return """
                 SELECT
-                *
+                	*
                 FROM (
                 	SELECT
-                		`date` as dt,
                 		source_system ,
-                		server_id ,
-                		server_name ,
                 		boss_server_id ,
-                		boss_server_name ,
+                		parent_game_id ,
                 		merge_time,
-                		game_id,
-                		game_name,
-                		parent_game_id,
-                		parent_game_name,
-                		super_game_id,
-                		super_game_name,
-                		role_id,
+                		role_id ,
                 		role_name,
-                		role_level,
-                		combat_num,
-                		ROW_NUMBER()over(partition by source_system ,boss_server_id ,game_id order by combat_num desc) as rank_num
-                	FROM game_ads.ads_role_combat_num_ranking
-                ) a
-                """;
-    }
-
-    /**
-     * 合服-父游戏维度(角色排行相关信息)
-     * @return String
-     */
-    private String getRoleCombatRankRoleDataSqlD() {
-        return """
-                SELECT
-                 *
-                FROM (
-                 SELECT
-                     `date` as dt,
-                     source_system ,
-                     server_id ,
-                     server_name ,
-                     boss_server_id ,
-                     boss_server_name ,
-                     merge_time,
-                     game_id,
-                     game_name,
-                     parent_game_id,
-                     parent_game_name,
-                     super_game_id,
-                     super_game_name,
-                     role_id,
-                     role_name,
-                     role_level,
-                     combat_num,
-                     ROW_NUMBER()over(partition by source_system ,boss_server_id ,parent_game_id order by combat_num desc) as rank_num
-                 FROM game_ads.ads_role_combat_num_ranking
+                		role_level ,
+                		role_vip ,
+                		combat_num ,
+                		ROW_NUMBER()over(partition by source_system ,boss_server_id ,parent_game_id order by combat_num desc) as rank_num
+                	FROM (
+                		SELECT
+                			source_system ,
+                			boss_server_id ,
+                			parent_game_id ,
+                			MAX(merge_time) as merge_time ,
+                			role_id ,
+                			MAX(role_name) as role_name,
+                			MAX(role_level) as role_level ,
+                			MAX(role_vip) as role_vip ,
+                			MAX(combat_num) as combat_num
+                		FROM game_ads.ads_role_combat_num_ranking
+                		GROUP BY role_id , source_system ,parent_game_id ,boss_server_id
+                	) a
                 ) a
                 """;
     }

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

@@ -21,7 +21,7 @@ public class ManageApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(ManageApplication.class, args);
-        System.out.println("赞象Manage服务启动成功 <区服接口修改1> ( ´・・)ノ(._.`) \n" +
+        System.out.println("赞象Manage服务启动成功 <角色列表原始区服> ( ´・・)ノ(._.`) \n" +
                 "___  ___  ___   _   _   ___  _____  _____ \n" +
                 "|  \\/  | / _ \\ | \\ | | / _ \\|  __ \\|  ___|\n" +
                 "| .  . |/ /_\\ \\|  \\| |/ /_\\ \\ |  \\/| |__  \n" +

+ 1 - 1
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/GameUserRoleServiceImpl.java

@@ -209,7 +209,7 @@ public class GameUserRoleServiceImpl extends ServiceImpl<GameUserRoleMapper, Gam
         gameUserRoleListVO.setRegPayTimeDiff(DateUtils.getRegPayTimeDiff(gameUserRoleListVO.getRegTime(), gameUserRoleListVO.getLastRechargeTime()));
         //设置源服务器名称
         GameServer gameServer = gameServerService.getOne(new LambdaQueryWrapper<GameServer>()
-                .eq(GameServer::getGameId, gameUserRole.getGameId())
+                .eq(GameServer::getGameId, gameDTO.getSuperGameId())
                 .eq(GameServer::getServerId, gameUserRole.getServerId()));
         if (gameServer != null) {
             gameUserRoleListVO.setSourceServerName(gameServer.getServerName());