From bc409e516fde1447c6f5aa281a0253fc21f9ffd1 Mon Sep 17 00:00:00 2001 From: ALEX <2604434353@qq.com> Date: Tue, 5 Aug 2025 10:49:31 +0800 Subject: [PATCH] fix: try-catch the field is null exception --- .../pro_eld_mqtt_compare/StartupCompareRunner.java | 2 +- .../ctgu/pro_eld_mqtt_compare/api/ApiService.java | 3 --- .../service/CompareService.java | 13 +++++++++---- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/ctgu/pro_eld_mqtt_compare/StartupCompareRunner.java b/src/main/java/com/ctgu/pro_eld_mqtt_compare/StartupCompareRunner.java index 9a1a448..c5d08b6 100644 --- a/src/main/java/com/ctgu/pro_eld_mqtt_compare/StartupCompareRunner.java +++ b/src/main/java/com/ctgu/pro_eld_mqtt_compare/StartupCompareRunner.java @@ -24,7 +24,7 @@ public class StartupCompareRunner implements ApplicationRunner { // compareService.compare(5, "vehicle"); // compareService.compare(5, "device"); // compareService.compare(5, "business"); - compareService.compare(5, "driver"); +// compareService.compare(5, "driver"); // compareService.compare(5, "vehicle_device"); // compareService.compare(5, "driver_vehicle"); // compareService.compare(5, "business_driver"); diff --git a/src/main/java/com/ctgu/pro_eld_mqtt_compare/api/ApiService.java b/src/main/java/com/ctgu/pro_eld_mqtt_compare/api/ApiService.java index 81ccc44..b26f21f 100644 --- a/src/main/java/com/ctgu/pro_eld_mqtt_compare/api/ApiService.java +++ b/src/main/java/com/ctgu/pro_eld_mqtt_compare/api/ApiService.java @@ -47,7 +47,6 @@ public class ApiService { public Mono> getInfoPakistan(GetInfoVO getInfoVO) { ParameterizedTypeReference> typeRef = (ParameterizedTypeReference>) tableObjectMapping.get(getInfoVO.getTableName()); if (typeRef == null) { -// throw new IllegalArgumentException("不支持该表名: " + getInfoVO.getTableName()); log.error("Pakistan API - 不支持该表名 : {}", getInfoVO.getTableName()); return Mono.empty(); } @@ -66,7 +65,6 @@ public class ApiService { log.warn("Pakistan API - WebClient 请求 eldData 失败,错误: {}", e.getMessage()); return Mono.just(Collections.emptyList()); }); - } // Pro API @@ -74,7 +72,6 @@ public class ApiService { public Mono> getInfoPro(Integer customerId, String tableName) { ParameterizedTypeReference> typeRef = (ParameterizedTypeReference>) tableObjectMapping.get(tableName); if (typeRef == null) { -// throw new IllegalArgumentException("不支持该表名: " + tableName); log.error("Pro API - 不支持该表名 : {}", tableName); return Mono.empty(); } diff --git a/src/main/java/com/ctgu/pro_eld_mqtt_compare/service/CompareService.java b/src/main/java/com/ctgu/pro_eld_mqtt_compare/service/CompareService.java index 59266f9..e864227 100644 --- a/src/main/java/com/ctgu/pro_eld_mqtt_compare/service/CompareService.java +++ b/src/main/java/com/ctgu/pro_eld_mqtt_compare/service/CompareService.java @@ -61,9 +61,15 @@ public class CompareService { * @Description: 获取 value 字段 */ private static List getValueField(String tableName) { - List valueFields = KEY_FIELDS.get(tableName); - if (valueFields == null) { - throw new IllegalArgumentException("未配置字段列表: " + tableName); + List valueFields = null; + try { + valueFields = KEY_FIELDS.get(tableName); + if (valueFields == null) { + throw new IllegalArgumentException("未配置字段列表: " + tableName); + } + } catch (IllegalArgumentException e) { + log.error(e.getMessage()); + return Collections.emptyList(); } return valueFields; } @@ -207,7 +213,6 @@ public class CompareService { .filter(key -> !(pakistanMap.containsKey(key) && proMap.containsKey(key))) .map(key -> pakistanMap.getOrDefault(key, proMap.get(key))) // 取出差异项 .collect(Collectors.toList()); - log.info("customerId = {} - tableName = {} - differList = {}", customerId, tableName, diffList); Set differIds = diffList.stream()