refactor(game): 重构游戏列表和金额转移相关逻辑
- 更新了 PGX、SA 和 XK游戏平台的游戏列表获取逻辑- 优化了游戏数据插入和更新的处理流程 - 改进了金额转移的处理方式,增加了状态和步骤记录 -调整了投注记录获取的接口调用方式 - 优化了代码结构,移除了不必要的注释和冗余代码main-meitian
parent
58becaf578
commit
c45f69fcb2
|
@ -106,13 +106,13 @@ public interface PGXClient {
|
||||||
*
|
*
|
||||||
* @return {@link PGXBetHistoryResponse }
|
* @return {@link PGXBetHistoryResponse }
|
||||||
*/
|
*/
|
||||||
@Get(url = "http://fetch.336699bet.com/fetchbykey.aspx?{parameters}")
|
@Get(url = "{url}/fetchbykey.aspx?{parameters}")
|
||||||
PGXBetHistoryResponse getBetRecordByTime(@Var("parameters") String parameters);
|
PGXBetHistoryResponse getBetRecordByTime(@Var("url") String url,@Var("parameters") String parameters);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Get(url = "http://fetch.336699bet.com/fetchArchieve.aspx?{parameters}")
|
@Get(url = "{url}/fetchArchieve.aspx?{parameters}")
|
||||||
PGXBetHistoryResponse getBetRecordByHistoryTime(@Var("parameters") String parameters);
|
PGXBetHistoryResponse getBetRecordByHistoryTime(@Var("url") String url,@Var("parameters") String parameters);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -3,6 +3,8 @@ package com.ff.game.api.pgx.dto;
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pgxexchange传输状态响应
|
* pgxexchange传输状态响应
|
||||||
*
|
*
|
||||||
|
@ -45,7 +47,7 @@ public class PGXExchangeTransferStatusResponse {
|
||||||
|
|
||||||
/** 交易金额 (double类型) */
|
/** 交易金额 (double类型) */
|
||||||
@JsonProperty("amount")
|
@JsonProperty("amount")
|
||||||
private double amount;
|
private BigDecimal amount;
|
||||||
|
|
||||||
/** 运营商的参考ID (String类型) */
|
/** 运营商的参考ID (String类型) */
|
||||||
@JsonProperty("ref_id")
|
@JsonProperty("ref_id")
|
||||||
|
|
|
@ -228,22 +228,22 @@ public class GamesPGXServiceImpl implements IGamesService {
|
||||||
|
|
||||||
List<PGXGameListResponse.Game> gameLists = JSON.parseArray(gameList.getGamelist(), PGXGameListResponse.Game.class);
|
List<PGXGameListResponse.Game> gameLists = JSON.parseArray(gameList.getGamelist(), PGXGameListResponse.Game.class);
|
||||||
for (PGXGameListResponse.Game gamesDataDTO : gameLists) {
|
for (PGXGameListResponse.Game gamesDataDTO : gameLists) {
|
||||||
Integer platformType = GPXGameType.findSystemByCode(gamesDataDTO.getGameCode());
|
|
||||||
Game game = Game.builder()
|
Game game = Game.builder()
|
||||||
.gameCode(gamesDataDTO.getGameId())
|
.gameCode(gamesDataDTO.getGameId())
|
||||||
.platformCode(GamePlatforms.PGX.getCode())
|
.platformCode(GamePlatforms.PGX.getCode())
|
||||||
.platformType(platformType)
|
.platformType(GPXGameType.SL.getSystemCode())
|
||||||
.build();
|
.build();
|
||||||
List<Game> games = gameService.selectGameList(game);
|
List<Game> games = gameService.selectGameList(game);
|
||||||
//不存在这个游戏
|
//不存在这个游戏
|
||||||
if (CollectionUtils.isEmpty(games)) {
|
if (CollectionUtils.isEmpty(games)) {
|
||||||
game.setGameSourceType(GPXGameType.SL.getCode());
|
game.setGameSourceType(GPXGameType.SL.getCode());
|
||||||
game.setFreespin(Boolean.FALSE);
|
game.setFreespin(Boolean.FALSE);
|
||||||
game.setSortNo(gameService.selectMaxSortNo(platformType, GamePlatforms.PGX.getCode()) + 1);
|
game.setSortNo(gameService.selectMaxSortNo(GPXGameType.SL.getSystemCode(), GamePlatforms.PGX.getCode()) + 1);
|
||||||
game.setGameName(gamesDataDTO.getGameName());
|
game.setGameName(gamesDataDTO.getGameName());
|
||||||
game.setCreateBy(Constants.SYSTEM);
|
game.setCreateBy(Constants.SYSTEM);
|
||||||
game.setPlatformCode(GamePlatforms.PGX.getCode());
|
game.setPlatformCode(GamePlatforms.PGX.getCode());
|
||||||
game.setPlatformType(platformType);
|
game.setPlatformType(GPXGameType.SL.getSystemCode());
|
||||||
game.setGameId(StringUtils.addSuffix(GamePlatforms.PGX.getCode(), gamesDataDTO.getGameId()));
|
game.setGameId(StringUtils.addSuffix(GamePlatforms.PGX.getCode(), gamesDataDTO.getGameId()));
|
||||||
List<NameInfo> nameInfos = new ArrayList<>();
|
List<NameInfo> nameInfos = new ArrayList<>();
|
||||||
nameInfos.add(new NameInfo(gamesDataDTO.getGameName(), "en-US"));
|
nameInfos.add(new NameInfo(gamesDataDTO.getGameName(), "en-US"));
|
||||||
|
@ -251,12 +251,6 @@ public class GamesPGXServiceImpl implements IGamesService {
|
||||||
gameService.insertGame(game);
|
gameService.insertGame(game);
|
||||||
} else {
|
} else {
|
||||||
game = games.get(0);
|
game = games.get(0);
|
||||||
game.setPlatformType(platformType);
|
|
||||||
game.setGameId(StringUtils.addSuffix(GamePlatforms.PGX.getCode(), gamesDataDTO.getGameId()));
|
|
||||||
List<NameInfo> nameInfos = new ArrayList<>();
|
|
||||||
nameInfos.add(new NameInfo(gamesDataDTO.getGameName(), "en-US"));
|
|
||||||
game.setNameInfo(nameInfos);
|
|
||||||
gameService.updateGame(game);
|
|
||||||
}
|
}
|
||||||
gamesDataDTO.setSystemGameId(game.getId());
|
gamesDataDTO.setSystemGameId(game.getId());
|
||||||
|
|
||||||
|
@ -283,11 +277,6 @@ public class GamesPGXServiceImpl implements IGamesService {
|
||||||
public Long exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO) {
|
public Long exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO) {
|
||||||
log.info("GamesPGXServiceImpl [exchangeTransferByAgentId] 请求参数 {}", exchangeTransferMoneyRequestDTO);
|
log.info("GamesPGXServiceImpl [exchangeTransferByAgentId] 请求参数 {}", exchangeTransferMoneyRequestDTO);
|
||||||
|
|
||||||
// GameSecretKeyCurrency currencyDTO = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
|
||||||
// .platformCode(GamePlatforms.PGX.getInfo())
|
|
||||||
// .code(exchangeTransferMoneyRequestDTO.getAgentId())
|
|
||||||
// .currency(exchangeTransferMoneyRequestDTO.getCurrency())
|
|
||||||
// .build());
|
|
||||||
|
|
||||||
Member member = memberService.selectMemberByGameAccount(exchangeTransferMoneyRequestDTO.getAccount());
|
Member member = memberService.selectMemberByGameAccount(exchangeTransferMoneyRequestDTO.getAccount());
|
||||||
String transactionId = gameExchangeMoneyService.getTransactionId(GamePlatforms.PGX.getInfo(), 17);
|
String transactionId = gameExchangeMoneyService.getTransactionId(GamePlatforms.PGX.getInfo(), 17);
|
||||||
|
@ -299,7 +288,6 @@ public class GamesPGXServiceImpl implements IGamesService {
|
||||||
);
|
);
|
||||||
Assert.isTrue(CollectionUtils.isEmpty(gameExchangeMonies), "订单号重复");
|
Assert.isTrue(CollectionUtils.isEmpty(gameExchangeMonies), "订单号重复");
|
||||||
|
|
||||||
// GameSecretKey gameSecretKey = gameSecretKeyService.selectGameSecretKeyByCode(exchangeTransferMoneyRequestDTO.getAgentId());
|
|
||||||
|
|
||||||
//获取下一个自增id
|
//获取下一个自增id
|
||||||
GameExchangeMoney exchangeMoney = GameExchangeMoney
|
GameExchangeMoney exchangeMoney = GameExchangeMoney
|
||||||
|
@ -315,7 +303,10 @@ public class GamesPGXServiceImpl implements IGamesService {
|
||||||
.platformCode(GamePlatforms.PGX.getInfo())
|
.platformCode(GamePlatforms.PGX.getInfo())
|
||||||
.build();
|
.build();
|
||||||
exchangeMoney.setCreateBy(Constants.SYSTEM);
|
exchangeMoney.setCreateBy(Constants.SYSTEM);
|
||||||
|
exchangeMoney.setStatus(StatusType.IN_PROGRESS.getValue());
|
||||||
|
exchangeMoney.setStep(GameExchangeStep.CREATE_ORDER.getCode());
|
||||||
|
exchangeMoney.setStepStatus(GameExchangeStepStatus.SUCCESS.getCode());
|
||||||
|
gameExchangeMoneyService.insertGameExchangeMoney(exchangeMoney);
|
||||||
//获取余额
|
//获取余额
|
||||||
String type = TransferType.ALL.getCode().equals(exchangeTransferMoneyRequestDTO.getTransferType()) ? PGXTransferType.WITHDRAW.getCode() : PGXTransferType.DEPOSIT.getCode();
|
String type = TransferType.ALL.getCode().equals(exchangeTransferMoneyRequestDTO.getTransferType()) ? PGXTransferType.WITHDRAW.getCode() : PGXTransferType.DEPOSIT.getCode();
|
||||||
|
|
||||||
|
@ -326,6 +317,10 @@ public class GamesPGXServiceImpl implements IGamesService {
|
||||||
MemberInfoRequestDTO gamesBaseRequestDTO = MemberInfoRequestDTO.builder()
|
MemberInfoRequestDTO gamesBaseRequestDTO = MemberInfoRequestDTO.builder()
|
||||||
.accounts(exchangeTransferMoneyRequestDTO.getAccount())
|
.accounts(exchangeTransferMoneyRequestDTO.getAccount())
|
||||||
.agentId(exchangeTransferMoneyRequestDTO.getAgentId())
|
.agentId(exchangeTransferMoneyRequestDTO.getAgentId())
|
||||||
|
.vendor(exchangeTransferMoneyRequestDTO.getVendor())
|
||||||
|
.keyInfo(exchangeTransferMoneyRequestDTO.getKeyInfo())
|
||||||
|
.systemCurrency(exchangeTransferMoneyRequestDTO.getSystemCurrency())
|
||||||
|
.currency(exchangeTransferMoneyRequestDTO.getCurrency())
|
||||||
.agentKey(exchangeTransferMoneyRequestDTO.getAgentKey())
|
.agentKey(exchangeTransferMoneyRequestDTO.getAgentKey())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
@ -363,16 +358,13 @@ public class GamesPGXServiceImpl implements IGamesService {
|
||||||
exchangeMoney.setCurrencyBefore(exchangeMoney.getCoinBefore());
|
exchangeMoney.setCurrencyBefore(exchangeMoney.getCoinBefore());
|
||||||
exchangeMoney.setCurrencyAfter(exchangeMoney.getCoinAfter());
|
exchangeMoney.setCurrencyAfter(exchangeMoney.getCoinAfter());
|
||||||
exchangeMoney.setStatus(StatusType.IN_PROGRESS.getValue());
|
exchangeMoney.setStatus(StatusType.IN_PROGRESS.getValue());
|
||||||
|
exchangeMoney.setStep(GameExchangeStep.PLATFORM_TRANSACTION.getCode());
|
||||||
gameExchangeMoneyService.insertGameExchangeMoney(exchangeMoney);
|
exchangeMoney.setStepStatus(GameExchangeStepStatus.SUCCESS.getCode());
|
||||||
//确认状态
|
gameExchangeMoneyService.updateGameExchangeMoney(exchangeMoney);
|
||||||
ExchangeTransferStatusRequestDTO exchangeTransferStatusRequestDTO = new ExchangeTransferStatusRequestDTO();
|
|
||||||
exchangeTransferStatusRequestDTO.setAccount(member.getGameAccount());
|
|
||||||
exchangeTransferStatusRequestDTO.setOrderId(exchangeMoney.getTransactionId());
|
|
||||||
exchangeTransferStatusRequestDTO.setAgentId(keyInfo.getCode());
|
|
||||||
exchangeTransferStatusRequestDTO.setAgentKey(keyInfo.getKey());
|
|
||||||
this.exchangeTransferStatus(exchangeTransferStatusRequestDTO);
|
|
||||||
} else {
|
} else {
|
||||||
|
exchangeMoney.setStep(GameExchangeStep.PLATFORM_TRANSACTION.getCode());
|
||||||
|
exchangeMoney.setStepStatus(GameExchangeStepStatus.FAILURE.getCode());
|
||||||
|
gameExchangeMoneyService.updateGameExchangeMoney(exchangeMoney);
|
||||||
log.error("GamesFCServiceImpl [exchangeTransferByAgentId] 金额转移失败,错误代码{}", errorResponse.getErrCode());
|
log.error("GamesFCServiceImpl [exchangeTransferByAgentId] 金额转移失败,错误代码{}", errorResponse.getErrCode());
|
||||||
throw new ApiException(ErrorCode.BALANCE_TRANSFER_FAILED.getCode());
|
throw new ApiException(ErrorCode.BALANCE_TRANSFER_FAILED.getCode());
|
||||||
}
|
}
|
||||||
|
@ -395,24 +387,16 @@ public class GamesPGXServiceImpl implements IGamesService {
|
||||||
paramsMap.put("signature", key);
|
paramsMap.put("signature", key);
|
||||||
|
|
||||||
PGXExchangeTransferStatusResponse exchangeTransferStatusResponse = PGXClient.exchangeTransferStatus(JsonUtil.mapToQueryString(paramsMap));
|
PGXExchangeTransferStatusResponse exchangeTransferStatusResponse = PGXClient.exchangeTransferStatus(JsonUtil.mapToQueryString(paramsMap));
|
||||||
|
Integer status = StatusType.IN_PROGRESS.getValue();
|
||||||
if (this.getIsSuccess(exchangeTransferStatusResponse.getErrCode())) {
|
if (this.getIsSuccess(exchangeTransferStatusResponse.getErrCode())) {
|
||||||
List<GameExchangeMoney> gameExchangeMonies = gameExchangeMoneyService.selectGameExchangeMoneyList(
|
status= PGXTransactionStatus.findValueByCode(exchangeTransferStatusResponse.getStatus());
|
||||||
GameExchangeMoney.builder()
|
|
||||||
.platformCode(GamePlatforms.PGX.getInfo())
|
|
||||||
.transactionId(exchangeTransferMoneyRequestDTO.getOrderId())
|
|
||||||
.build()
|
|
||||||
);
|
|
||||||
|
|
||||||
for (GameExchangeMoney exchangeMoney : gameExchangeMonies) {
|
|
||||||
//更新数据
|
|
||||||
exchangeMoney.setStatus(PGXTransactionStatus.findValueByCode(exchangeTransferStatusResponse.getStatus()));
|
|
||||||
gameExchangeMoneyService.updateGameExchangeMoney(exchangeMoney);
|
|
||||||
}
|
|
||||||
return new ExchangeTransferStatusResponseDTO();
|
|
||||||
} else {
|
} else {
|
||||||
log.error("GamesPGXServiceImpl [exchangeTransferStatus]错误代码{},错误信息{}", exchangeTransferStatusResponse.getErrCode(), exchangeTransferStatusResponse.getErrMsg());
|
status = StatusType.FAILURE.getValue();
|
||||||
return new ExchangeTransferStatusResponseDTO();
|
|
||||||
}
|
}
|
||||||
|
return ExchangeTransferStatusResponseDTO.builder()
|
||||||
|
.statusType(status)
|
||||||
|
.balance(exchangeTransferStatusResponse.getAmount())
|
||||||
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -431,7 +415,8 @@ public class GamesPGXServiceImpl implements IGamesService {
|
||||||
String key = this.getKey(paramsMap, betRecordByTimeDTO);
|
String key = this.getKey(paramsMap, betRecordByTimeDTO);
|
||||||
paramsMap.put("versionkey", 0);
|
paramsMap.put("versionkey", 0);
|
||||||
paramsMap.put("signature", key);
|
paramsMap.put("signature", key);
|
||||||
PGXBetHistoryResponse betRecordByTime = PGXClient.getBetRecordByTime(JsonUtil.mapToQueryString(paramsMap));
|
String betUrl = betRecordByTimeDTO.getVendor().getUrlInfo().getBetUrl();
|
||||||
|
PGXBetHistoryResponse betRecordByTime = PGXClient.getBetRecordByTime(betUrl,JsonUtil.mapToQueryString(paramsMap));
|
||||||
|
|
||||||
if (this.getIsSuccess(betRecordByTime.getErrCode())) {
|
if (this.getIsSuccess(betRecordByTime.getErrCode())) {
|
||||||
List<PGXBetHistoryResponse.Result> results = JSON.parseArray(betRecordByTime.getResult(), PGXBetHistoryResponse.Result.class);
|
List<PGXBetHistoryResponse.Result> results = JSON.parseArray(betRecordByTime.getResult(), PGXBetHistoryResponse.Result.class);
|
||||||
|
@ -458,7 +443,8 @@ public class GamesPGXServiceImpl implements IGamesService {
|
||||||
String key = this.getKey(paramsMap, betRecordByTimeDTO);
|
String key = this.getKey(paramsMap, betRecordByTimeDTO);
|
||||||
paramsMap.put("versionkey", 0);
|
paramsMap.put("versionkey", 0);
|
||||||
paramsMap.put("signature", key);
|
paramsMap.put("signature", key);
|
||||||
PGXBetHistoryResponse betRecordByTime = PGXClient.getBetRecordByHistoryTime(JsonUtil.mapToQueryString(paramsMap));
|
String betUrl = betRecordByTimeDTO.getVendor().getUrlInfo().getBetUrl();
|
||||||
|
PGXBetHistoryResponse betRecordByTime = PGXClient.getBetRecordByHistoryTime(betUrl,JsonUtil.mapToQueryString(paramsMap));
|
||||||
|
|
||||||
if (this.getIsSuccess(betRecordByTime.getErrCode())) {
|
if (this.getIsSuccess(betRecordByTime.getErrCode())) {
|
||||||
List<PGXBetHistoryResponse.Result> results = JSON.parseArray(betRecordByTime.getResult(), PGXBetHistoryResponse.Result.class);
|
List<PGXBetHistoryResponse.Result> results = JSON.parseArray(betRecordByTime.getResult(), PGXBetHistoryResponse.Result.class);
|
||||||
|
@ -603,10 +589,7 @@ public class GamesPGXServiceImpl implements IGamesService {
|
||||||
//转化类
|
//转化类
|
||||||
PGXBetHistoryResponse.Result resultBean = (PGXBetHistoryResponse.Result) gamesDataBuildDTO.getData();
|
PGXBetHistoryResponse.Result resultBean = (PGXBetHistoryResponse.Result) gamesDataBuildDTO.getData();
|
||||||
|
|
||||||
// GameSecretKeyCurrency currencyDTO = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
|
||||||
// .platformCode(GamePlatforms.PGX.getInfo())
|
|
||||||
// .code(gamesDataBuildDTO.getAgentId())
|
|
||||||
// .build());
|
|
||||||
|
|
||||||
Member member = memberService.selectMemberByGameAccount(resultBean.getMember());
|
Member member = memberService.selectMemberByGameAccount(resultBean.getMember());
|
||||||
if (ObjectUtils.isEmpty(member)) {
|
if (ObjectUtils.isEmpty(member)) {
|
||||||
|
|
|
@ -221,18 +221,7 @@ public class GamesSAServiceImpl implements IGamesService {
|
||||||
@Transactional
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
public String getGameList(GamesBaseRequestDTO gamesBaseRequestDTO) {
|
public String getGameList(GamesBaseRequestDTO gamesBaseRequestDTO) {
|
||||||
// GamePlatform gamePlatform = gamePlatformService.selectGamePlatformById(PLATFORM_ID);
|
|
||||||
//没有此平台就新增一个平台
|
|
||||||
/*if (ObjectUtils.isEmpty(gamePlatform)) {
|
|
||||||
gamePlatform = new GamePlatform();
|
|
||||||
gamePlatform.setId(PLATFORM_ID);
|
|
||||||
gamePlatform.setPlatformCode(GamePlatforms.SA.getInfo());
|
|
||||||
gamePlatform.setPlatformType(PlatformType.CARD_GAME.getCode());
|
|
||||||
gamePlatform.setPlatformName(GamePlatforms.SA.getInfo() + PlatformType.CARD_GAME.getName());
|
|
||||||
gamePlatform.setSortNo(gamePlatformService.selectMaxSortNo() + 1);
|
|
||||||
gamePlatform.setCreateBy(Constants.SYSTEM);
|
|
||||||
gamePlatformService.insertGamePlatform(gamePlatform);
|
|
||||||
}*/
|
|
||||||
Game game = gameService.selectGameById(GAME_ID);
|
Game game = gameService.selectGameById(GAME_ID);
|
||||||
Integer platformType = PlatformType.CARD_GAME.getCode();
|
Integer platformType = PlatformType.CARD_GAME.getCode();
|
||||||
//不存在这个游戏
|
//不存在这个游戏
|
||||||
|
@ -240,7 +229,6 @@ public class GamesSAServiceImpl implements IGamesService {
|
||||||
game = new Game();
|
game = new Game();
|
||||||
game.setId(GAME_ID);
|
game.setId(GAME_ID);
|
||||||
game.setSortNo(gameService.selectMaxSortNo(platformType, GamePlatforms.SA.getCode()) + 1);
|
game.setSortNo(gameService.selectMaxSortNo(platformType, GamePlatforms.SA.getCode()) + 1);
|
||||||
//game.setPlatformId(gamePlatform.getId());
|
|
||||||
game.setPlatformCode(GamePlatforms.SA.getCode());
|
game.setPlatformCode(GamePlatforms.SA.getCode());
|
||||||
game.setPlatformType(platformType);
|
game.setPlatformType(platformType);
|
||||||
game.setGameCode("1");
|
game.setGameCode("1");
|
||||||
|
@ -249,19 +237,11 @@ public class GamesSAServiceImpl implements IGamesService {
|
||||||
game.setCreateBy(Constants.SYSTEM);
|
game.setCreateBy(Constants.SYSTEM);
|
||||||
List<NameInfo> nameInfos = new ArrayList<>();
|
List<NameInfo> nameInfos = new ArrayList<>();
|
||||||
nameInfos.add(new NameInfo("真人棋牌", "zh-CN"));
|
nameInfos.add(new NameInfo("真人棋牌", "zh-CN"));
|
||||||
|
game.setGameId(StringUtils.addSuffix(GamePlatforms.SA.getCode(), 1));
|
||||||
game.setNameInfo(nameInfos);
|
game.setNameInfo(nameInfos);
|
||||||
gameService.insertGame(game);
|
gameService.updateGame(game);
|
||||||
}
|
}
|
||||||
// GameName gameName = gameNameService.selectGameNameById(GAME_NAME_ID);
|
|
||||||
/*if (ObjectUtils.isEmpty(gameName)) {
|
|
||||||
gameNameService.insertGameName(GameName.builder()
|
|
||||||
.id(GAME_NAME_ID)
|
|
||||||
.gameId(game.getId())
|
|
||||||
.gameName(game.getGameName())
|
|
||||||
.langCode("zh-CN")
|
|
||||||
.createBy(Constants.SYSTEM)
|
|
||||||
.build());
|
|
||||||
}*/
|
|
||||||
return CacheConstants.SA_GAMES;
|
return CacheConstants.SA_GAMES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -275,10 +255,6 @@ public class GamesSAServiceImpl implements IGamesService {
|
||||||
@Transactional
|
@Transactional
|
||||||
public Long exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO) {
|
public Long exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO) {
|
||||||
log.info("GamesSAServiceImpl [exchangeTransferByAgentId] 请求参数 {}", exchangeTransferMoneyRequestDTO);
|
log.info("GamesSAServiceImpl [exchangeTransferByAgentId] 请求参数 {}", exchangeTransferMoneyRequestDTO);
|
||||||
// GameSecretKeyCurrency currencyDTO = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
|
||||||
// .platformCode(GamePlatforms.SA.getInfo())
|
|
||||||
// .code(exchangeTransferMoneyRequestDTO.getAgentId())
|
|
||||||
// .build());
|
|
||||||
|
|
||||||
Member member = memberService.selectMemberByGameAccount(exchangeTransferMoneyRequestDTO.getAccount());
|
Member member = memberService.selectMemberByGameAccount(exchangeTransferMoneyRequestDTO.getAccount());
|
||||||
|
|
||||||
|
@ -310,6 +286,11 @@ public class GamesSAServiceImpl implements IGamesService {
|
||||||
.platformCode(GamePlatforms.SA.getInfo())
|
.platformCode(GamePlatforms.SA.getInfo())
|
||||||
.build();
|
.build();
|
||||||
exchangeMoney.setCreateBy(Constants.SYSTEM);
|
exchangeMoney.setCreateBy(Constants.SYSTEM);
|
||||||
|
exchangeMoney.setStatus(StatusType.IN_PROGRESS.getValue());
|
||||||
|
exchangeMoney.setStep(GameExchangeStep.CREATE_ORDER.getCode());
|
||||||
|
exchangeMoney.setStepStatus(GameExchangeStepStatus.SUCCESS.getCode());
|
||||||
|
gameExchangeMoneyService.insertGameExchangeMoney(exchangeMoney);
|
||||||
|
|
||||||
if (TransferType.ALL.getCode().equals(exchangeTransferMoneyRequestDTO.getTransferType())) {
|
if (TransferType.ALL.getCode().equals(exchangeTransferMoneyRequestDTO.getTransferType())) {
|
||||||
Map<String, Object> params = new LinkedHashMap<>();
|
Map<String, Object> params = new LinkedHashMap<>();
|
||||||
params.put("Username", exchangeTransferMoneyRequestDTO.getAccount());
|
params.put("Username", exchangeTransferMoneyRequestDTO.getAccount());
|
||||||
|
@ -330,9 +311,13 @@ public class GamesSAServiceImpl implements IGamesService {
|
||||||
exchangeMoney.setCoinAfter(BigDecimal.ZERO);
|
exchangeMoney.setCoinAfter(BigDecimal.ZERO);
|
||||||
exchangeMoney.setCurrencyBefore(exchangeMoney.getCurrencyBefore());
|
exchangeMoney.setCurrencyBefore(exchangeMoney.getCurrencyBefore());
|
||||||
exchangeMoney.setCurrencyAfter(exchangeMoney.getCurrencyAfter());
|
exchangeMoney.setCurrencyAfter(exchangeMoney.getCurrencyAfter());
|
||||||
exchangeMoney.setStatus(StatusType.SUCCESS.getValue());
|
exchangeMoney.setStep(GameExchangeStep.PLATFORM_TRANSACTION.getCode());
|
||||||
gameExchangeMoneyService.insertGameExchangeMoney(exchangeMoney);
|
exchangeMoney.setStepStatus(GameExchangeStepStatus.SUCCESS.getCode());
|
||||||
|
gameExchangeMoneyService.updateGameExchangeMoney(exchangeMoney);
|
||||||
} else {
|
} else {
|
||||||
|
exchangeMoney.setStep(GameExchangeStep.PLATFORM_TRANSACTION.getCode());
|
||||||
|
exchangeMoney.setStepStatus(GameExchangeStepStatus.FAILURE.getCode());
|
||||||
|
gameExchangeMoneyService.updateGameExchangeMoney(exchangeMoney);
|
||||||
log.error("GamesXKServiceImpl [exchangeTransferByAgentId] 金额转移失败,错误代码{}", errorCode);
|
log.error("GamesXKServiceImpl [exchangeTransferByAgentId] 金额转移失败,错误代码{}", errorCode);
|
||||||
throw new ApiException(ErrorCode.BALANCE_TRANSFER_FAILED.getCode());
|
throw new ApiException(ErrorCode.BALANCE_TRANSFER_FAILED.getCode());
|
||||||
}
|
}
|
||||||
|
@ -358,9 +343,13 @@ public class GamesSAServiceImpl implements IGamesService {
|
||||||
exchangeMoney.setCoinAfter(saCreditBalanceResponse.getBalance());
|
exchangeMoney.setCoinAfter(saCreditBalanceResponse.getBalance());
|
||||||
exchangeMoney.setCurrencyBefore(exchangeMoney.getCoinBefore());
|
exchangeMoney.setCurrencyBefore(exchangeMoney.getCoinBefore());
|
||||||
exchangeMoney.setCurrencyAfter(exchangeMoney.getCoinAfter());
|
exchangeMoney.setCurrencyAfter(exchangeMoney.getCoinAfter());
|
||||||
exchangeMoney.setStatus(StatusType.SUCCESS.getValue());
|
exchangeMoney.setStep(GameExchangeStep.PLATFORM_TRANSACTION.getCode());
|
||||||
gameExchangeMoneyService.insertGameExchangeMoney(exchangeMoney);
|
exchangeMoney.setStepStatus(GameExchangeStepStatus.SUCCESS.getCode());
|
||||||
|
gameExchangeMoneyService.updateGameExchangeMoney(exchangeMoney);
|
||||||
} else {
|
} else {
|
||||||
|
exchangeMoney.setStep(GameExchangeStep.PLATFORM_TRANSACTION.getCode());
|
||||||
|
exchangeMoney.setStepStatus(GameExchangeStepStatus.FAILURE.getCode());
|
||||||
|
gameExchangeMoneyService.updateGameExchangeMoney(exchangeMoney);
|
||||||
log.error("GamesXKServiceImpl [exchangeTransferByAgentId] 金额转移失败,错误代码{}", errorCode);
|
log.error("GamesXKServiceImpl [exchangeTransferByAgentId] 金额转移失败,错误代码{}", errorCode);
|
||||||
throw new ApiException(ErrorCode.BALANCE_TRANSFER_FAILED.getCode());
|
throw new ApiException(ErrorCode.BALANCE_TRANSFER_FAILED.getCode());
|
||||||
}
|
}
|
||||||
|
@ -414,7 +403,7 @@ public class GamesSAServiceImpl implements IGamesService {
|
||||||
|
|
||||||
return Boolean.TRUE;
|
return Boolean.TRUE;
|
||||||
} else {
|
} else {
|
||||||
log.error("GamesXKServiceImpl [getBetRecordByTime] 获取投注记录失败,错误代码{}", errorCode);
|
log.error("GamesSAServiceImpl [getBetRecordByTime] 获取投注记录失败,错误代码{}", errorCode);
|
||||||
}
|
}
|
||||||
return Boolean.FALSE;
|
return Boolean.FALSE;
|
||||||
}
|
}
|
||||||
|
@ -427,7 +416,33 @@ public class GamesSAServiceImpl implements IGamesService {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean getBetRecordByHistoryTime(BetRecordByTimeDTO betRecordByTimeDTO) {
|
public Boolean getBetRecordByHistoryTime(BetRecordByTimeDTO betRecordByTimeDTO) {
|
||||||
return Boolean.TRUE;
|
String startTime = DateUtils.convertTimeZone(betRecordByTimeDTO.getStartTime(), "Asia/Shanghai", DateUtils.YYYY_MM_DD_HH_MM_SS);
|
||||||
|
String endTime = DateUtils.convertTimeZone(betRecordByTimeDTO.getEndTime(), "Asia/Shanghai", DateUtils.YYYY_MM_DD_HH_MM_SS);
|
||||||
|
|
||||||
|
//请求参数
|
||||||
|
log.info("GamesSAServiceImpl [getBetRecordByHistoryTime] 请求参数 {}", betRecordByTimeDTO);
|
||||||
|
Map<String, Object> params = new LinkedHashMap<>();
|
||||||
|
params.put("FromTime", startTime);
|
||||||
|
params.put("ToTime", endTime);
|
||||||
|
String query = JsonUtil.mapToQueryString(params);
|
||||||
|
betRecordByTimeDTO.setQuery(query);
|
||||||
|
String key = this.getKey(betRecordByTimeDTO, "GetAllBetDetailsForTimeIntervalDV");
|
||||||
|
|
||||||
|
String result = SAClient.getBetRecordByTime(key);
|
||||||
|
SAGetAllBetDetailsResponse saGetAllBetDetailsResponse = XmlUtils.xmlDecrypt(result, SAGetAllBetDetailsResponse.class);
|
||||||
|
Integer errorCode = saGetAllBetDetailsResponse.getErrorMsgId();
|
||||||
|
|
||||||
|
|
||||||
|
//判断是否获取成功
|
||||||
|
if (this.getIsSuccess(errorCode)) {
|
||||||
|
//数据组装
|
||||||
|
this.batchInsert(saGetAllBetDetailsResponse, betRecordByTimeDTO);
|
||||||
|
|
||||||
|
return Boolean.TRUE;
|
||||||
|
} else {
|
||||||
|
log.error("GamesSAServiceImpl [getBetRecordByHistoryTime] 获取投注记录失败,错误代码{}", errorCode);
|
||||||
|
}
|
||||||
|
return Boolean.FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -569,10 +584,6 @@ public class GamesSAServiceImpl implements IGamesService {
|
||||||
//转化类
|
//转化类
|
||||||
SAGetAllBetDetailsResponse.BetDetail resultBean = (SAGetAllBetDetailsResponse.BetDetail) gamesDataBuildDTO.getData();
|
SAGetAllBetDetailsResponse.BetDetail resultBean = (SAGetAllBetDetailsResponse.BetDetail) gamesDataBuildDTO.getData();
|
||||||
|
|
||||||
// GameSecretKeyCurrency currencyDTO = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
|
||||||
// .platformCode(GamePlatforms.SA.getInfo())
|
|
||||||
// .currency(resultBean.getCurrency())
|
|
||||||
// .build());
|
|
||||||
|
|
||||||
Member member = memberService.selectMemberByGameAccount(resultBean.getUsername());
|
Member member = memberService.selectMemberByGameAccount(resultBean.getUsername());
|
||||||
if (ObjectUtils.isEmpty(member)) {
|
if (ObjectUtils.isEmpty(member)) {
|
||||||
|
|
|
@ -10,6 +10,7 @@ import com.ff.base.exception.base.ApiException;
|
||||||
import com.ff.base.exception.base.BaseException;
|
import com.ff.base.exception.base.BaseException;
|
||||||
import com.ff.base.utils.DateUtils;
|
import com.ff.base.utils.DateUtils;
|
||||||
import com.ff.base.utils.JsonUtil;
|
import com.ff.base.utils.JsonUtil;
|
||||||
|
import com.ff.base.utils.StringUtils;
|
||||||
import com.ff.base.utils.sign.Md5Utils;
|
import com.ff.base.utils.sign.Md5Utils;
|
||||||
import com.ff.base.utils.uuid.IdUtils;
|
import com.ff.base.utils.uuid.IdUtils;
|
||||||
import com.ff.config.KeyConfig;
|
import com.ff.config.KeyConfig;
|
||||||
|
@ -226,20 +227,6 @@ public class GamesXKServiceImpl implements IGamesService {
|
||||||
if (this.getIsSuccess(xkGamesDTO.getCode())) {
|
if (this.getIsSuccess(xkGamesDTO.getCode())) {
|
||||||
|
|
||||||
for (XKGamesDTO.DataBean gamesDataDTO : xkGamesDTO.getData()) {
|
for (XKGamesDTO.DataBean gamesDataDTO : xkGamesDTO.getData()) {
|
||||||
/*GamePlatform gamePlatform = GamePlatform.builder()
|
|
||||||
.platformType(XKGameType.findSystemByCode(gamesDataDTO.getGameCategoryId()))
|
|
||||||
.platformCode(GamePlatforms.XK.getCode())
|
|
||||||
.build();
|
|
||||||
List<GamePlatform> gamePlatforms = gamePlatformService.selectGamePlatformList(gamePlatform);
|
|
||||||
//没有此平台就新增一个平台
|
|
||||||
if (CollectionUtils.isEmpty(gamePlatforms)) {
|
|
||||||
gamePlatform.setPlatformName(GamePlatforms.XK.getInfo() + XKGameType.findInfoByCode(gamesDataDTO.getGameCategoryId()));
|
|
||||||
gamePlatform.setSortNo(gamePlatformService.selectMaxSortNo() + 1);
|
|
||||||
gamePlatform.setCreateBy(Constants.SYSTEM);
|
|
||||||
gamePlatformService.insertGamePlatform(gamePlatform);
|
|
||||||
} else {
|
|
||||||
gamePlatform = gamePlatforms.get(0);
|
|
||||||
}*/
|
|
||||||
Integer platformType = XKGameType.findSystemByCode(gamesDataDTO.getGameCategoryId());
|
Integer platformType = XKGameType.findSystemByCode(gamesDataDTO.getGameCategoryId());
|
||||||
Game game = Game.builder()
|
Game game = Game.builder()
|
||||||
//.platformId(gamePlatform.getId())
|
//.platformId(gamePlatform.getId())
|
||||||
|
@ -257,7 +244,7 @@ public class GamesXKServiceImpl implements IGamesService {
|
||||||
game.setPlatformType(platformType);
|
game.setPlatformType(platformType);
|
||||||
game.setGameName(gamesDataDTO.getName());
|
game.setGameName(gamesDataDTO.getName());
|
||||||
game.setCreateBy(Constants.SYSTEM);
|
game.setCreateBy(Constants.SYSTEM);
|
||||||
|
game.setGameId(StringUtils.addSuffix(GamePlatforms.SA.getCode(), 1));
|
||||||
List<NameInfo> nameInfos = new ArrayList<>();
|
List<NameInfo> nameInfos = new ArrayList<>();
|
||||||
nameInfos.add(new NameInfo(gamesDataDTO.getName(), "zh-CN"));
|
nameInfos.add(new NameInfo(gamesDataDTO.getName(), "zh-CN"));
|
||||||
game.setNameInfo(nameInfos);
|
game.setNameInfo(nameInfos);
|
||||||
|
@ -267,15 +254,6 @@ public class GamesXKServiceImpl implements IGamesService {
|
||||||
game = games.get(0);
|
game = games.get(0);
|
||||||
}
|
}
|
||||||
gamesDataDTO.setSystemGameId(game.getId());
|
gamesDataDTO.setSystemGameId(game.getId());
|
||||||
/*List<GameName> gameNames = gameNameService.selectGameNameList(GameName.builder().gameId(game.getId()).gameName(game.getGameName()).build());
|
|
||||||
if (CollectionUtils.isEmpty(gameNames)) {
|
|
||||||
gameNameService.insertGameName(GameName.builder()
|
|
||||||
.gameId(game.getId())
|
|
||||||
.gameName(game.getGameName())
|
|
||||||
.langCode("zh-CN")
|
|
||||||
.createBy(Constants.SYSTEM)
|
|
||||||
.build());
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
redisCache.deleteObject(CacheConstants.XK_GAMES);
|
redisCache.deleteObject(CacheConstants.XK_GAMES);
|
||||||
|
|
|
@ -13,4 +13,8 @@ public class UrlInfo implements Serializable {
|
||||||
private String url;
|
private String url;
|
||||||
private String loginUrl;
|
private String loginUrl;
|
||||||
private String hallCode;
|
private String hallCode;
|
||||||
|
/**
|
||||||
|
* 投注网址
|
||||||
|
*/
|
||||||
|
private String betUrl;
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,6 +92,7 @@ public class GameTask {
|
||||||
* @param backTimeMin
|
* @param backTimeMin
|
||||||
*/
|
*/
|
||||||
public void syncRealtimeBetRecord(String platformCode, Integer backTimeMin) {
|
public void syncRealtimeBetRecord(String platformCode, Integer backTimeMin) {
|
||||||
|
this.syncGameList(platformCode);
|
||||||
//捞取指定分钟前的数据
|
//捞取指定分钟前的数据
|
||||||
Long startTime = DateUtils.addOrSubtractMinutes(DateUtils.getNowDate(), backTimeMin);
|
Long startTime = DateUtils.addOrSubtractMinutes(DateUtils.getNowDate(), backTimeMin);
|
||||||
Long endTime = DateUtils.getNowDate();
|
Long endTime = DateUtils.getNowDate();
|
||||||
|
@ -134,7 +135,7 @@ public class GameTask {
|
||||||
* @param backTimeMin
|
* @param backTimeMin
|
||||||
*/
|
*/
|
||||||
public void syncHistoryBetRecord(String platformCode, Integer backTimeMin) {
|
public void syncHistoryBetRecord(String platformCode, Integer backTimeMin) {
|
||||||
|
this.syncGameList(platformCode);
|
||||||
//捞取指定分钟前的数据
|
//捞取指定分钟前的数据
|
||||||
Long startTime = DateUtils.addOrSubtractMinutes(DateUtils.getNowDate(), backTimeMin);
|
Long startTime = DateUtils.addOrSubtractMinutes(DateUtils.getNowDate(), backTimeMin);
|
||||||
Long endTime = DateUtils.getNowDate();
|
Long endTime = DateUtils.getNowDate();
|
||||||
|
|
Loading…
Reference in New Issue