From 9d88f8e08f52962de43421e100c44c32e0f32852 Mon Sep 17 00:00:00 2001 From: cengy Date: Wed, 9 Apr 2025 11:18:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(fb-sports):=20=E5=AE=9E=E7=8E=B0=20FB=20?= =?UTF-8?q?=E4=BD=93=E8=82=B2=E6=95=B0=E6=8D=AE=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 FB 体育类型枚举类 FBSportsType - 实现 FB 体育客户端接口,包括获取 token、订单文件列表和订单数据- 重构 FBSportsServiceImpl 类,支持按时间和历史时间获取投注记录 - 优化数据处理逻辑,实现批量插入功能 -移除不必要的定时任务配置 --- .../java/com/ff/base/enums/GamePlatforms.java | 2 + .../sports/fb/impl/FBSportsServiceImpl.java | 57 +++++++++++-------- 2 files changed, 35 insertions(+), 24 deletions(-) diff --git a/ff-base/src/main/java/com/ff/base/enums/GamePlatforms.java b/ff-base/src/main/java/com/ff/base/enums/GamePlatforms.java index 89a6973..bbe4be7 100644 --- a/ff-base/src/main/java/com/ff/base/enums/GamePlatforms.java +++ b/ff-base/src/main/java/com/ff/base/enums/GamePlatforms.java @@ -15,6 +15,8 @@ public enum GamePlatforms { AE("AE", "AE"), KM("KM", "KM"), PGT("PGT", "PGT"), + FBSports("FBSports", "FB体育"), + SV388("SV388", "SV388"), ; private final String code; diff --git a/ff-game/src/main/java/com/ff/sports/fb/impl/FBSportsServiceImpl.java b/ff-game/src/main/java/com/ff/sports/fb/impl/FBSportsServiceImpl.java index 8cc5533..01f3dfe 100644 --- a/ff-game/src/main/java/com/ff/sports/fb/impl/FBSportsServiceImpl.java +++ b/ff-game/src/main/java/com/ff/sports/fb/impl/FBSportsServiceImpl.java @@ -415,36 +415,45 @@ public class FBSportsServiceImpl implements IGamesService { * @return {@link Boolean } */ @Override - public Boolean exchangeTransferStatus(ExchangeTransferStatusRequestDTO requestDTO) { + public ExchangeTransferStatusResponseDTO exchangeTransferStatus(ExchangeTransferStatusRequestDTO requestDTO) { GameExchangeMoney gameExchangeMoney = gameExchangeMoneyService.selectGameExchangeMoneyById(requestDTO.getGameExchangeMoneyId()); if (null == gameExchangeMoney) { throw new ApiException(ErrorCode.Transfer_Not_Exist.getCode()); } - if (Objects.equals(gameExchangeMoney.getStatus(), StatusType.SUCCESS.getValue())) { - return Boolean.TRUE; + Integer status = StatusType.IN_PROGRESS.getValue(); + + if (!Objects.equals(gameExchangeMoney.getStatus(), StatusType.SUCCESS.getValue())) { + TransferDetailRequest request = new TransferDetailRequest(); + request.setMerchantUserId(requestDTO.getAccount()); + request.setTransferType(Objects.equals(gameExchangeMoney.getExchangeType(), TransferType.GAMES.getCode()) + ? "IN" : "OUT"); + long timestamp = System.currentTimeMillis(); + String jsonBody = request.toJSON(); + String sign = getSign(jsonBody, + requestDTO.getAgentId(), + requestDTO.getAgentKey(), + timestamp + ); + TransferDetailResponse response = fbSportsClient.transferDetail( + request, + sign, + timestamp, + requestDTO.getAgentId() + ); + if (this.isSuccess(response.getCode())) { + status = StatusType.SUCCESS.getValue(); + }else { + status = StatusType.FAILURE.getValue(); + } } - TransferDetailRequest request = new TransferDetailRequest(); - request.setMerchantUserId(requestDTO.getAccount()); - request.setTransferType(Objects.equals(gameExchangeMoney.getExchangeType(), TransferType.GAMES.getCode()) - ? "IN" : "OUT"); - long timestamp = System.currentTimeMillis(); - String jsonBody = request.toJSON(); - String sign = getSign(jsonBody, - requestDTO.getAgentId(), - requestDTO.getAgentKey(), - timestamp - ); - TransferDetailResponse response = fbSportsClient.transferDetail( - request, - sign, - timestamp, - requestDTO.getAgentId() - ); - if (this.isSuccess(response.getCode())) { - return Boolean.TRUE; - } - return Boolean.FALSE; + + return ExchangeTransferStatusResponseDTO.builder() + .statusType(status) + .balance(gameExchangeMoney.getBalance()) + .coinBefore(gameExchangeMoney.getCoinBefore()) + .coinAfter(gameExchangeMoney.getCoinAfter()) + .build(); }