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