From 92cf598941fa63f33664db302770e610ade64f5f Mon Sep 17 00:00:00 2001 From: gaoyutao Date: Thu, 18 Dec 2025 15:28:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=97=E8=A1=A8=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E7=BD=91=E5=8D=A1=E4=BF=A1=E6=81=AF=E4=B8=8D=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98=E3=80=82=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=A4=9A=E7=BD=91=E5=8D=A1=E5=9B=BE=E5=BD=A2=E7=9B=91=E6=8E=A7?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/domain/RmNetworkInterfaceRemote.java | 4 +++- .../common/core/utils/ConvertOtherTypeUtil.java | 8 ++++---- .../system/domain/RmResourceRegistration.java | 2 +- .../service/impl/AllInterfaceNameServiceImpl.java | 14 +++++++------- .../impl/RmResourceRegistrationServiceImpl.java | 9 +++++---- .../rocketmq/domain/RmNetworkInterface.java | 2 ++ .../mapper/rocketmq/RmNetworkInterfaceMapper.xml | 6 ++++++ 7 files changed, 28 insertions(+), 17 deletions(-) diff --git a/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/domain/RmNetworkInterfaceRemote.java b/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/domain/RmNetworkInterfaceRemote.java index 1afed71..ea51e6d 100644 --- a/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/domain/RmNetworkInterfaceRemote.java +++ b/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/domain/RmNetworkInterfaceRemote.java @@ -54,8 +54,10 @@ public class RmNetworkInterfaceRemote extends BaseEntity { private String bindIp; /** 新旧标识 */ private Integer newFlag; - /** 服务器clientId集合 */ + /** 查询业务网卡或单个网卡的clientId集合 */ private String clientIds; + /** 查询所有网卡的clientId集合 */ + private String allClientIds; // 如果是子接口,存储父接口名称 private String parentInterface; diff --git a/tongran-common/tongran-common-core/src/main/java/com/tongran/common/core/utils/ConvertOtherTypeUtil.java b/tongran-common/tongran-common-core/src/main/java/com/tongran/common/core/utils/ConvertOtherTypeUtil.java index ed2b18f..2638469 100644 --- a/tongran-common/tongran-common-core/src/main/java/com/tongran/common/core/utils/ConvertOtherTypeUtil.java +++ b/tongran-common/tongran-common-core/src/main/java/com/tongran/common/core/utils/ConvertOtherTypeUtil.java @@ -8,12 +8,12 @@ public class ConvertOtherTypeUtil { */ public static String getInterfaceTypeName(int typeCode) { switch (typeCode) { - case 1: return "other"; + case 1: return "其他"; case 2: return "regular1822"; case 3: return "hdh1822"; case 4: return "ddnX25"; case 5: return "rfc877x25"; - case 6: return "ethernetCsmacd"; + case 6: return "以太网"; case 7: return "iso88023Csmacd"; case 8: return "iso88024TokenBus"; case 9: return "iso88025TokenRing"; @@ -31,7 +31,7 @@ public class ConvertOtherTypeUtil { case 21: return "primaryISDN"; case 22: return "propPointToPointSerial"; case 23: return "ppp"; - case 24: return "softwareLoopback"; + case 24: return "软件环回"; case 25: return "eon"; case 26: return "ethernet3Mbit"; case 27: return "nsip"; @@ -60,7 +60,7 @@ public class ConvertOtherTypeUtil { case 50: return "sonetPath"; case 51: return "sonetVT"; case 52: return "smdsIcip"; - case 53: return "propVirtual"; + case 53: return "专有虚拟"; case 54: return "propMultiplexor"; case 55: return "ieee80212"; case 56: return "fibreChannel"; diff --git a/tongran-modules/tongran-system/src/main/java/com/tongran/system/domain/RmResourceRegistration.java b/tongran-modules/tongran-system/src/main/java/com/tongran/system/domain/RmResourceRegistration.java index 58446fa..cf32815 100644 --- a/tongran-modules/tongran-system/src/main/java/com/tongran/system/domain/RmResourceRegistration.java +++ b/tongran-modules/tongran-system/src/main/java/com/tongran/system/domain/RmResourceRegistration.java @@ -255,7 +255,7 @@ public class RmResourceRegistration extends BaseEntity /** 日95带宽值利用率 */ @Excel(name = "日95带宽值利用率") private String bandwidthRate; - /** 昨日95值排序 1正序 2倒叙 3不排序 */ + /** 昨日95值排序 1正序 2倒叙 3不排序 4 cpu内存倒叙*/ private Integer bandwidthResultSort; /** cpu利用率 */ private BigDecimal cpuUtil; diff --git a/tongran-modules/tongran-system/src/main/java/com/tongran/system/service/impl/AllInterfaceNameServiceImpl.java b/tongran-modules/tongran-system/src/main/java/com/tongran/system/service/impl/AllInterfaceNameServiceImpl.java index 0b9f9ae..ac2591a 100644 --- a/tongran-modules/tongran-system/src/main/java/com/tongran/system/service/impl/AllInterfaceNameServiceImpl.java +++ b/tongran-modules/tongran-system/src/main/java/com/tongran/system/service/impl/AllInterfaceNameServiceImpl.java @@ -81,11 +81,11 @@ public class AllInterfaceNameServiceImpl implements IAllInterfaceNameService return nonSubInterfaces; } - // 缓存匹配结果,避免重复计算 - Map matchStatusMap = new HashMap<>(); + // 使用ID作为键,避免对象相等性问题 + Map matchStatusMap = new HashMap<>(); for (AllInterfaceName interfaceName : nonSubInterfaces) { boolean isMatched = isInterfaceMatched(interfaceName); - matchStatusMap.put(interfaceName, isMatched); + matchStatusMap.put(interfaceName.getId(), isMatched); // 只设置服务器类型的businessFlag if ("1".equals(interfaceName.getResourceType())) { @@ -96,12 +96,12 @@ public class AllInterfaceNameServiceImpl implements IAllInterfaceNameService // 使用自定义排序 return nonSubInterfaces.stream() .sorted((a, b) -> { - boolean aMatched = matchStatusMap.get(a); - boolean bMatched = matchStatusMap.get(b); + Boolean aMatched = matchStatusMap.get(a.getId()); + Boolean bMatched = matchStatusMap.get(b.getId()); - if (aMatched && !bMatched) { + if (Boolean.TRUE.equals(aMatched) && !Boolean.TRUE.equals(bMatched)) { return -1; - } else if (!aMatched && bMatched) { + } else if (!Boolean.TRUE.equals(aMatched) && Boolean.TRUE.equals(bMatched)) { return 1; } else { return 0; diff --git a/tongran-modules/tongran-system/src/main/java/com/tongran/system/service/impl/RmResourceRegistrationServiceImpl.java b/tongran-modules/tongran-system/src/main/java/com/tongran/system/service/impl/RmResourceRegistrationServiceImpl.java index e605612..6819a6e 100644 --- a/tongran-modules/tongran-system/src/main/java/com/tongran/system/service/impl/RmResourceRegistrationServiceImpl.java +++ b/tongran-modules/tongran-system/src/main/java/com/tongran/system/service/impl/RmResourceRegistrationServiceImpl.java @@ -354,7 +354,7 @@ public class RmResourceRegistrationServiceImpl implements IRmResourceRegistratio CompletableFuture> networkFuture = CompletableFuture .supplyAsync(() -> { RmNetworkInterfaceRemote queryParam = new RmNetworkInterfaceRemote(); - queryParam.setClientIds(clientIdsStr); + queryParam.setAllClientIds(clientIdsStr); queryParam.setNewFlag(1); R> result = remoteRocketMqService.getNetworkInterfaceList(queryParam, SecurityConstants.INNER); return result != null ? result.getData() : Collections.emptyList(); @@ -362,9 +362,9 @@ public class RmResourceRegistrationServiceImpl implements IRmResourceRegistratio CompletableFuture.allOf(cpuFuture, memFuture, networkFuture).join(); - List cpuUtilList = cpuFuture.get(); - List memUtilList = memFuture.get(); - List networkList = networkFuture.get(); + List cpuUtilList = cpuFuture.get() == null ? new ArrayList<>() : cpuFuture.get(); + List memUtilList = memFuture.get() == null ? new ArrayList<>() : memFuture.get(); + List networkList = networkFuture.get() == null ? new ArrayList<>() : networkFuture.get(); // 构建查找Map Map cpuUtilMap = cpuUtilList.stream() @@ -433,6 +433,7 @@ public class RmResourceRegistrationServiceImpl implements IRmResourceRegistratio int businessIpCount = 1; for (RmNetworkInterfaceRemote network : networkList) { + if ("1".equals(network.getBindIp()) || "3".equals(network.getBindIp())) { // 业务IP处理 if (businessIpCount > 3) { diff --git a/tongran-rocketmq/src/main/java/com/tongran/rocketmq/domain/RmNetworkInterface.java b/tongran-rocketmq/src/main/java/com/tongran/rocketmq/domain/RmNetworkInterface.java index 0187888..698b1be 100644 --- a/tongran-rocketmq/src/main/java/com/tongran/rocketmq/domain/RmNetworkInterface.java +++ b/tongran-rocketmq/src/main/java/com/tongran/rocketmq/domain/RmNetworkInterface.java @@ -65,5 +65,7 @@ public class RmNetworkInterface extends BaseEntity private Integer newFlag; /** 服务器clientId集合 */ private String clientIds; + /** 查询所有网卡的clientId集合 */ + private String allClientIds; } diff --git a/tongran-rocketmq/src/main/resources/mapper/rocketmq/RmNetworkInterfaceMapper.xml b/tongran-rocketmq/src/main/resources/mapper/rocketmq/RmNetworkInterfaceMapper.xml index de58fde..d2e87ea 100644 --- a/tongran-rocketmq/src/main/resources/mapper/rocketmq/RmNetworkInterfaceMapper.xml +++ b/tongran-rocketmq/src/main/resources/mapper/rocketmq/RmNetworkInterfaceMapper.xml @@ -51,6 +51,12 @@ #{clientId} + + and client_id in + + #{clientId} + +