feat(fb-sports): 实现 FB 体育数据对接
- 新增 FB 体育类型枚举类 FBSportsType - 实现 FB 体育客户端接口,包括获取 token、订单文件列表和订单数据- 重构 FBSportsServiceImpl 类,支持按时间和历史时间获取投注记录 - 优化数据处理逻辑,实现批量插入功能 -移除不必要的定时任务配置main-meitian
parent
59dc248c3e
commit
9d88f8e08f
|
@ -15,6 +15,8 @@ public enum GamePlatforms {
|
||||||
AE("AE", "AE"),
|
AE("AE", "AE"),
|
||||||
KM("KM", "KM"),
|
KM("KM", "KM"),
|
||||||
PGT("PGT", "PGT"),
|
PGT("PGT", "PGT"),
|
||||||
|
FBSports("FBSports", "FB体育"),
|
||||||
|
SV388("SV388", "SV388"),
|
||||||
;
|
;
|
||||||
|
|
||||||
private final String code;
|
private final String code;
|
||||||
|
|
|
@ -415,36 +415,45 @@ public class FBSportsServiceImpl implements IGamesService {
|
||||||
* @return {@link Boolean }
|
* @return {@link Boolean }
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean exchangeTransferStatus(ExchangeTransferStatusRequestDTO requestDTO) {
|
public ExchangeTransferStatusResponseDTO exchangeTransferStatus(ExchangeTransferStatusRequestDTO requestDTO) {
|
||||||
|
|
||||||
GameExchangeMoney gameExchangeMoney = gameExchangeMoneyService.selectGameExchangeMoneyById(requestDTO.getGameExchangeMoneyId());
|
GameExchangeMoney gameExchangeMoney = gameExchangeMoneyService.selectGameExchangeMoneyById(requestDTO.getGameExchangeMoneyId());
|
||||||
if (null == gameExchangeMoney) {
|
if (null == gameExchangeMoney) {
|
||||||
throw new ApiException(ErrorCode.Transfer_Not_Exist.getCode());
|
throw new ApiException(ErrorCode.Transfer_Not_Exist.getCode());
|
||||||
}
|
}
|
||||||
if (Objects.equals(gameExchangeMoney.getStatus(), StatusType.SUCCESS.getValue())) {
|
Integer status = StatusType.IN_PROGRESS.getValue();
|
||||||
return Boolean.TRUE;
|
|
||||||
|
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());
|
return ExchangeTransferStatusResponseDTO.builder()
|
||||||
request.setTransferType(Objects.equals(gameExchangeMoney.getExchangeType(), TransferType.GAMES.getCode())
|
.statusType(status)
|
||||||
? "IN" : "OUT");
|
.balance(gameExchangeMoney.getBalance())
|
||||||
long timestamp = System.currentTimeMillis();
|
.coinBefore(gameExchangeMoney.getCoinBefore())
|
||||||
String jsonBody = request.toJSON();
|
.coinAfter(gameExchangeMoney.getCoinAfter())
|
||||||
String sign = getSign(jsonBody,
|
.build();
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue