ソースを参照

游戏所有区服列表

Letianhua 1 年間 前
コミット
15af1d3300

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

@@ -57,7 +57,7 @@ public class AdsGameServerController {
     }
 
     @ApiOperation(value = "游戏区服每日数据总计一栏")
-    //@PreAuthorize(permissionKey = "gameServer:GameServerSumDay:dayTotal")
+    @PreAuthorize(permissionKey = "gameServer:GameServerSumDay:dayTotal")
     @PostMapping("sum/day/total")
     public ResultVO<GameServerSumDayTotalVO> getGameServerDataSumDayTotal(@RequestBody GameServerSumDayTotalDTO dto) {
         return ResultVO.ok(gameServerService.getGameServerDataSumDayTotal(dto));

+ 12 - 4
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/ChoiceListController.java

@@ -2,10 +2,8 @@ package com.zanxiang.game.data.serve.controller;
 
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.game.data.serve.pojo.dto.ChoiceListDTO;
-import com.zanxiang.game.data.serve.pojo.vo.AccountListVO;
-import com.zanxiang.game.data.serve.pojo.vo.AgentListVO;
-import com.zanxiang.game.data.serve.pojo.vo.GameListVO;
-import com.zanxiang.game.data.serve.pojo.vo.PitcherListVO;
+import com.zanxiang.game.data.serve.pojo.dto.GameServerListDTO;
+import com.zanxiang.game.data.serve.pojo.vo.*;
 import com.zanxiang.game.data.serve.service.*;
 import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
@@ -43,6 +41,9 @@ public class ChoiceListController {
     @Autowired
     private IVipLevelService vipLevelService;
 
+    @Autowired
+    private IGameServerService gameServerService;
+
     @ApiOperation(value = "所有游戏列表")
     @PreAuthorize(permissionKey = "gameData:choice:gameList")
     @PostMapping("/game/list")
@@ -78,4 +79,11 @@ public class ChoiceListController {
         return ResultVO.ok(vipLevelService.getMaxVipLevel());
     }
 
+    @ApiOperation(value = "所有区服列表(原始区服)")
+    @PreAuthorize(permissionKey = "gameData:choice:gameServerList")
+    @PostMapping("/gameServer/list")
+    public ResultVO<List<GameServerVO>> getPitcherList(@RequestBody GameServerListDTO dto) {
+        return ResultVO.ok(gameServerService.getAllGameServer(dto));
+    }
+
 }

+ 42 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/GameServerListDTO.java

@@ -0,0 +1,42 @@
+package com.zanxiang.game.data.serve.pojo.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @author tianhua
+ * @version 1.0
+ * @description: 游戏区服下拉列表刷选
+ * @date 2023/11/3 16:24
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameServerListDTO {
+
+    /**
+     * SDK来源
+     */
+    @ApiModelProperty(value = "SDK来源")
+    private String sourceSystem;
+
+    /**
+     * 游戏ID
+     */
+    @ApiModelProperty(value = "游戏ID")
+    private List<Long> gameId;
+
+    /**
+     * 父游戏ID
+     */
+    @ApiModelProperty(value = "父游戏ID")
+    private List<Long> parentGameId;
+
+
+}

+ 50 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameServerVO.java

@@ -0,0 +1,50 @@
+package com.zanxiang.game.data.serve.pojo.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author tianhua
+ * @version 1.0
+ * @description: 游戏区服列表数据
+ * @date 2024/1/5 10:59
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameServerVO {
+
+    /**
+     * SDK来源
+     */
+    private String sourceSystem;
+
+    /**
+     * 子游戏ID
+     */
+    private Long gameId;
+
+    /**
+     * 子游戏名称
+     */
+    private String gameName;
+
+    /**
+     * 父游戏ID
+     */
+    private Long parentGameId;
+
+    /**
+     * 区服ID
+     */
+    private String serverId;
+
+    /**
+     * 区服名称
+     */
+    private String serverName;
+
+}

+ 12 - 8
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGameServerService.java

@@ -1,15 +1,12 @@
 package com.zanxiang.game.data.serve.service;
 
-import com.zanxiang.game.data.serve.pojo.dto.GameServerDayDTO;
-import com.zanxiang.game.data.serve.pojo.dto.GameServerDayTotalDTO;
-import com.zanxiang.game.data.serve.pojo.dto.GameServerSumDayDTO;
-import com.zanxiang.game.data.serve.pojo.dto.GameServerSumDayTotalDTO;
-import com.zanxiang.game.data.serve.pojo.vo.GameServerDayTotalVO;
-import com.zanxiang.game.data.serve.pojo.vo.GameServerDayVO;
-import com.zanxiang.game.data.serve.pojo.vo.GameServerSumDayTotalVO;
-import com.zanxiang.game.data.serve.pojo.vo.GameServerSumDayVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zanxiang.game.data.serve.pojo.dto.*;
+import com.zanxiang.game.data.serve.pojo.vo.*;
 import com.zanxiang.game.data.serve.utils.Page;
 
+import java.util.List;
+
 public interface IGameServerService {
 
     /**
@@ -40,4 +37,11 @@ public interface IGameServerService {
      */
     GameServerSumDayTotalVO getGameServerDataSumDayTotal(GameServerSumDayTotalDTO dto);
 
+    /**
+     * 得到所有区服列表
+     * @param dto
+     * @return
+     */
+    List<GameServerVO> getAllGameServer(GameServerListDTO dto);
+
 }

+ 55 - 12
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameServerServiceImpl.java

@@ -2,10 +2,7 @@ package com.zanxiang.game.data.serve.service.impl;
 
 import com.google.common.base.CaseFormat;
 import com.zanxiang.game.data.serve.component.DataPowerComponent;
-import com.zanxiang.game.data.serve.pojo.dto.GameServerDayDTO;
-import com.zanxiang.game.data.serve.pojo.dto.GameServerDayTotalDTO;
-import com.zanxiang.game.data.serve.pojo.dto.GameServerSumDayDTO;
-import com.zanxiang.game.data.serve.pojo.dto.GameServerSumDayTotalDTO;
+import com.zanxiang.game.data.serve.pojo.dto.*;
 import com.zanxiang.game.data.serve.pojo.entity.AdsGameServerDay;
 import com.zanxiang.game.data.serve.pojo.entity.AdsGameServerSumDay;
 import com.zanxiang.game.data.serve.pojo.enums.OrderByEnum;
@@ -13,6 +10,7 @@ import com.zanxiang.game.data.serve.pojo.vo.*;
 import com.zanxiang.game.data.serve.service.IGameServerService;
 import com.zanxiang.game.data.serve.utils.Page;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.nutz.dao.Cnd;
 import org.nutz.dao.Dao;
@@ -22,7 +20,6 @@ import org.nutz.dao.sql.Criteria;
 import org.nutz.dao.sql.Sql;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
 import reactor.util.function.Tuple2;
 import reactor.util.function.Tuples;
 
@@ -373,18 +370,14 @@ public class GameServerServiceImpl implements IGameServerService {
      */
     @Override
     public GameServerSumDayTotalVO getGameServerDataSumDayTotal(GameServerSumDayTotalDTO dto) {
-        /*com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo();
-        List<Long> gameIds = dto.getGameId() == null ? poerInfo.second : Collections.singletonList(dto.getGameId());*/
+        com.github.sd4324530.jtuple.Tuple2<List<Long>, List<Long>> poerInfo = dataPowerComponent.getPowerInfo();
+        List<Long> gameIds = dto.getGameId() == null ? poerInfo.second : Collections.singletonList(dto.getGameId());
 
         //创建查询条件
         Criteria cri = Cnd.cri();
-        /*if (gameIds != null) {
+        if (gameIds != null) {
             //拼接游戏ID查询条件
             cri.where().andInList("game_id", gameIds);
-        }*/
-        if (dto.getGameId() != null) {
-            //拼接游戏ID查询条件
-            cri.where().andEquals("game_id", dto.getGameId());
         }
         if (dto.getBeginDate() != null && dto.getEndDate() != null) {
             //拼接开服时间查询条件
@@ -410,6 +403,33 @@ public class GameServerServiceImpl implements IGameServerService {
         return vo;
     }
 
+    @Override
+    public List<GameServerVO> getAllGameServer(GameServerListDTO dto) {
+        if (StringUtils.isBlank(dto.getSourceSystem())) {
+            dto.setSourceSystem("ZX_ONE");
+        }
+        //创建查询条件
+        Criteria cri = Cnd.cri();
+        if (StringUtils.isNotBlank(dto.getSourceSystem())) {
+            cri.where().andEquals("source_system", dto.getSourceSystem());
+        }
+        if (CollectionUtils.isNotEmpty(dto.getGameId())) {
+            cri.where().andInList("game_id", dto.getGameId());
+        }
+        if (CollectionUtils.isNotEmpty(dto.getParentGameId())) {
+            cri.where().andInList("parent_game_id", dto.getParentGameId());
+        }
+        //排序条件
+        cri.getOrderBy().orderBy("game_id", OrderByEnum.ASC.getOrderType());
+        cri.getOrderBy().orderBy("create_time", OrderByEnum.ASC.getOrderType());
+
+        Sql sql = Sqls.create(gameServerSql() + cri);
+        sql.setCallback(Sqls.callback.entities());
+        sql.setEntity(dao.getEntity(GameServerVO.class));
+        dao.execute(sql);
+        return sql.getList(GameServerVO.class);
+    }
+
     /**
      * 将vo中的原始String数据修改为一个对象
      * @param vo 展示给前端的游戏区服数据
@@ -1394,5 +1414,28 @@ public class GameServerServiceImpl implements IGameServerService {
                         """;
     }
 
+    /**
+     * 获取所有区服sql
+     * @return
+     */
+    private String gameServerSql() {
+        return """
+                SELECT
+                    *
+                FROM (
+                    SELECT
+                        a.source_system ,
+                        a.game_id ,
+                        a.game_name ,
+                        a.server_id ,
+                        a.server_name ,
+                        IFNULL(b.parent_id , a.game_id ) as parent_game_id,
+                        a.create_time
+                    FROM dm_game_order.t_game_server a
+                    LEFT JOIN dm_game_order.t_game b on a.source_system = b.source_system AND a.game_id = b.id
+                ) a
+                """;
+    }
+
 
 }