refactor(ff-game): 重构 FB 和 SV388 平台的转账逻辑
- 移除 FBSports 和 SV388 平台的重复代码 - 优化交易 ID 生成逻辑,支持不同平台的格式 -调整 CreateOrderServiceImpl 中的平台判断逻辑 - 重构 FBSportsServiceImpl 和 SV388GamesServiceImpl 中的转账方法main-pgt
parent
9fa259268e
commit
537b23a420
|
@ -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());
|
||||
}
|
||||
|
|
|
@ -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<GameExchangeMoney> 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<String, Object> 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);
|
||||
}
|
||||
|
|
|
@ -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<GameExchangeMoney> 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();
|
||||
|
|
Loading…
Reference in New Issue