From f1af214b75848c7b026a7ca477e2a543d0c5280c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=AE=87=E8=88=AA?= <653809315@qq.com> Date: Thu, 25 Jan 2024 10:24:14 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9B=B7=E8=BE=BE=E6=96=B0=E5=A2=9E=E5=92=8C?= =?UTF-8?q?=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/RadarStatusController.java | 13 +++++++++++++ .../web/controller/system/SysRadarController.java | 5 +++-- .../java/com/ruoyi/common/utils/SocketModel.java | 2 ++ .../main/resources/mapper/system/SysRadarMapper.xml | 2 +- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/RadarStatusController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/RadarStatusController.java index 91d7f3f..78bbd02 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/RadarStatusController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/RadarStatusController.java @@ -43,6 +43,7 @@ import java.sql.Statement; import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CopyOnWriteArrayList; +import java.util.stream.Collectors; /** * 雷达状态 @@ -183,6 +184,7 @@ public class RadarStatusController implements InitializingBean { try { Socket socket = new Socket(radar.getRadarIp(), 23); SocketModel socketModel = new SocketModel(); + socketModel.setId(radar.getId()); socketModel.setRadarLocation(radar.getRadarLocation()); socketModel.setSocket(socket); socketModel.setRadarIp(radar.getRadarIp()); @@ -193,6 +195,17 @@ public class RadarStatusController implements InitializingBean { } } + public static void addRadar(List radarList) { + List idList = allRadar.stream().map(SocketModel::getId).collect(Collectors.toList()); + List filterList = radarList.stream().filter(item -> !idList.contains(item.getId())).collect(Collectors.toList()); + buildAllRadar(filterList); + } + + public static void delRadar(Long id) { + allRadar.removeIf(item -> item.getId().equals(id)); + } + + private void asyncReadRadar(SocketModel socketModel) { CompletableFuture.runAsync(()->{ try { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRadarController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRadarController.java index beec0fe..e450475 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRadarController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRadarController.java @@ -73,7 +73,8 @@ public class SysRadarController extends BaseController { public AjaxResult addSave(@Validated SysRadar radar) { radar.setCreateBy(getLoginName()); int result = radarService.insertRadar(radar); - RadarStatusController.buildAllRadar(radarService.selectRadarList(new SysRadar())); + List sysRadars = radarService.selectRadarList(new SysRadar()); + RadarStatusController.addRadar(sysRadars); return toAjax(result); } @@ -106,7 +107,7 @@ public class SysRadarController extends BaseController { @ResponseBody public AjaxResult remove(String ids) { int result = radarService.deleteRadarByIds(ids); - RadarStatusController.buildAllRadar(radarService.selectRadarList(new SysRadar())); + RadarStatusController.delRadar(Long.valueOf(ids)); return toAjax(result); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SocketModel.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SocketModel.java index 5f8f2ee..ad3ff01 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SocketModel.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SocketModel.java @@ -6,6 +6,8 @@ import java.net.Socket; @Data public class SocketModel { + private Long id; + private String radarIp; private String radarLocation; diff --git a/ruoyi-system/src/main/resources/mapper/system/SysRadarMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysRadarMapper.xml index 1ec1894..07c28b9 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysRadarMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysRadarMapper.xml @@ -35,7 +35,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND r.sort = #{sort} - order by id asc + order by id desc