From 9a81408ada0880015aef7925efa05c84757cf6c6 Mon Sep 17 00:00:00 2001 From: gaoyutao Date: Fri, 12 Dec 2025 15:43:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=B8=9A=E5=8A=A1IP=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E3=80=81=E9=9D=99=E6=80=81=E8=B7=AF=E7=94=B1=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E9=80=BB=E8=BE=91=E3=80=82=20=E6=8B=93=E6=89=91?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=AF=B9=E7=AB=AF=E4=BA=A4=E6=8D=A2=E6=9C=BA?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/api/RemoteRocketMqService.java | 4 +-- .../domain/RmEpsTopologyManagement.java | 2 ++ .../RmEpsTopologyManagementServiceImpl.java | 3 ++- .../RmResourceRegistrationServiceImpl.java | 26 ++++++++++++++----- .../system/RmEpsTopologyManagementMapper.xml | 24 ++++++++++++++++- 5 files changed, 49 insertions(+), 10 deletions(-) diff --git a/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/RemoteRocketMqService.java b/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/RemoteRocketMqService.java index 9839a3b..4351abf 100644 --- a/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/RemoteRocketMqService.java +++ b/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/RemoteRocketMqService.java @@ -70,7 +70,7 @@ public interface RemoteRocketMqService { * @return */ @GetMapping("/monitorPolicy/innerIssueSwitchPolicy") - public R innerIssueSwitchPolicy(Long id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + public R innerIssueSwitchPolicy(@RequestParam("id") Long id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 查询策略信息 * @param rmMonitorPolicyRemote @@ -95,7 +95,7 @@ public interface RemoteRocketMqService { * @return */ @GetMapping("/monitorPolicy/issueDefaultPolicyByClientId") - public R issueDefaultPolicyByClientId(String clientId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + public R issueDefaultPolicyByClientId(@RequestParam("clientId") String clientId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @PostMapping("policy/addDeployScript") R addDeployScript(@RequestBody RmDeployScriptRemote addData, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/tongran-modules/tongran-system/src/main/java/com/tongran/system/domain/RmEpsTopologyManagement.java b/tongran-modules/tongran-system/src/main/java/com/tongran/system/domain/RmEpsTopologyManagement.java index cb0cf98..bb5989c 100644 --- a/tongran-modules/tongran-system/src/main/java/com/tongran/system/domain/RmEpsTopologyManagement.java +++ b/tongran-modules/tongran-system/src/main/java/com/tongran/system/domain/RmEpsTopologyManagement.java @@ -92,4 +92,6 @@ public class RmEpsTopologyManagement extends BaseEntity * 服务器clientId */ private String serverClientId; + /** 对端交换机名称 */ + private String peerName; } diff --git a/tongran-modules/tongran-system/src/main/java/com/tongran/system/service/impl/RmEpsTopologyManagementServiceImpl.java b/tongran-modules/tongran-system/src/main/java/com/tongran/system/service/impl/RmEpsTopologyManagementServiceImpl.java index 24b04b4..661b093 100644 --- a/tongran-modules/tongran-system/src/main/java/com/tongran/system/service/impl/RmEpsTopologyManagementServiceImpl.java +++ b/tongran-modules/tongran-system/src/main/java/com/tongran/system/service/impl/RmEpsTopologyManagementServiceImpl.java @@ -41,7 +41,8 @@ public class RmEpsTopologyManagementServiceImpl implements IRmEpsTopologyManagem @Override public List selectRmEpsTopologyManagementList(RmEpsTopologyManagement rmEpsTopologyManagement) { - return rmEpsTopologyManagementMapper.selectRmEpsTopologyManagementList(rmEpsTopologyManagement); + List list = rmEpsTopologyManagementMapper.selectRmEpsTopologyManagementList(rmEpsTopologyManagement); + return list; } /** 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 2ecfa55..e979a6e 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 @@ -961,8 +961,11 @@ public class RmResourceRegistrationServiceImpl implements IRmResourceRegistratio // 1. 处理IP绑定和记录 rmResourceRegistration.getBindNetworkMsg().forEach(map -> { // 绑定IP + if (map.get("id") == null) { + return; + } RmNetworkInterfaceRemote network = new RmNetworkInterfaceRemote(); - network.setId((Long) map.get("id")); + network.setId(Long.parseLong(map.get("id").toString())); network.setBindIp(map.get("status").toString()); remoteRocketMqService.bindPublicIp(network, SecurityConstants.INNER); @@ -998,6 +1001,13 @@ public class RmResourceRegistrationServiceImpl implements IRmResourceRegistratio .filter(ni -> "1".equals(ni.getBindIp()) || "3".equals(ni.getBindIp())) .collect(Collectors.toList())) .orElse(Collections.emptyList()); + // 管理网信息 + List mtmNetworks = Optional.ofNullable(netList) + .map(R::getData) + .map(list -> list.stream() + .filter(ni -> "2".equals(ni.getBindIp()) || "3".equals(ni.getBindIp())) + .collect(Collectors.toList())) + .orElse(Collections.emptyList()); // 如果有符合条件的网络接口 if (!filteredNetworks.isEmpty()) { @@ -1014,10 +1024,6 @@ public class RmResourceRegistrationServiceImpl implements IRmResourceRegistratio String netName = netNameBuilder.toString(); // 发送注册响应 - RouteMsg routeMsg = new RouteMsg(); - routeMsg.setName(filteredNetworks.get(0).getInterfaceName()); // 使用拼接后的网络接口名称 - routeMsg.setGateway(filteredNetworks.get(0).getGateway()); // 使用第一个网络接口的网关,或者您可以根据需要调整 - MessageVo messageVo = new MessageVo(); messageVo.setClientId(clientId); messageVo.setDataType(MsgEnum.注册应答.getValue()); @@ -1025,7 +1031,15 @@ public class RmResourceRegistrationServiceImpl implements IRmResourceRegistratio RspVo rspVo = new RspVo(); rspVo.setResCode(1); rspVo.setResMag("注册成功"); - rspVo.setAddRoute(JSONObject.toJSONString(routeMsg)); + if(mtmNetworks != null && !mtmNetworks.isEmpty()){ + RouteMsg routeMsg = new RouteMsg(); + String gateWay = mtmNetworks.get(0).getGateway(); + routeMsg.setName(mtmNetworks.get(0).getInterfaceName()); // 使用拼接后的网络接口名称 + routeMsg.setGateway(gateWay); // 使用第一个网络接口的网关,或者您可以根据需要调整 + if(gateWay != null){ + rspVo.setAddRoute(JSONObject.toJSONString(routeMsg)); + } + } rspVo.setNetName(netName); messageVo.setData(JSONObject.toJSONString(rspVo)); diff --git a/tongran-modules/tongran-system/src/main/resources/mapper/system/RmEpsTopologyManagementMapper.xml b/tongran-modules/tongran-system/src/main/resources/mapper/system/RmEpsTopologyManagementMapper.xml index 8e6d6ce..63b75b4 100644 --- a/tongran-modules/tongran-system/src/main/resources/mapper/system/RmEpsTopologyManagementMapper.xml +++ b/tongran-modules/tongran-system/src/main/resources/mapper/system/RmEpsTopologyManagementMapper.xml @@ -24,10 +24,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select id, switch_name, client_id, switch_sn, interface_name, connected_device_type, server_name, server_sn, server_port, create_time, update_time, creator_id, creator_name, updater_id, updater_name, switch_ip_address, peer_switch_name, peer_switch_interface, server_client_id from rm_eps_topology_management + SELECT + id, + switch_name, + client_id, + switch_sn, + interface_name, + connected_device_type, + server_name, + server_sn, + server_port, + create_time, + update_time, + creator_id, + creator_name, + updater_id, + updater_name, + switch_ip_address, + peer_switch_name, + (SELECT switch_name FROM rm_switch_management WHERE client_id = rm_eps_topology_management.peer_switch_name) AS peerName, + peer_switch_interface, + server_client_id + FROM rm_eps_topology_management