refactor(game): 重构游戏平台不支持的方法

- 在 ErrorCode枚举中添加 PLATFORM_NOT_METHODS 错误码
- 修改 GamesFCServiceImpl、GamesSAServiceImpl 和 GamesXKServiceImpl 中不支持的方法,统一抛出 PLATFORM_NOT_METHODS异常
- 优化 SAClient 中的 kickMember 方法,返回 String 类型
- 新增 SAKickUserResponse 类用于处理踢出用户请求的返回
main-sa
shi 2025-03-26 18:58:31 +08:00
parent 8332c4fdcd
commit 871b31555b
6 changed files with 67 additions and 57 deletions

View File

@ -29,6 +29,7 @@ public enum ErrorCode {
KICK_OUT_AILED(1013, "玩家踢出失败"),
ACCOUNT_NOT_ONLINE(1014, "账号不在线"),
FREQUENT_BALANCE_TRANSFER(1015, "当前游戏账号余额转移频繁"),
PLATFORM_NOT_METHODS(1016, "游戏平台不支持的方法"),
;
// 获取错误码

View File

@ -446,8 +446,7 @@ public class GamesFCServiceImpl implements IGamesService {
*/
@Override
public Boolean exchangeTransferStatus(ExchangeTransferStatusRequestDTO exchangeTransferMoneyRequestDTO) {
return Boolean.TRUE;
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}
@ -537,9 +536,7 @@ public class GamesFCServiceImpl implements IGamesService {
*/
@Override
public Boolean createFreeSpin(CreateFreeSpinRequestDTO createFreeSpinRequest) {
return null;
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}
/**
@ -550,14 +547,7 @@ public class GamesFCServiceImpl implements IGamesService {
*/
@Override
public GetGameDetailResponseDTO getGameDetail(GetGameDetailRequestDTO getGameDetailRequestDTO) {
List<GameBettingDetails> gameBettingDetails = gameBettingDetailsService.selectGameBettingDetailsList(GameBettingDetailsDTO.builder().wagersId(getGameDetailRequestDTO.getWagersId()).build());
if (!CollectionUtils.isEmpty(gameBettingDetails)) {
GetGameDetailResponseDTO getGameDetailResponseDTO = new GetGameDetailResponseDTO();
getGameDetailResponseDTO.setUrl(gameBettingDetails.get(0).getBetContent());
return getGameDetailResponseDTO;
}
return null;
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}
/**
@ -607,9 +597,7 @@ public class GamesFCServiceImpl implements IGamesService {
*/
@Override
public List<GameFreeRecord> getFreeSpinDashflow(GetFreeSpinDashflowRequestDTO getFreeSpinDashflowRequestDTO) {
return Collections.emptyList();
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}
/**
@ -620,8 +608,7 @@ public class GamesFCServiceImpl implements IGamesService {
*/
@Override
public Boolean cancelFreeSpin(CancelFreeSpinRequestDTO cancelFreeSpinRequestDTO) {
return Boolean.FALSE;
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}

View File

@ -49,14 +49,7 @@ public interface SAClient {
})
String loginWithoutRedirect(@Body String params);
/**
*
*
* @param params
* @return {@link JILIGamesDTO }
*/
@Post("/getGameList")
XKGamesDTO getGameList(@JSONBody Map<String, Object> params);
/**
@ -102,19 +95,14 @@ public interface SAClient {
*
*
* @param params
* @return {@link JILIKickMemberDTO }
* @return {@link String }
*/
@Post("/kickMember")
XKKickMemberDTO kickMember(@JSONBody Map<String, Object> params);
@Post( url ="/api.aspx/KickUser",
headers = {
"Content-type: application/x-www-form-urlencoded"
})
String kickMember( @Body String params);
/**
*
*
* @param params
* @return {@link JILIKickMemberAllDTO }
*/
@Get("/kickMemberAll")
XKKickMemberAllDTO kickMemberAll(@JSONBody Map<String, Object> params);
}

View File

@ -0,0 +1,34 @@
package com.ff.game.api.sa.dto;
import lombok.Data;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
/**
*
*
* @author shi
* @date 2025/03/26
*/
@XmlAccessorType(XmlAccessType.FIELD)
@Data
@XmlRootElement(name = "KickUserResponse")
public class SAKickUserResponse {
/**
* ID
*/
@XmlElement(name = "ErrorMsgId")
private int errorMsgId;
/**
*
*/
@XmlElement(name = "ErrorMsg")
private String errorMsg;
}

View File

@ -388,7 +388,7 @@ public class GamesSAServiceImpl implements IGamesService {
*/
@Override
public Boolean exchangeTransferStatus(ExchangeTransferStatusRequestDTO exchangeTransferMoneyRequestDTO) {
return Boolean.TRUE;
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}
@ -407,7 +407,7 @@ public class GamesSAServiceImpl implements IGamesService {
log.info("GamesSAServiceImpl [getBetRecordByTime] 请求参数 {}", betRecordByTimeDTO);
Map<String, Object> params = new LinkedHashMap<>();
params.put("FromTime", startTime);
params.put("ToTime",endTime);
params.put("ToTime", endTime);
String query = JsonUtil.mapToQueryString(params);
betRecordByTimeDTO.setQuery(query);
String key = this.getKey(betRecordByTimeDTO, "GetAllBetDetailsForTimeIntervalDV");
@ -448,7 +448,7 @@ public class GamesSAServiceImpl implements IGamesService {
*/
@Override
public Boolean createFreeSpin(CreateFreeSpinRequestDTO createFreeSpinRequest) {
throw new BaseException("当前平台不支持");
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}
/**
@ -459,7 +459,7 @@ public class GamesSAServiceImpl implements IGamesService {
*/
@Override
public GetGameDetailResponseDTO getGameDetail(GetGameDetailRequestDTO getGameDetailRequestDTO) {
throw new BaseException("当前平台不支持");
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}
/**
@ -470,20 +470,20 @@ public class GamesSAServiceImpl implements IGamesService {
*/
@Override
public Boolean kickMember(KickMemberRequestDTO kickMemberRequestDTO) {
log.info("GamesXKServiceImpl [kickMember] 请求参数 {}", kickMemberRequestDTO);
log.info("GamesSAServiceImpl [kickMember] 请求参数 {}", kickMemberRequestDTO);
Map<String, Object> params = new LinkedHashMap<>();
params.put("account", kickMemberRequestDTO.getAccount());
params.put("agentId", kickMemberRequestDTO.getAgentId());
params.put("Username", kickMemberRequestDTO.getAccount());
String query = JsonUtil.mapToQueryString(params);
kickMemberRequestDTO.setQuery(query);
String key = this.getKey(kickMemberRequestDTO, null);
params.put("key", key);
XKKickMemberDTO xkKickMemberDTO = SAClient.kickMember(params);
String key = this.getKey(kickMemberRequestDTO, "KickUser");
String result = SAClient.kickMember(key);
SAKickUserResponse saKickUserResponse = XmlUtils.xmlDecrypt(result, SAKickUserResponse.class);
Integer errorCode = saKickUserResponse.getErrorMsgId();
//判断是否获取成功
if (this.getIsSuccess(xkKickMemberDTO.getCode())) {
if (this.getIsSuccess(errorCode)) {
return Boolean.TRUE;
} else {
throw new BaseException(xkKickMemberDTO.getMsg());
throw new ApiException(ErrorCode.KICK_OUT_AILED.getCode());
}
}
@ -495,7 +495,7 @@ public class GamesSAServiceImpl implements IGamesService {
*/
@Override
public Boolean kickMemberAll(KickMemberAllDTO kickMemberAllDTO) {
throw new BaseException("当前平台不支持");
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}
/**
@ -506,7 +506,7 @@ public class GamesSAServiceImpl implements IGamesService {
*/
@Override
public List<GameFreeRecord> getFreeSpinDashflow(GetFreeSpinDashflowRequestDTO getFreeSpinDashflowRequestDTO) {
throw new BaseException("当前平台不支持");
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}
/**
@ -517,7 +517,7 @@ public class GamesSAServiceImpl implements IGamesService {
*/
@Override
public Boolean cancelFreeSpin(CancelFreeSpinRequestDTO cancelFreeSpinRequestDTO) {
throw new BaseException("当前平台不支持");
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}

View File

@ -463,7 +463,7 @@ public class GamesXKServiceImpl implements IGamesService {
*/
@Override
public Boolean createFreeSpin(CreateFreeSpinRequestDTO createFreeSpinRequest) {
throw new BaseException("当前平台不支持");
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}
/**
@ -474,7 +474,7 @@ public class GamesXKServiceImpl implements IGamesService {
*/
@Override
public GetGameDetailResponseDTO getGameDetail(GetGameDetailRequestDTO getGameDetailRequestDTO) {
throw new BaseException("当前平台不支持");
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}
/**
@ -510,7 +510,7 @@ public class GamesXKServiceImpl implements IGamesService {
*/
@Override
public Boolean kickMemberAll(KickMemberAllDTO kickMemberAllDTO) {
throw new BaseException("当前平台不支持");
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}
/**
@ -521,7 +521,7 @@ public class GamesXKServiceImpl implements IGamesService {
*/
@Override
public List<GameFreeRecord> getFreeSpinDashflow(GetFreeSpinDashflowRequestDTO getFreeSpinDashflowRequestDTO) {
throw new BaseException("当前平台不支持");
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}
/**
@ -532,7 +532,7 @@ public class GamesXKServiceImpl implements IGamesService {
*/
@Override
public Boolean cancelFreeSpin(CancelFreeSpinRequestDTO cancelFreeSpinRequestDTO) {
throw new BaseException("当前平台不支持");
throw new ApiException(ErrorCode.PLATFORM_NOT_METHODS.getCode());
}