diff --git a/tongran-rocketmq/src/main/java/com/tongran/rocketmq/handler/MessageHandler.java b/tongran-rocketmq/src/main/java/com/tongran/rocketmq/handler/MessageHandler.java
index 9688fac..8f7cd8e 100644
--- a/tongran-rocketmq/src/main/java/com/tongran/rocketmq/handler/MessageHandler.java
+++ b/tongran-rocketmq/src/main/java/com/tongran/rocketmq/handler/MessageHandler.java
@@ -240,11 +240,16 @@ public class MessageHandler {
String province = locationInfo.get("province");
// 过滤本地省份和空值
- if (province != null && operator != null
- && (!localProvince.equals(province) || !localIsp.equals(operator))) {
- String key = province + operator; // 根据图片格式,省份和运营商之间没有空格
- double currentCount = v4StatMap.getOrDefault(key, 0.0);
- v4StatMap.put(key, currentCount + tcpdumpVo.getCount());
+ if (province != null && operator != null) {
+ // 标准化运营商名称
+ String stdLocalIsp = localIsp != null ? localIsp.replace("中国", "") : "";
+ String stdOperator = operator.replace("中国", "");
+ // 省不一样或者省一样但运营商不一样
+ if (!localProvince.equals(province) || !stdLocalIsp.equals(stdOperator)) {
+ String key = province + operator; // 根据图片格式,省份和运营商之间没有空格
+ double currentCount = v4StatMap.getOrDefault(key, 0.0);
+ v4StatMap.put(key, currentCount + tcpdumpVo.getCount());
+ }
}
}
}
@@ -280,11 +285,16 @@ public class MessageHandler {
String province = locationInfo.get("province");
// 过滤本地省份和空值
- if (province != null && operator != null
- && (!localProvince.equals(province) || !localIsp.equals(operator))) {
- String key = province + operator; // 根据图片格式,省份和运营商之间没有空格
- double currentCount = v6StatMap.getOrDefault(key, 0.0);
- v6StatMap.put(key, currentCount + tcpdumpVo.getCount());
+ if (province != null && operator != null) {
+ // 标准化运营商名称
+ String stdLocalIsp = localIsp != null ? localIsp.replace("中国", "") : "";
+ String stdOperator = operator.replace("中国", "");
+ // 省不一样或者省一样但运营商不一样
+ if (!localProvince.equals(province) || !stdLocalIsp.equals(stdOperator)) {
+ String key = province + operator; // 根据图片格式,省份和运营商之间没有空格
+ double currentCount = v6StatMap.getOrDefault(key, 0.0);
+ v6StatMap.put(key, currentCount + tcpdumpVo.getCount());
+ }
}
}
}
diff --git a/tongran-rocketmq/src/main/java/com/tongran/rocketmq/service/impl/InitialDiskInfoServiceImpl.java b/tongran-rocketmq/src/main/java/com/tongran/rocketmq/service/impl/InitialDiskInfoServiceImpl.java
index 04312bb..22358c9 100644
--- a/tongran-rocketmq/src/main/java/com/tongran/rocketmq/service/impl/InitialDiskInfoServiceImpl.java
+++ b/tongran-rocketmq/src/main/java/com/tongran/rocketmq/service/impl/InitialDiskInfoServiceImpl.java
@@ -279,7 +279,11 @@ public class InitialDiskInfoServiceImpl implements IInitialDiskInfoService
if(list != null && !list.isEmpty()){
Long totalUsedSpace = 0L;
for (InitialDiskInfo diskInfo : list) {
- totalUsedSpace += diskInfo.getUsedSpace();
+ // 处理 null 值
+ Long usedSpace = diskInfo.getUsedSpace();
+ if (usedSpace != null) {
+ totalUsedSpace += usedSpace;
+ }
}
Long avgUsedSpace = totalUsedSpace/list.size();
unit = SpeedUtils.determineUnitByValue(avgUsedSpace);
diff --git a/tongran-rocketmq/src/main/resources/mapper/rocketmq/InitialDiskInfoMapper.xml b/tongran-rocketmq/src/main/resources/mapper/rocketmq/InitialDiskInfoMapper.xml
index da54384..c5d0878 100644
--- a/tongran-rocketmq/src/main/resources/mapper/rocketmq/InitialDiskInfoMapper.xml
+++ b/tongran-rocketmq/src/main/resources/mapper/rocketmq/InitialDiskInfoMapper.xml
@@ -214,7 +214,7 @@
group by name