From ac406d88fe55c4c8dfbe3444bb2969426f7d9f6a Mon Sep 17 00:00:00 2001 From: gaoyutao Date: Tue, 13 Jan 2026 18:43:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dpppoe=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E5=BC=82=E5=B8=B8bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/RmPppoeConfigMainServiceImpl.java | 61 ++++++++++--------- 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/tongran-rocketmq/src/main/java/com/tongran/rocketmq/service/impl/RmPppoeConfigMainServiceImpl.java b/tongran-rocketmq/src/main/java/com/tongran/rocketmq/service/impl/RmPppoeConfigMainServiceImpl.java index c5af84e..8cee696 100644 --- a/tongran-rocketmq/src/main/java/com/tongran/rocketmq/service/impl/RmPppoeConfigMainServiceImpl.java +++ b/tongran-rocketmq/src/main/java/com/tongran/rocketmq/service/impl/RmPppoeConfigMainServiceImpl.java @@ -55,6 +55,9 @@ public class RmPppoeConfigMainServiceImpl implements IRmPppoeConfigMainService RmPppoeConfigSub rmPppoeConfigSub = new RmPppoeConfigSub(); rmPppoeConfigSub.setClientId(rmPppoeConfigMain.getClientId()); List subList = rmPppoeConfigSubMapper.selectRmPppoeConfigSubList(rmPppoeConfigSub); + if(subList == null){ + subList = new ArrayList<>(); + } if("1".equals(pppoeConfigMain.getPppoeConfigMode())){ for (RmPppoeConfigSub pppoeConfigSub : subList) { // 查询流量信息 @@ -129,7 +132,7 @@ public class RmPppoeConfigMainServiceImpl implements IRmPppoeConfigMainService */ public String convert(String bitStr, String toUnit) { if (bitStr == null || bitStr.trim().isEmpty()) { - throw new IllegalArgumentException("bit值不能为空"); + return null; } double bits = Double.parseDouble(bitStr.trim()); @@ -185,42 +188,44 @@ public class RmPppoeConfigMainServiceImpl implements IRmPppoeConfigMainService .map(RmPppoeConfigSub::toVo) .collect(Collectors.toList()); } + // 构建pppoe策略 + PppoeVo pppoeVo = new PppoeVo(); + BeanUtils.copyProperties(rmPppoeConfigMain, pppoeVo); + pppoeVo.setSubList(voList); + String pppoeStr = JSONObject.toJSONString(pppoeVo); + PolicyTypeVo policyTypeVo = new PolicyTypeVo(); + policyTypeVo.setPppoeConfig(pppoeStr); + MessageProducer messageProducer = new MessageProducer(); + String configJson = JSONObject.toJSONString(policyTypeVo); + DeviceMessage message = new DeviceMessage(); + message.setClientId(rmPppoeConfigMain.getClientId()); + message.setData(configJson); + message.setDataType(MsgEnum.获取最新策略应答.getValue()); + + messageProducer.sendAsyncProducerMessage( + producerMode.getAgentTopic(), + "", + "", + JSONObject.toJSONString(message) + ); }else if("2".equals(rmPppoeConfigMain.getPppoeConfigMode())) { processBandwidthResult(subList); } - // 构建pppoe策略 - PppoeVo pppoeVo = new PppoeVo(); - BeanUtils.copyProperties(rmPppoeConfigMain, pppoeVo); - pppoeVo.setSubList(voList); - String pppoeStr = JSONObject.toJSONString(pppoeVo); - PolicyTypeVo policyTypeVo = new PolicyTypeVo(); - policyTypeVo.setPppoeConfig(pppoeStr); - MessageProducer messageProducer = new MessageProducer(); - String configJson = JSONObject.toJSONString(policyTypeVo); - DeviceMessage message = new DeviceMessage(); - message.setClientId(rmPppoeConfigMain.getClientId()); - message.setData(configJson); - message.setDataType(MsgEnum.获取最新策略应答.getValue()); - - messageProducer.sendAsyncProducerMessage( - producerMode.getAgentTopic(), - "", - "", - JSONObject.toJSONString(message) - ); return 1; } public void processBandwidthResult(List subList){ if(subList != null && !subList.isEmpty()){ for (RmPppoeConfigSub rmPppoeConfigSub : subList) { - RmNetworkInterfaceChild insertData = new RmNetworkInterfaceChild(); - insertData.setBandwidthResult(rmPppoeConfigSub.getBandwidthResult()); - insertData.setMacAddress(rmPppoeConfigSub.getMacAddress()); - insertData.setInterfaceName(rmPppoeConfigSub.getInterfaceName()); - insertData.setClientId(rmPppoeConfigSub.getClientId()); - insertData.setNewFlag(1); - rmNetworkInterfaceChildMapper.insertRmNetworkInterfaceChild(insertData); + if(rmPppoeConfigSub.getClientId() != null){ + RmNetworkInterfaceChild insertData = new RmNetworkInterfaceChild(); + insertData.setBandwidthResult(rmPppoeConfigSub.getBandwidthResult()); + insertData.setMacAddress(rmPppoeConfigSub.getMacAddress()); + insertData.setInterfaceName(rmPppoeConfigSub.getInterfaceName()); + insertData.setClientId(rmPppoeConfigSub.getClientId()); + insertData.setNewFlag(1); + rmNetworkInterfaceChildMapper.insertRmNetworkInterfaceChild(insertData); + } } } }