From 3142890ba3cfd7fc544857d6922475d8d58e8991 Mon Sep 17 00:00:00 2001 From: mengff <1198151809@qq.com> Date: Wed, 13 Mar 2024 14:15:23 +0800 Subject: [PATCH] =?UTF-8?q?--=E6=A3=80=E6=B5=8B=E8=AE=BE=E5=A4=87=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E5=88=87=E6=8D=A2dc=5Fdevice=E8=A1=A8=20--=E5=88=87?= =?UTF-8?q?=E6=8D=A2device=5Fid=E4=B8=BA=E4=B8=BB=E9=94=AE=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=20--=E6=9B=B4=E6=94=B9=E8=A1=A8=E7=9B=B8=E5=AF=B9?= =?UTF-8?q?=E5=BA=94=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zc/business/controller/DeviceStatus.java | 27 +++++++------ .../business/controller/StatusController.java | 38 ++++++++++--------- .../java/com/zc/business/domain/Status.java | 12 ++++++ .../mapper/business/StatusMapper.xml | 24 ++++++++---- 4 files changed, 64 insertions(+), 37 deletions(-) diff --git a/zc-business/src/main/java/com/zc/business/controller/DeviceStatus.java b/zc-business/src/main/java/com/zc/business/controller/DeviceStatus.java index 33572392..659453ba 100644 --- a/zc-business/src/main/java/com/zc/business/controller/DeviceStatus.java +++ b/zc-business/src/main/java/com/zc/business/controller/DeviceStatus.java @@ -1,5 +1,6 @@ package com.zc.business.controller; +import com.github.pagehelper.util.StringUtil; import com.ruoyi.common.utils.spring.SpringUtils; import com.zc.business.domain.DcDevice; import com.zc.business.service.IDcDeviceService; @@ -54,25 +55,29 @@ public class DeviceStatus { Callable task = () -> { try { Status status = new Status(); - InetAddress address = InetAddress.getByName(device.getDeviceIp()); - String lostRate = getPingPacketLossRate(device.getDeviceIp()); - boolean reachable = address.isReachable(5000); // Timeout: 5 seconds - status.setDeviceNo(device.getStakeMark()); status.setDeviceName(device.getDeviceName()); status.setDeviceIp(device.getDeviceIp()); + status.setDeviceId(device.getId()); LocalDateTime localDateTime = LocalDateTime.now(); status.setTime(localDateTime); - status.setLostRate(lostRate); - - if (reachable) { - status.setDeviceStatus(1); - status.setSuccessRate("100.00%"); - } else { + if(StringUtil.isNotEmpty(device.getDeviceIp())) { + InetAddress address = InetAddress.getByName(device.getDeviceIp()); + String lostRate = getPingPacketLossRate(device.getDeviceIp()); + boolean reachable = address.isReachable(5000); // Timeout: 5 seconds + status.setLostRate(lostRate); + if (reachable) { + status.setDeviceStatus(1); + status.setSuccessRate("100.00%"); + } else { + status.setDeviceStatus(0); + status.setSuccessRate("0.00%"); + } + }else{ status.setDeviceStatus(0); status.setSuccessRate("0.00%"); + status.setLostRate("100.00%"); } - statusService.Add(status); } catch (IOException e) { System.out.println("Error pinging " + device.getDeviceIp() + ": " + e.getMessage()); diff --git a/zc-business/src/main/java/com/zc/business/controller/StatusController.java b/zc-business/src/main/java/com/zc/business/controller/StatusController.java index e1e633de..382c4cda 100644 --- a/zc-business/src/main/java/com/zc/business/controller/StatusController.java +++ b/zc-business/src/main/java/com/zc/business/controller/StatusController.java @@ -100,23 +100,23 @@ public class StatusController extends BaseController { public AjaxResult getTypeList() { HashMap itemTypeMap = new HashMap<>(); - itemTypeMap.put("1", "高清网络枪型固定摄像机"); - itemTypeMap.put("2", "高清网络球形摄像机"); - itemTypeMap.put("3", "桥下高清网络球形摄像机"); - itemTypeMap.put("4", "360°全景摄像机"); - itemTypeMap.put("5", "180°全景摄像机"); - itemTypeMap.put("6", "门架式可变信息标志"); - itemTypeMap.put("7", "雨棚可变信息标志"); - itemTypeMap.put("8", "站前悬臂式可变信息标志"); - itemTypeMap.put("9", "气象检测器"); - itemTypeMap.put("10", "路段语音广播系统"); - itemTypeMap.put("11", "护栏碰撞预警系统"); - itemTypeMap.put("12", "毫米波雷达"); - itemTypeMap.put("13", "合流区预警系统"); - itemTypeMap.put("14", "激光疲劳唤醒"); - itemTypeMap.put("15", "一类交通量调查站"); - itemTypeMap.put("16", "智能行车诱导系统"); - itemTypeMap.put("17", "智能设备箱"); + itemTypeMap.put("1-1", "高清网络枪型固定摄像机"); + itemTypeMap.put("1-2", "高清网络球形摄像机"); + itemTypeMap.put("1-3", "桥下高清网络球形摄像机"); + itemTypeMap.put("1-4", "360°全景摄像机"); + itemTypeMap.put("1-5", "180°全景摄像机"); + itemTypeMap.put("2-1", "门架式可变信息标志"); + itemTypeMap.put("2-3", "雨棚可变信息标志"); + itemTypeMap.put("2-4", "站前悬臂式可变信息标志"); + itemTypeMap.put("3", "气象检测器"); + itemTypeMap.put("5", "路段语音广播系统"); + itemTypeMap.put("6", "护栏碰撞预警系统"); + itemTypeMap.put("7", "毫米波雷达"); + itemTypeMap.put("8", "合流区预警系统"); + itemTypeMap.put("10", "激光疲劳唤醒"); + itemTypeMap.put("11", "一类交通量调查站"); + itemTypeMap.put("12", "智能行车诱导系统"); + itemTypeMap.put("13", "智能设备箱"); LocalDateTime todayStart = LocalDateTime.now().truncatedTo(ChronoUnit.DAYS); LocalDateTime currentTime = LocalDateTime.now(); Status status = new Status(); @@ -153,7 +153,9 @@ public class StatusController extends BaseController { maps.put("failRate",failRate); //总数 maps.put("sum",String.valueOf(groupItems.size())); - subMap.put(itemTypeMap.get(entrys.getKey()),maps); + if(itemTypeMap.get(entrys.getKey())!=null) { + subMap.put(itemTypeMap.get(entrys.getKey()), maps); + } } Map maps=new HashMap<>(); double lostRate = lastEntry.stream() diff --git a/zc-business/src/main/java/com/zc/business/domain/Status.java b/zc-business/src/main/java/com/zc/business/domain/Status.java index dc146c21..0b79747c 100644 --- a/zc-business/src/main/java/com/zc/business/domain/Status.java +++ b/zc-business/src/main/java/com/zc/business/domain/Status.java @@ -117,6 +117,10 @@ public class Status { @Excel(name = "状态") private int deviceStatus; + + + + private Long deviceId; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss") @Excel(name = "监测时间", width = 30, dateFormat = "yyyy-MM-dd") @@ -194,6 +198,14 @@ public class Status { this.content = content; } + public Long getDeviceId() { + return deviceId; + } + + public void setDeviceId(Long deviceId) { + this.deviceId = deviceId; + } + @Excel(name = "型号") private String model; diff --git a/zc-business/src/main/resources/mapper/business/StatusMapper.xml b/zc-business/src/main/resources/mapper/business/StatusMapper.xml index 03ae6dde..7b6d216b 100644 --- a/zc-business/src/main/resources/mapper/business/StatusMapper.xml +++ b/zc-business/src/main/resources/mapper/business/StatusMapper.xml @@ -7,15 +7,16 @@ + - + - - + + @@ -33,6 +34,9 @@ device_status, + + device_id, + time, @@ -57,6 +61,9 @@ #{status.deviceStatus,jdbcType=INTEGER}, + + #{status.deviceId,jdbcType=BIGINT}, + #{status.time,jdbcType=DATE}, @@ -68,7 +75,7 @@ - #{status.deviceIp,jdbcType=VARCHAR}, + #{status.deviceIp,jdbcType=VARCHAR} @@ -78,9 +85,10 @@