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"),
|
||||
KM("KM", "KM"),
|
||||
PGT("PGT", "PGT"),
|
||||
FBSports("FBSports", "FB体育"),
|
||||
SV388("SV388", "SV388"),
|
||||
;
|
||||
|
||||
private final String code;
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue