Browse Source

修改内容:角色战力排行榜修改

lth 1 year ago
parent
commit
8c5e3c88d3

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

@@ -39,12 +39,6 @@ public class RoleCombatRankingDTO extends BasePage {
     @ApiModelProperty(value = "超父游戏ID(超父游戏)")
     private Long superParentGameId;
 
-    /**
-     * 是否超父游戏
-     */
-    @ApiModelProperty(value = "是否超父游戏:true -> 超父 ; false -> 不是超父")
-    private Boolean isSuperParentGame;
-
     /**
      * 区服ID(列表)
      */

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

@@ -49,7 +49,13 @@ public class RoleRechargeRankingDTO extends BasePage {
      * 区服ID(列表)
      */
     @ApiModelProperty(value = "区服ID(列表)")
-    private List<Long> serverIds;
+    private List<String> serverIds;
+
+    /**
+     * 是否合服
+     */
+    @ApiModelProperty(value = "是否合服:true -> 合服 ; false -> 不合服")
+    private Boolean isMergeServer;
 
     /**
      * 角色名

+ 19 - 4
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/RoleManageServiceImpl.java

@@ -48,6 +48,10 @@ public class RoleManageServiceImpl implements IRoleManageService {
      */
     @Override
     public Page<Map> getRoleRechargeRanking(RoleRechargeRankingDTO dto) {
+        //默认查询不合服的数据
+        if (dto.getIsMergeServer() == null) {
+            dto.setIsMergeServer(Boolean.FALSE);
+        }
         //创建查询条件 给主表使用
         Criteria criA = Cnd.cri();
         if (dto.getGameId() != null) {
@@ -66,9 +70,13 @@ public class RoleManageServiceImpl implements IRoleManageService {
         if (StringUtils.isNotBlank(dto.getRoleName())) {
             criA.where().andLike("role_name", dto.getRoleName());
         }
-        if (CollectionUtils.isNotEmpty(dto.getServerIds())) {
-            //区服列表查询
-            criA.where().andInList("server_id", dto.getServerIds());
+        if (CollectionUtils.isNotEmpty(dto.getServerIds()) && !dto.getIsMergeServer()) {
+            //区服列表查询,不合服的区服
+            criA.where().andIn("server_id", dto.getServerIds().toArray(String[]::new));
+        }
+        if (CollectionUtils.isNotEmpty(dto.getServerIds()) && dto.getIsMergeServer()) {
+            //合服区服列表查询
+            criA.where().andIn("merge_server_id", dto.getServerIds().toArray(String[]::new));
         }
         if (dto.getCreateRoleBeginDate() != null && dto.getCreateRoleEndDate() != null) {
             //角色创建时间
@@ -157,7 +165,10 @@ public class RoleManageServiceImpl implements IRoleManageService {
         //是否查询合服数据(默认查询不合服数据)
         Boolean isQueryMerge = dto.getIsMergeServer() != null && dto.getIsMergeServer();
         //是否查询超父游戏数据(默认查询父游戏数据)
-        Boolean isSuperParentGame = dto.getIsSuperParentGame() != null && dto.getIsSuperParentGame();
+        Boolean isSuperParentGame = false;
+        if (dto.getSuperParentGameId() != null) {
+            isSuperParentGame = true;
+        }
         //查询区服相关数据
         if (isQueryMerge) {
             if (isSuperParentGame) {
@@ -2364,6 +2375,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 		boss_server_id,
                 		parent_game_id ,
                 		super_game_id ,
+                		dt,
                 		merge_time,
                 		role_id ,
                 		role_name,
@@ -2378,6 +2390,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 			boss_server_id,
                 			parent_game_id ,
                 			super_game_id ,
+                			MAX(`date`) as dt,
                 			MAX(merge_time) as merge_time ,
                 			role_id ,
                 			MAX(role_name) as role_name,
@@ -2444,6 +2457,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 		source_system ,
                 		server_id ,
                 		super_game_id ,
+                		dt,
                 		merge_time,
                 		role_id ,
                 		role_name,
@@ -2456,6 +2470,7 @@ public class RoleManageServiceImpl implements IRoleManageService {
                 			source_system ,
                 			server_id ,
                 			super_game_id ,
+                			MAX(`date`) as dt,
                 			MAX(merge_time) as merge_time ,
                 			role_id ,
                 			MAX(role_name) as role_name,