From e602ff151f2d952598fcd1c9d200e5ecb47fad48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=AE=87=E8=88=AA?= <653809315@qq.com> Date: Mon, 8 Jan 2024 14:52:01 +0800 Subject: [PATCH] 1 --- .../system/RadarStatusController.java | 34 +++++++++++++------ 1 file changed, 23 insertions(+), 11 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 a82b134..01dbe05 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 @@ -29,6 +29,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.concurrent.CompletableFuture; /** * 标识器状态 @@ -62,19 +63,30 @@ public class RadarStatusController { TableDataInfo rspData = new TableDataInfo(); List radarList = service.selectRadarList(sysRadar); - for (SysRadar radar : radarList) { - while (true){ - ModbusMaster master = ModbusUtils.getSlave(radar.getRadarIp(), 23); - try { - ModbusResponse modbusResponse = ModbusUtils.holdingRegister(); - System.out.println(modbusResponse); - } catch (ModbusTransportException e) { - throw new RuntimeException(e); - } catch (ErrorResponseException e) { - throw new RuntimeException(e); + // 异步连接硬件 + CompletableFuture> listCompletableFuture = CompletableFuture.supplyAsync(() -> { + List responses = new ArrayList<>(); + for (SysRadar radar : radarList) { + ModbusResponse modbusResponse = new ModbusResponse(); + while (true) { + ModbusMaster master = ModbusUtils.getSlave(radar.getRadarIp(), 23); + try { + modbusResponse = ModbusUtils.holdingRegister(); + System.out.println(modbusResponse); + } catch (ModbusTransportException e) { + throw new RuntimeException(e); + } catch (ErrorResponseException e) { + throw new RuntimeException(e); + } } } - } + return responses; + }); + listCompletableFuture.thenAccept(modbusResponses -> { + for (ModbusResponse modbusResponse : modbusResponses) { + System.out.println(modbusResponse); + } + }); PageDomain pageDomain = TableSupport.buildPageRequest(); if (null == pageDomain.getPageNum() || null == pageDomain.getPageSize()) {