|
@@ -77,6 +77,9 @@ public class CallBackServiceImpl implements ICallBackService {
|
|
@Autowired
|
|
@Autowired
|
|
private IDistributedLockComponent distributedLockComponent;
|
|
private IDistributedLockComponent distributedLockComponent;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private IUserEventService userEventService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public Map<String, Object> callBackJudge(CallBackControlParam param, UserData userData) {
|
|
public Map<String, Object> callBackJudge(CallBackControlParam param, UserData userData) {
|
|
log.error("事件回传判断请求, param : {}, userData : {}", JsonUtil.toString(param), JsonUtil.toString(userData));
|
|
log.error("事件回传判断请求, param : {}, userData : {}", JsonUtil.toString(param), JsonUtil.toString(userData));
|
|
@@ -88,7 +91,7 @@ public class CallBackServiceImpl implements ICallBackService {
|
|
CallBackTypeEnum callBackTypeEnum = param.getCallBackTypeEnum();
|
|
CallBackTypeEnum callBackTypeEnum = param.getCallBackTypeEnum();
|
|
Game game = gameService.getById(userData.getGameId());
|
|
Game game = gameService.getById(userData.getGameId());
|
|
//判断游戏状态, 对接上包过程中, 全量回传
|
|
//判断游戏状态, 对接上包过程中, 全量回传
|
|
- if (Objects.equals(game.getStatus(), 2)) {
|
|
|
|
|
|
+ if (this.isUserEvent(game, userData.getUserId())) {
|
|
resultMap.put("callBack", Boolean.TRUE);
|
|
resultMap.put("callBack", Boolean.TRUE);
|
|
if (Objects.equals(callBackTypeEnum, CallBackTypeEnum.CALL_BACK_PAY_ORDER)) {
|
|
if (Objects.equals(callBackTypeEnum, CallBackTypeEnum.CALL_BACK_PAY_ORDER)) {
|
|
PlatformOrderDTO platformOrderDTO = orderService.getByOrderId(param.getOrderId());
|
|
PlatformOrderDTO platformOrderDTO = orderService.getByOrderId(param.getOrderId());
|
|
@@ -132,6 +135,21 @@ public class CallBackServiceImpl implements ICallBackService {
|
|
return resultMap;
|
|
return resultMap;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private boolean isUserEvent(Game game, Long userId) {
|
|
|
|
+ if (Objects.equals(game.getStatus(), 2)) {
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ //查询玩家
|
|
|
|
+ User user = userService.getById(userId);
|
|
|
|
+ //判断是否测试过事件用户
|
|
|
|
+ return userEventService.count(new LambdaQueryWrapper<UserEvent>()
|
|
|
|
+ .eq(UserEvent::getGameId, game.getId())
|
|
|
|
+ .and(qw -> qw.eq(UserEvent::getUsername, user.getUsername())
|
|
|
|
+ .or().eq(UserEvent::getMobile, user.getMobile())
|
|
|
|
+ )
|
|
|
|
+ ) > 0;
|
|
|
|
+ }
|
|
|
|
+
|
|
private void checkCallBack(Long userId, Agent agent, CallBackTypeEnum callBackTypeEnum, Map<String, Object> resultMap,
|
|
private void checkCallBack(Long userId, Agent agent, CallBackTypeEnum callBackTypeEnum, Map<String, Object> resultMap,
|
|
CallBackControlParam param) {
|
|
CallBackControlParam param) {
|
|
switch (callBackTypeEnum) {
|
|
switch (callBackTypeEnum) {
|