From 0a2b408c2bf32e301d64bbb61bbb4a4085868d9d Mon Sep 17 00:00:00 2001 From: shi Date: Mon, 17 Feb 2025 11:28:17 +0800 Subject: [PATCH] =?UTF-8?q?refactor(game):=20=E9=87=8D=E6=9E=84=E6=B8=B8?= =?UTF-8?q?=E6=88=8F=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E5=92=8C=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 GameResponse 类用于游戏列表响应- 更新 Game 和 GamePlatform 类,移除不必要的字段 - 修改 GameMapper 和 GamePlatformMapper 接口,增加新的查询方法 - 更新 XML 文件,调整 SQL 查询和结果映射 - 优化 GameServiceImpl 和 IGameService 接口,支持新的游戏列表查询 --- .../ff/api/controller/ApiGameController.java | 24 +++++++- .../com/ff/api/response/GameResponse.java | 57 +++++++++++++++++++ .../main/java/com/ff/game/domain/Game.java | 8 +-- .../ff/game/domain/GameBettingDetails.java | 2 +- .../java/com/ff/game/domain/GamePlatform.java | 14 ++--- .../java/com/ff/game/mapper/GameMapper.java | 8 +++ .../com/ff/game/service/IGameService.java | 8 +++ .../ff/game/service/impl/GameServiceImpl.java | 12 ++++ .../main/resources/mapper/game/GameMapper.xml | 31 +++++++--- .../mapper/game/GamePlatformMapper.xml | 7 +-- .../target/classes/mapper/game/GameMapper.xml | 31 +++++++--- .../mapper/game/GamePlatformMapper.xml | 7 +-- .../java/com/ff/base/enums/JILIGameType.java | 20 +++---- .../java/com/ff/base/enums/XKGameType.java | 20 +++---- 14 files changed, 189 insertions(+), 60 deletions(-) create mode 100644 ff-admin/src/main/java/com/ff/api/response/GameResponse.java diff --git a/ff-admin/src/main/java/com/ff/api/controller/ApiGameController.java b/ff-admin/src/main/java/com/ff/api/controller/ApiGameController.java index 5b66423..533bcd5 100644 --- a/ff-admin/src/main/java/com/ff/api/controller/ApiGameController.java +++ b/ff-admin/src/main/java/com/ff/api/controller/ApiGameController.java @@ -7,6 +7,7 @@ import com.dtflys.forest.annotation.Post; import com.ff.annotation.CheckHeader; import com.ff.api.request.*; import com.ff.api.response.GameExchangeBalanceResponse; +import com.ff.api.response.GameResponse; import com.ff.api.response.MemberInfoAllResponse; import com.ff.base.constant.Constants; import com.ff.base.core.controller.BaseController; @@ -50,6 +51,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; +import java.util.stream.Collectors; /** * api控制器 @@ -103,6 +105,26 @@ public class ApiGameController extends BaseController { @Qualifier("threadPoolTaskExecutor") private ThreadPoolTaskExecutor threadPoolTaskExecutor; + + /** + * 列表 + * + * @return {@link AjaxResult } + */ + @PostMapping("/list") + public AjaxResult list() { + List gameResponses = gameService.selectGameResponseList(); + for (GameResponse gameRespons : gameResponses) { + List gameSecretKeys = gameSecretKeyService.selectGameSecretKeyList(GameSecretKey.builder() + .platform(gameRespons.getPlatformCode()) + .build()); + List currencyCode = gameSecretKeys.stream().map(GameSecretKey::getSystemCode).collect(Collectors.toList()); + gameRespons.setCurrencyCode(currencyCode); + } + return AjaxResult.success(gameResponses); + } + + /** * 登录 * @@ -145,7 +167,7 @@ public class ApiGameController extends BaseController { String login = iGamesService.loginWithoutRedirect(gamesLogin); - return AjaxResult.success("操作成功",login); + return AjaxResult.success("操作成功", login); } diff --git a/ff-admin/src/main/java/com/ff/api/response/GameResponse.java b/ff-admin/src/main/java/com/ff/api/response/GameResponse.java new file mode 100644 index 0000000..84b84d0 --- /dev/null +++ b/ff-admin/src/main/java/com/ff/api/response/GameResponse.java @@ -0,0 +1,57 @@ +package com.ff.api.response; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +/** + * 会员金额转移记录对象 ff_game_exchange_money + * + * @author shi + * @date 2025-02-12 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class GameResponse implements Serializable { + private static final long serialVersionUID = 7932597077733961820L; + + + /** + * 游戏id + */ + private Long id; + + /** + * 游戏名称 + */ + private String gameName; + /** + * 是否支持免费 + */ + private Boolean freeSpin; + /** + * 是否支持试玩 + */ + private Boolean demoStatus; + /** + * 平台代码 + */ + private String platformCode; + /** + * 平台类型 + */ + private Integer platformType; + + /** + * 支持货币代码 + */ + private List currencyCode; + +} diff --git a/ff-admin/src/main/java/com/ff/game/domain/Game.java b/ff-admin/src/main/java/com/ff/game/domain/Game.java index 1095607..4431765 100644 --- a/ff-admin/src/main/java/com/ff/game/domain/Game.java +++ b/ff-admin/src/main/java/com/ff/game/domain/Game.java @@ -52,13 +52,11 @@ public class Game extends BaseEntity @Excel(name = "是否支持试玩 0关闭 1开启") private Boolean demoStatus; - /** 维护开关 维护状态 0关闭 1开启 */ - @Excel(name = "维护开关 维护状态 0关闭 1开启") + /** 维护开关 维护状态 */ + @Excel(name = "维护开关 ") private Boolean stopStatus; - /** 游戏开关 平台开关状态 0关闭 1开启 */ - @Excel(name = "游戏开关 平台开关状态 0关闭 1开启") - private Boolean gameStatus; + } diff --git a/ff-admin/src/main/java/com/ff/game/domain/GameBettingDetails.java b/ff-admin/src/main/java/com/ff/game/domain/GameBettingDetails.java index 5c708ab..774a8d3 100644 --- a/ff-admin/src/main/java/com/ff/game/domain/GameBettingDetails.java +++ b/ff-admin/src/main/java/com/ff/game/domain/GameBettingDetails.java @@ -43,7 +43,7 @@ public class GameBettingDetails extends BaseEntity /** 游戏类型 ff_game_type 字典 */ @Excel(name = "游戏类型 ff_game_type 字典") - private Long gameType; + private Integer gameType; /** 游戏平台 */ @Excel(name = "游戏平台 ") diff --git a/ff-admin/src/main/java/com/ff/game/domain/GamePlatform.java b/ff-admin/src/main/java/com/ff/game/domain/GamePlatform.java index a24b3c1..022ac7e 100644 --- a/ff-admin/src/main/java/com/ff/game/domain/GamePlatform.java +++ b/ff-admin/src/main/java/com/ff/game/domain/GamePlatform.java @@ -34,19 +34,19 @@ public class GamePlatform extends BaseEntity /** 平台类型 ff_game_type 字典 */ @Excel(name = "平台类型 ff_game_platform_type 字典") - private Long platformType; + private Integer platformType; /** 平台名称 */ @Excel(name = "平台名称") private String platformName; - /** 维护开关 维护状态 1 开启 2关闭 */ - @Excel(name = "维护开关 维护状态 1 开启 2关闭") - private Integer stopStatus; + /** 维护开关 维护状态 */ + @Excel(name = "维护开关 维护状态 ") + private Boolean stopStatus; - /** 平台开关 平台开关状态 1 开启 2关闭 */ - @Excel(name = "平台开关 平台开关状态 1 开启 2关闭") - private Integer platformStatus; + /** 平台开关 平台开关状态 */ + @Excel(name = "平台开关 平台开关状态 ") + private Boolean platformStatus; diff --git a/ff-admin/src/main/java/com/ff/game/mapper/GameMapper.java b/ff-admin/src/main/java/com/ff/game/mapper/GameMapper.java index c843375..6a4384c 100644 --- a/ff-admin/src/main/java/com/ff/game/mapper/GameMapper.java +++ b/ff-admin/src/main/java/com/ff/game/mapper/GameMapper.java @@ -2,6 +2,7 @@ package com.ff.game.mapper; import java.util.List; +import com.ff.api.response.GameResponse; import com.ff.game.api.request.GameUniqueDTO; import com.ff.game.domain.Game; @@ -79,4 +80,11 @@ public interface GameMapper */ List selectGameUniqueList(GameUniqueDTO gameUniqueDTO); + /** + * 选择游戏响应列表 + * + * @return {@link List }<{@link GameResponse }> + */ + List selectGameResponseList(); + } diff --git a/ff-admin/src/main/java/com/ff/game/service/IGameService.java b/ff-admin/src/main/java/com/ff/game/service/IGameService.java index 6ab7108..c0eb6b9 100644 --- a/ff-admin/src/main/java/com/ff/game/service/IGameService.java +++ b/ff-admin/src/main/java/com/ff/game/service/IGameService.java @@ -2,6 +2,7 @@ package com.ff.game.service; import java.util.List; +import com.ff.api.response.GameResponse; import com.ff.game.api.request.GameUniqueDTO; import com.ff.game.domain.Game; @@ -77,5 +78,12 @@ public interface IGameService */ List selectGameUniqueList(GameUniqueDTO gameUniqueDTO); + /** + * 选择游戏响应列表 + * + * @return {@link List }<{@link GameResponse }> + */ + List selectGameResponseList(); + } diff --git a/ff-admin/src/main/java/com/ff/game/service/impl/GameServiceImpl.java b/ff-admin/src/main/java/com/ff/game/service/impl/GameServiceImpl.java index 62c1a0b..a76695c 100644 --- a/ff-admin/src/main/java/com/ff/game/service/impl/GameServiceImpl.java +++ b/ff-admin/src/main/java/com/ff/game/service/impl/GameServiceImpl.java @@ -1,7 +1,9 @@ package com.ff.game.service.impl; +import java.util.Collections; import java.util.List; +import com.ff.api.response.GameResponse; import com.ff.base.constant.ConfigConstants; import com.ff.base.utils.DateUtils; import com.ff.game.api.request.GameUniqueDTO; @@ -128,5 +130,15 @@ public class GameServiceImpl implements IGameService return gameMapper.selectGameUniqueList(gameUniqueDTO); } + /** + * 选择游戏响应列表 + * + * @return {@link List }<{@link GameResponse }> + */ + @Override + public List selectGameResponseList() { + return gameMapper.selectGameResponseList(); + } + } diff --git a/ff-admin/src/main/resources/mapper/game/GameMapper.xml b/ff-admin/src/main/resources/mapper/game/GameMapper.xml index 5c91e38..f25d8b8 100644 --- a/ff-admin/src/main/resources/mapper/game/GameMapper.xml +++ b/ff-admin/src/main/resources/mapper/game/GameMapper.xml @@ -14,7 +14,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - @@ -22,7 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, sort_no, platform_id, game_code, game_source_type, game_name, freespin, demo_status, stop_status, game_status, create_by, create_time, update_by, update_time from ff_game + select id, sort_no, platform_id, game_code, game_source_type, game_name, freespin, demo_status, stop_status, create_by, create_time, update_by, update_time from ff_game @@ -56,7 +54,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" freespin, demo_status, stop_status, - game_status, create_by, create_time, update_by, @@ -71,7 +68,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{freespin}, #{demoStatus}, #{stopStatus}, - #{gameStatus}, #{createBy}, #{createTime}, #{updateBy}, @@ -90,7 +86,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" freespin = #{freespin}, demo_status = #{demoStatus}, stop_status = #{stopStatus}, - game_status = #{gameStatus}, create_by = #{createBy}, create_time = #{createTime}, update_by = #{updateBy}, @@ -117,6 +112,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where platform_id = #{platformId} + + + + + + + + + + + + @@ -30,7 +29,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and platform_type = #{platformType} and platform_name like concat('%', #{platformName}, '%') and stop_status = #{stopStatus} - and platform_status = #{platformStatus} @@ -47,7 +45,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" platform_type, platform_name, stop_status, - platform_status, create_by, create_time, update_by, @@ -59,7 +56,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{platformType}, #{platformName}, #{stopStatus}, - #{platformStatus}, #{createBy}, #{createTime}, #{updateBy}, @@ -75,7 +71,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" platform_type = #{platformType}, platform_name = #{platformName}, stop_status = #{stopStatus}, - platform_status = #{platformStatus}, create_by = #{createBy}, create_time = #{createTime}, update_by = #{updateBy}, diff --git a/ff-admin/target/classes/mapper/game/GameMapper.xml b/ff-admin/target/classes/mapper/game/GameMapper.xml index 5c91e38..f25d8b8 100644 --- a/ff-admin/target/classes/mapper/game/GameMapper.xml +++ b/ff-admin/target/classes/mapper/game/GameMapper.xml @@ -14,7 +14,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - @@ -22,7 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, sort_no, platform_id, game_code, game_source_type, game_name, freespin, demo_status, stop_status, game_status, create_by, create_time, update_by, update_time from ff_game + select id, sort_no, platform_id, game_code, game_source_type, game_name, freespin, demo_status, stop_status, create_by, create_time, update_by, update_time from ff_game @@ -56,7 +54,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" freespin, demo_status, stop_status, - game_status, create_by, create_time, update_by, @@ -71,7 +68,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{freespin}, #{demoStatus}, #{stopStatus}, - #{gameStatus}, #{createBy}, #{createTime}, #{updateBy}, @@ -90,7 +86,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" freespin = #{freespin}, demo_status = #{demoStatus}, stop_status = #{stopStatus}, - game_status = #{gameStatus}, create_by = #{createBy}, create_time = #{createTime}, update_by = #{updateBy}, @@ -117,6 +112,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where platform_id = #{platformId} + + + + + + + + + + + + @@ -30,7 +29,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and platform_type = #{platformType} and platform_name like concat('%', #{platformName}, '%') and stop_status = #{stopStatus} - and platform_status = #{platformStatus} @@ -47,7 +45,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" platform_type, platform_name, stop_status, - platform_status, create_by, create_time, update_by, @@ -59,7 +56,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{platformType}, #{platformName}, #{stopStatus}, - #{platformStatus}, #{createBy}, #{createTime}, #{updateBy}, @@ -75,7 +71,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" platform_type = #{platformType}, platform_name = #{platformName}, stop_status = #{stopStatus}, - platform_status = #{platformStatus}, create_by = #{createBy}, create_time = #{createTime}, update_by = #{updateBy}, diff --git a/ff-base/src/main/java/com/ff/base/enums/JILIGameType.java b/ff-base/src/main/java/com/ff/base/enums/JILIGameType.java index 9d29fc5..5341f62 100644 --- a/ff-base/src/main/java/com/ff/base/enums/JILIGameType.java +++ b/ff-base/src/main/java/com/ff/base/enums/JILIGameType.java @@ -12,18 +12,18 @@ import java.util.stream.Stream; */ public enum JILIGameType { - ELECTRON(1, 1L,"电子"), - CHESS(2, 2L,"棋牌"), - GAME_HALL(3, 3L,"游戏大厅"), - CATCH_FISH(5, 4L,"捕鱼"), - MACHINE(8, 5L,"押分机 (含宾果)") + ELECTRON(1, 1,"电子"), + CHESS(2, 2,"棋牌"), + GAME_HALL(3, 3,"游戏大厅"), + CATCH_FISH(5, 4,"捕鱼"), + MACHINE(8, 5,"押分机 (含宾果)") ; private final Integer code; - private final Long systemCode; + private final Integer systemCode; private final String info; - JILIGameType(Integer code,Long systemCode, String info) + JILIGameType(Integer code,Integer systemCode, String info) { this.code = code; this.systemCode = systemCode; @@ -35,7 +35,7 @@ public enum JILIGameType { return code; } - public Long getSystemCode() + public Integer getSystemCode() { return systemCode; } @@ -49,8 +49,8 @@ public enum JILIGameType { * @param code 代码 * @return {@link String } */ - public static Long findSystemByCode(Integer code) { - Optional system = Stream.of(JILIGameType.values()) + public static Integer findSystemByCode(Integer code) { + Optional system = Stream.of(JILIGameType.values()) .filter(gameType -> gameType.getCode().equals(code)) .map(JILIGameType::getSystemCode) .findFirst(); diff --git a/ff-base/src/main/java/com/ff/base/enums/XKGameType.java b/ff-base/src/main/java/com/ff/base/enums/XKGameType.java index eac2aaf..f2df3c6 100644 --- a/ff-base/src/main/java/com/ff/base/enums/XKGameType.java +++ b/ff-base/src/main/java/com/ff/base/enums/XKGameType.java @@ -13,18 +13,18 @@ import java.util.stream.Stream; */ public enum XKGameType { - ELECTRON(1, 1L,"电子"), - CHESS(2, 2L,"棋牌"), - GAME_HALL(3, 3L,"游戏大厅"), - CATCH_FISH(5, 4L,"捕鱼"), - MACHINE(8, 5L,"押分机 (含宾果)") + ELECTRON(1, 1,"电子"), + CHESS(2, 2,"棋牌"), + GAME_HALL(3, 3,"游戏大厅"), + CATCH_FISH(5, 4,"捕鱼"), + MACHINE(8, 5,"押分机 (含宾果)") ; private final Integer code; - private final Long systemCode; + private final Integer systemCode; private final String info; - XKGameType(Integer code, Long systemCode, String info) + XKGameType(Integer code, Integer systemCode, String info) { this.code = code; this.systemCode = systemCode; @@ -36,7 +36,7 @@ public enum XKGameType { return code; } - public Long getSystemCode() + public Integer getSystemCode() { return systemCode; } @@ -50,8 +50,8 @@ public enum XKGameType { * @param code 代码 * @return {@link String } */ - public static Long findSystemByCode(Integer code) { - Optional system = Stream.of(XKGameType.values()) + public static Integer findSystemByCode(Integer code) { + Optional system = Stream.of(XKGameType.values()) .filter(gameType -> gameType.getCode().equals(code)) .map(XKGameType::getSystemCode) .findFirst();