Browse Source

修改内容:游戏列表接口

lth 1 year ago
parent
commit
e9a27af3a8

+ 36 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/GameListController.java

@@ -0,0 +1,36 @@
+package com.zanxiang.game.data.serve.controller;
+
+import com.zanxiang.erp.security.annotation.PreAuthorize;
+import com.zanxiang.game.data.serve.pojo.vo.GameListVO;
+import com.zanxiang.game.data.serve.service.IGameListService;
+import com.zanxiang.module.util.pojo.ResultVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author tianhua
+ * @time 2023/9/25
+ * @Description 游戏列表接口 查看所有游戏、父游戏、超父游戏列表(ZX_ONE)
+ **/
+@Api(tags = {"游戏展示列表"})
+@RestController
+@RequestMapping("/gameList")
+@Slf4j
+public class GameListController {
+
+    @Autowired
+    private IGameListService gameListService;
+
+    @ApiOperation(value = "所有游戏列表")
+    @PreAuthorize(permissionKey = "gameData:gameList:game")
+    @PostMapping("/game")
+    public ResultVO<GameListVO> getGameDataDay() {
+        return ResultVO.ok(gameListService.getGameList());
+    }
+
+}

+ 41 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameListVO.java

@@ -0,0 +1,41 @@
+package com.zanxiang.game.data.serve.pojo.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author tianhua
+ * @time 2023/9/25
+ * @Description 游戏列表VO
+ **/
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class GameListVO {
+
+    /**
+     * 游戏列表
+     */
+    @ApiModelProperty(value = "游戏列表")
+    private List<Map> gameList;
+
+    /**
+     * 父游戏列表
+     */
+    @ApiModelProperty(value = "父游戏列表")
+    private List<Map> parentGameList;
+
+    /**
+     * 超父游戏列表
+     */
+    @ApiModelProperty(value = "超父游戏列表")
+    private List<Map> superGameList;
+
+}

+ 9 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/IGameListService.java

@@ -0,0 +1,9 @@
+package com.zanxiang.game.data.serve.service;
+
+import com.zanxiang.game.data.serve.pojo.vo.GameListVO;
+
+public interface IGameListService {
+
+    GameListVO getGameList();
+
+}

+ 86 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameListServiceImpl.java

@@ -0,0 +1,86 @@
+package com.zanxiang.game.data.serve.service.impl;
+
+import com.zanxiang.game.data.serve.pojo.vo.GameListVO;
+import com.zanxiang.game.data.serve.service.IGameListService;
+import lombok.extern.slf4j.Slf4j;
+import org.nutz.dao.Dao;
+import org.nutz.dao.Sqls;
+import org.nutz.dao.sql.Sql;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * @author tianhua
+ * @time 2023/9/25
+ * @Description
+ **/
+@Service
+@Slf4j
+public class GameListServiceImpl implements IGameListService {
+
+    @Autowired
+    private Dao dao;
+
+    @Override
+    public GameListVO getGameList() {
+        //查询游戏列表
+        Sql gameListSql = Sqls.create("""
+                SELECT
+                	game_name ,
+                	id
+                FROM dm_game_order.t_game
+                WHERE source_system = 'ZX_ONE';
+                """);
+        gameListSql.setCallback(Sqls.callback.maps());
+        dao.execute(gameListSql);
+
+        //查询父游戏列表
+        Sql parentGameListSql = Sqls.create("""
+                SELECT
+                	parent_game_id,
+                	parent_game_name
+                FROM (
+                	SELECT
+                		a.source_system ,
+                		IFNULL(a.parent_id, a.id) as parent_game_id ,
+                		IFNULL(b.game_name, a.game_name ) as parent_game_name
+                	FROM dm_game_order.t_game a
+                	LEFT JOIN dm_game_order.t_game b
+                	on a.source_system = b.source_system AND a.parent_id = b.id
+                ) a
+                WHERE a.source_system = 'ZX_ONE'
+                GROUP BY parent_game_id, source_system, parent_game_name;
+                """);
+        parentGameListSql.setCallback(Sqls.callback.maps());
+        dao.execute(parentGameListSql);
+
+        //查询超父游戏列表
+        Sql superGameListSql = Sqls.create("""
+                SELECT
+                	super_game_id,
+                	super_game_name
+                FROM (
+                	SELECT
+                		a.source_system ,
+                		IFNULL(a.super_game_id, a.id) as super_game_id ,
+                		IFNULL(b.name, a.game_name ) as super_game_name
+                	FROM dm_game_order.t_game a
+                	LEFT JOIN dm_game_order.t_game_super b
+                	on a.source_system = b.source_system AND a.super_game_id = b.id
+                ) a
+                WHERE a.source_system = 'ZX_ONE'
+                GROUP BY super_game_id, source_system, super_game_name;
+                """);
+        superGameListSql.setCallback(Sqls.callback.maps());
+        dao.execute(superGameListSql);
+
+        return GameListVO.builder()
+                .gameList(gameListSql.getList(Map.class))
+                .parentGameList(parentGameListSql.getList(Map.class))
+                .superGameList(superGameListSql.getList(Map.class))
+                .build();
+    }
+
+}