From 537b23a420dcc642b9b5bbf641935b88e7b819a1 Mon Sep 17 00:00:00 2001 From: shi Date: Fri, 11 Apr 2025 11:03:24 +0800 Subject: [PATCH] =?UTF-8?q?refactor(ff-game):=20=E9=87=8D=E6=9E=84=20FB=20?= =?UTF-8?q?=E5=92=8C=20SV388=20=E5=B9=B3=E5=8F=B0=E7=9A=84=E8=BD=AC?= =?UTF-8?q?=E8=B4=A6=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除 FBSports 和 SV388 平台的重复代码 - 优化交易 ID 生成逻辑,支持不同平台的格式 -调整 CreateOrderServiceImpl 中的平台判断逻辑 - 重构 FBSportsServiceImpl 和 SV388GamesServiceImpl 中的转账方法 --- .../exchange/impl/CreateOrderServiceImpl.java | 4 +++ .../api/sv388/impl/SV388GamesServiceImpl.java | 32 ++----------------- .../sports/fb/impl/FBSportsServiceImpl.java | 28 ++-------------- 3 files changed, 10 insertions(+), 54 deletions(-) diff --git a/ff-game/src/main/java/com/ff/game/api/exchange/impl/CreateOrderServiceImpl.java b/ff-game/src/main/java/com/ff/game/api/exchange/impl/CreateOrderServiceImpl.java index 15701b0..4f31570 100644 --- a/ff-game/src/main/java/com/ff/game/api/exchange/impl/CreateOrderServiceImpl.java +++ b/ff-game/src/main/java/com/ff/game/api/exchange/impl/CreateOrderServiceImpl.java @@ -103,6 +103,10 @@ public class CreateOrderServiceImpl extends AbstractStepProcessor { return GamePlatforms.KM.getInfo() + IdUtils.simpleUUID(); case PGT: return gameExchangeMoneyService.getTransactionId(GamePlatforms.PGT.getInfo(), 17); + case FBSports: + return GamePlatforms.FBSports.getCode() + IdUtils.simpleUUID(); + case SV388: + return GamePlatforms.SV388.getCode() + IdUtils.simpleUUID(); } throw new ApiException(ErrorCode.PLATFORM_NOT_EXIST.getCode()); } diff --git a/ff-game/src/main/java/com/ff/game/api/sv388/impl/SV388GamesServiceImpl.java b/ff-game/src/main/java/com/ff/game/api/sv388/impl/SV388GamesServiceImpl.java index b2ca059..4c17c2e 100644 --- a/ff-game/src/main/java/com/ff/game/api/sv388/impl/SV388GamesServiceImpl.java +++ b/ff-game/src/main/java/com/ff/game/api/sv388/impl/SV388GamesServiceImpl.java @@ -229,34 +229,8 @@ public class SV388GamesServiceImpl implements IGamesService { @Transactional public Long exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO) { - Member member = memberService.selectMemberByGameAccount(exchangeTransferMoneyRequestDTO.getAccount()); - String transactionId = GamePlatforms.SV388.getCode() + IdUtils.simpleUUID(); - List gameExchangeMonies = gameExchangeMoneyService.selectGameExchangeMoneyList( - GameExchangeMoney.builder() - .tenantKey(exchangeTransferMoneyRequestDTO.getTenantKey()) - .orderId(exchangeTransferMoneyRequestDTO.getOrderId()) - .build() - ); - Assert.isTrue(CollectionUtils.isEmpty(gameExchangeMonies), "订单号重复"); + GameExchangeMoney exchangeMoney = gameExchangeMoneyService.selectGameExchangeMoneyById(exchangeTransferMoneyRequestDTO.getGameExchangeId()); - //获取下一个自增id - GameExchangeMoney exchangeMoney = GameExchangeMoney - .builder() - .tenantKey(exchangeTransferMoneyRequestDTO.getTenantKey()) - .orderId(exchangeTransferMoneyRequestDTO.getOrderId()) - .quota(exchangeTransferMoneyRequestDTO.getQuota()) - .balance(exchangeTransferMoneyRequestDTO.getAmount()) - .exchangeType(exchangeTransferMoneyRequestDTO.getTransferType()) - .currencyCode(exchangeTransferMoneyRequestDTO.getSystemCurrency()) - .memberId(member.getId()) - .transactionId(transactionId) - .platformCode(GamePlatforms.SV388.getCode()) - .build(); - exchangeMoney.setCreateBy(Constants.SYSTEM); - exchangeMoney.setStatus(StatusType.IN_PROGRESS.getValue()); - exchangeMoney.setStep(GameExchangeStep.CREATE_ORDER.getCode()); - exchangeMoney.setStepStatus(GameExchangeStepStatus.SUCCESS.getCode()); - gameExchangeMoneyService.insertGameExchangeMoney(exchangeMoney); Map params = this.getKey(exchangeTransferMoneyRequestDTO); @@ -265,13 +239,13 @@ public class SV388GamesServiceImpl implements IGamesService { if (TransferType.GAMES.getCode().equals(exchangeTransferMoneyRequestDTO.getTransferType())) { params.put("userId", exchangeTransferMoneyRequestDTO.getAccount()); - params.put("txCode", transactionId); + params.put("txCode", exchangeTransferMoneyRequestDTO.getTransactionId()); params.put("transferAmount", exchangeTransferMoneyRequestDTO.getAmount()); deposit = sv388Client.deposit(params); } else { params.put("userId", exchangeTransferMoneyRequestDTO.getAccount()); - params.put("txCode", transactionId); + params.put("txCode", exchangeTransferMoneyRequestDTO.getTransactionId()); params.put("withdrawType", 1); deposit = sv388Client.withdraw(params); } 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 3f5f6d9..e5d1d0c 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 @@ -130,31 +130,9 @@ public class FBSportsServiceImpl implements IGamesService { @Transactional public Long exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO requestDTO) { - Member member = memberService.selectMemberByGameAccount(requestDTO.getAccount()); - String transactionId = GamePlatforms.FBSports.getCode() + IdUtils.simpleUUID(); - List gameExchangeMonies = gameExchangeMoneyService.selectGameExchangeMoneyList( - GameExchangeMoney.builder() - .tenantKey(requestDTO.getTenantKey()) - .orderId(requestDTO.getOrderId()) - .build() - ); - Assert.isTrue(CollectionUtils.isEmpty(gameExchangeMonies), "订单号重复"); -//获取下一个自增id - GameExchangeMoney exchangeMoney = GameExchangeMoney - .builder() - .orderId(requestDTO.getOrderId()) - .tenantKey(requestDTO.getTenantKey()) - .quota(requestDTO.getQuota()) - .balance(requestDTO.getAmount()) - .exchangeType(requestDTO.getTransferType()) - .currencyCode(requestDTO.getSystemCurrency()) - .memberId(member.getId()) - .transactionId(transactionId) - .platformCode(GamePlatforms.FBSports.getCode()) - .build(); - exchangeMoney.setCreateBy(Constants.SYSTEM); - //接口限制限制50字符 - exchangeMoney.setTransactionId(transactionId); + + GameExchangeMoney exchangeMoney = gameExchangeMoneyService.selectGameExchangeMoneyById(requestDTO.getGameExchangeId()); + // 转入 if (requestDTO.getTransferType().equals(TransferType.GAMES.getCode())) { TransferInRequest request = new TransferInRequest();