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(); }