feat(game): 添加平台管理全部获取接口并优化登录逻辑

- 在 GamePlatformController 中添加了获取所有平台信息的接口
- 优化了 SysLoginController 中的验证码校验逻辑
- 新增了平台服务的依赖注入
- 添加了权限控制注解
main-pt
shi 2025-04-12 13:13:07 +08:00
parent 8f7b618b97
commit ddf141c4c2
1 changed files with 17 additions and 25 deletions

View File

@ -20,7 +20,6 @@ import com.ff.game.api.pt.dto.*;
import com.ff.game.api.request.*;
import com.ff.game.api.xk.dto.*;
import com.ff.game.domain.*;
import com.ff.game.dto.GameSecretKeyCurrencyDTO;
import com.ff.game.service.*;
import com.ff.member.domain.Member;
import com.ff.member.service.IMemberService;
@ -59,10 +58,6 @@ public class GamesPTServiceImpl implements IGamesService {
private IGameExchangeMoneyService gameExchangeMoneyService;
@Resource
private IGamePlatformService gamePlatformService;
@Resource
private IGameService gameService;
@ -72,11 +67,6 @@ public class GamesPTServiceImpl implements IGamesService {
@Resource
private IGameFreeRecordService gameFreeRecordService;
@Resource
private IGameSecretKeyService gameSecretKeyService;
@Resource
private IGameSecretKeyCurrencyService gameSecretKeyCurrencyService;
@Resource
@ -85,9 +75,6 @@ public class GamesPTServiceImpl implements IGamesService {
@Resource
private IGameBettingDetailsService gameBettingDetailsService;
@Resource
private IGameNameService gameNameService;
/**
*
@ -109,7 +96,7 @@ public class GamesPTServiceImpl implements IGamesService {
* @return {@link String }
*/
private String send(String url, Map<String, Object> params, GamesBaseRequestDTO gamesBaseRequestDTO) {
return PTClient.sendPostRequest(configService.selectConfigByKey(Constants.PT_API_BASE_URL) + url, gamesBaseRequestDTO.getAgentKey(), gamesBaseRequestDTO.getAgentId(), JsonUtil.mapToQueryString(params));
return PTClient.sendPostRequest(gamesBaseRequestDTO.getVendor().getUrlInfo().getUrl() + url, gamesBaseRequestDTO.getAgentKey(), gamesBaseRequestDTO.getAgentId(), JsonUtil.mapToQueryString(params));
}
@ -123,11 +110,10 @@ public class GamesPTServiceImpl implements IGamesService {
@Override
public Boolean createMember(CreateMemberRequestDTO createMemberRequestDTO) {
log.info("GamesPTServiceImpl [createMember] 请求参数 {}", createMemberRequestDTO);
GameSecretKey gameSecretKey = gameSecretKeyService.selectGameSecretKeyByCode(createMemberRequestDTO.getAgentId());
Map<String, Object> params = new LinkedHashMap<>();
params.put("playername", createMemberRequestDTO.getAccount());
params.put("currency", createMemberRequestDTO.getCurrency());
params.put("password", gameSecretKey.getPassword());
params.put("password", createMemberRequestDTO.getKeyInfo().getPassword());
String result = this.send("/player/create/", params, createMemberRequestDTO);
PTCreatePlayerResponse ptCreatePlayerResponse = JSON.parseObject(result, PTCreatePlayerResponse.class);
if (ObjectUtils.isEmpty(ptCreatePlayerResponse.getResult())) {
@ -163,7 +149,7 @@ public class GamesPTServiceImpl implements IGamesService {
//判断是否获取成功
return MemberInfoResponseDTO.builder().balance(results.getBalance()).status(ptMemberOnlineResponse.getResult()==1 ? GameMemberStatus.ONLINE.getCode() : GameMemberStatus.OFFLINE.getCode()).build();
return MemberInfoResponseDTO.builder().balance(results.getBalance()).status(ptMemberOnlineResponse.getResult() == 1 ? GameMemberStatus.ONLINE.getCode() : GameMemberStatus.OFFLINE.getCode()).build();
}
/**
@ -190,6 +176,11 @@ public class GamesPTServiceImpl implements IGamesService {
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}
@Override
public String getTransactionId(TransactionIdRequestDTO transactionIdRequestDTO) {
return "";
}
/**
* id
*
@ -209,8 +200,8 @@ public class GamesPTServiceImpl implements IGamesService {
* @return {@link Boolean }
*/
@Override
public Boolean exchangeTransferStatus(ExchangeTransferStatusRequestDTO exchangeTransferMoneyRequestDTO) {
return Boolean.TRUE;
public ExchangeTransferStatusResponseDTO exchangeTransferStatus(ExchangeTransferStatusRequestDTO exchangeTransferMoneyRequestDTO) {
return null;
}
@ -303,6 +294,11 @@ public class GamesPTServiceImpl implements IGamesService {
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}
@Override
public GameDemoLoginResponseDTO gameDemoLogin(GameDemoLoginRequestDTO gameDemoLoginRequestDTO) {
return null;
}
/**
*
@ -325,7 +321,7 @@ public class GamesPTServiceImpl implements IGamesService {
}
if (!CollectionUtils.isEmpty(gameBettingDetails)) {
//查询重复数据id
List<String> removeWagersIds = gameBettingDetailsService.selectGameBettingDetailsByWagersId(wagersIds);
List<String> removeWagersIds = gameBettingDetailsService.selectGameBettingDetailsByWagersId(wagersIds,GamePlatforms.PT.getCode());
//用steam流清除list中与wagersIds集合相同的数据
gameBettingDetails = gameBettingDetails.stream()
.filter(detail -> !removeWagersIds.contains(detail.getWagersId()))
@ -348,10 +344,6 @@ public class GamesPTServiceImpl implements IGamesService {
//转化类
XKBetRecordResponseDTO.DataBean.ResultBean resultBean = (XKBetRecordResponseDTO.DataBean.ResultBean) gamesDataBuildDTO.getData();
GameSecretKeyCurrency currencyDTO = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
.platformCode(GamePlatforms.XK.getInfo())
.code(resultBean.getAgentId())
.build());
Member member = memberService.selectMemberByGameAccount(resultBean.getAccount());
if (ObjectUtils.isEmpty(member)) {
@ -371,7 +363,7 @@ public class GamesPTServiceImpl implements IGamesService {
GameBettingDetails gameBettingDetails = GameBettingDetails.builder()
.tenantKey(member.getTenantKey())
//保存我们的币种id
.currencyCode(currencyDTO.getSystemCurrency())
.currencyCode(gamesDataBuildDTO.getSystemCurrencyCode())
.memberId(member.getId())
.gameCode(resultBean.getGameId())
.gameType(XKGameType.findSystemByCode(resultBean.getGameCategoryId()))