|
@@ -234,30 +234,15 @@ public class TtAppBackRpcImpl implements ITtAppBackRpc {
|
|
|
public ResultVO<OrderBackQueryRpcVO> orderBackQuery(TtAppOrderBackQueryRpcDTO dto) {
|
|
|
log.error("头条APP订单回传结果查询:{}", JsonUtil.toString(dto));
|
|
|
|
|
|
- String lockKey = com.zanxiang.game.back.base.ServerInfo.SERVER_NAME + ":TtAppOrderBack:" + dto.getGameId() + ":" + dto.getOrderId();
|
|
|
- int maxCount = 0;
|
|
|
- while (true) {
|
|
|
- if (redisTemplate.opsForValue().get(lockKey) == null) {
|
|
|
- break;
|
|
|
- }
|
|
|
- if (maxCount++ >= 120 / 10) {
|
|
|
- break;
|
|
|
- }
|
|
|
+ GameOceanengineAppOrderLog orderLog = queryOrder(dto);
|
|
|
+ if (orderLog == null) {
|
|
|
try {
|
|
|
- Thread.sleep(10 * 1000L);
|
|
|
+ Thread.sleep(5 * 1000L);
|
|
|
} catch (Exception e) {
|
|
|
log.error(e.getMessage(), e);
|
|
|
}
|
|
|
+ orderLog = queryOrder(dto);
|
|
|
}
|
|
|
- // 加锁最大等待 120s
|
|
|
- // distributedLockComponent.doLock(lockKey, 60, 1L, TimeUnit.SECONDS);
|
|
|
-
|
|
|
- GameOceanengineAppOrderLog orderLog = gameOceanengineAppOrderLogService.getOne(new LambdaQueryWrapper<GameOceanengineAppOrderLog>()
|
|
|
- .eq(GameOceanengineAppOrderLog::getOrderNo, dto.getOrderId())
|
|
|
- .eq(GameOceanengineAppOrderLog::getGameId, dto.getGameId())
|
|
|
- .eq(GameOceanengineAppOrderLog::getAgentKey, dto.getAgentKey())
|
|
|
- .eq(GameOceanengineAppOrderLog::getUserId, dto.getUserId())
|
|
|
- );
|
|
|
if (orderLog == null) {
|
|
|
return ResultVO.ok(OrderBackQueryRpcVO.builder()
|
|
|
.doBack(Boolean.FALSE)
|
|
@@ -286,4 +271,31 @@ public class TtAppBackRpcImpl implements ITtAppBackRpc {
|
|
|
GameOceanengineAppCallback callback = gameOceanengineAppCallbackService.getUserCallback(dto.getGameId(), dto.getImei(), dto.getOaid(), dto.getAndroidId(), dto.getIdfa(), dto.getCaid());
|
|
|
return ResultVO.ok(callback == null ? null : callback.getAgentKey());
|
|
|
}
|
|
|
+
|
|
|
+ private GameOceanengineAppOrderLog queryOrder(TtAppOrderBackQueryRpcDTO dto) {
|
|
|
+ String lockKey = com.zanxiang.game.back.base.ServerInfo.SERVER_NAME + ":TtAppOrderBack:" + dto.getGameId() + ":" + dto.getOrderId();
|
|
|
+ int maxCount = 0;
|
|
|
+ while (true) {
|
|
|
+ if (redisTemplate.opsForValue().get(lockKey) == null) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (maxCount++ >= 120 / 10) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ Thread.sleep(10 * 1000L);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error(e.getMessage(), e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 加锁最大等待 120s
|
|
|
+ // distributedLockComponent.doLock(lockKey, 60, 1L, TimeUnit.SECONDS);
|
|
|
+
|
|
|
+ return gameOceanengineAppOrderLogService.getOne(new LambdaQueryWrapper<GameOceanengineAppOrderLog>()
|
|
|
+ .eq(GameOceanengineAppOrderLog::getOrderNo, dto.getOrderId())
|
|
|
+ .eq(GameOceanengineAppOrderLog::getGameId, dto.getGameId())
|
|
|
+ .eq(GameOceanengineAppOrderLog::getAgentKey, dto.getAgentKey())
|
|
|
+ .eq(GameOceanengineAppOrderLog::getUserId, dto.getUserId())
|
|
|
+ );
|
|
|
+ }
|
|
|
}
|