diff --git a/qaup-collision/src/main/java/com/qaup/collision/dataprocessing/service/DataProcessingService.java b/qaup-collision/src/main/java/com/qaup/collision/dataprocessing/service/DataProcessingService.java index d5db4f0..f617855 100644 --- a/qaup-collision/src/main/java/com/qaup/collision/dataprocessing/service/DataProcessingService.java +++ b/qaup-collision/src/main/java/com/qaup/collision/dataprocessing/service/DataProcessingService.java @@ -1160,6 +1160,11 @@ public class DataProcessingService { normalizedBizKey = normalizeRedisString(redisCache.getCacheMapValue(flightKey, "activeBizKey")); normalizedBizKey = normalizeBizKey(normalizedBizKey); } + if (normalizedBizKey == null) { + log.info("路由Redis参数未齐全(缺少bizKey),等待补齐后重试: flightNo={}, routeType={}", + normalizedFlightNo, normalizedRouteType); + return false; + } String bizRedisKey = buildBizRedisKey(normalizedBizKey); // 从 Redis 获取参数快照 @@ -1172,6 +1177,14 @@ public class DataProcessingService { String startSeat = readRedisParamBySelectedKey(bizRedisKey, flightKey, "startSeat"); Long seatTs = readRedisParamLongBySelectedKey(bizRedisKey, flightKey, "seatTs"); + // 跑道参数兜底:只要一边有值,另一边用同值补齐,避免单边为空导致无效重试。 + if ((inRunway == null || inRunway.isBlank()) && outRunway != null && !outRunway.isBlank()) { + inRunway = outRunway; + } + if ((outRunway == null || outRunway.isBlank()) && inRunway != null && !inRunway.isBlank()) { + outRunway = inRunway; + } + // OUT:允许用 seat 兜底 startSeat(机位推出) if ("OUT".equalsIgnoreCase(normalizedRouteType) && (startSeat == null || startSeat.isBlank())) { if (seat != null && !seat.isBlank()) { diff --git a/命令.md b/命令.md index b106d54..d8cae42 100644 --- a/命令.md +++ b/命令.md @@ -133,7 +133,6 @@ grep -a "缺少inRunway" "$JAR" | head -n 5 || true docker exec -it qaup-app sh -lc 'sha256sum /app.jar' docker exec -it qaup-app rm /app.jar docker cp qaup-app.jar qaup-app:/app.jar -docker exec -it qaup-app ls / docker restart qaup-app curl -s http://10.64.58.228:8086/api/adxp/status curl -s http://10.64.58.228:8086/api/adxp/health