From f033da325dd16825bbca0d1ac71cc76420dfc8a2 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期五, 09 一月 2026 11:14:36 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/network/ZyStationConnectDriver.java | 31 +++++++++++++++++++++++++++----
1 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/zy/core/network/ZyStationConnectDriver.java b/src/main/java/com/zy/core/network/ZyStationConnectDriver.java
index 7ec13eb..78be50b 100644
--- a/src/main/java/com/zy/core/network/ZyStationConnectDriver.java
+++ b/src/main/java/com/zy/core/network/ZyStationConnectDriver.java
@@ -9,7 +9,9 @@
import com.zy.core.network.entity.ZyStationStatusEntity;
import java.util.List;
import com.zy.core.network.fake.ZyStationFakeConnect;
+import com.zy.core.network.fake.ZyStationFakeSegConnect;
import com.zy.core.network.real.ZyStationRealConnect;
+import com.zy.core.network.real.ZyStationV3RealConnect;
import lombok.extern.slf4j.Slf4j;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
@@ -21,6 +23,9 @@
*/
@Slf4j
public class ZyStationConnectDriver implements ThreadHandler {
+
+ private static final ZyStationFakeConnect zyStationFakeConnect = new ZyStationFakeConnect();
+ private static final ZyStationFakeSegConnect zyStationFakeSegConnect = new ZyStationFakeSegConnect();
private boolean connected = false;
private DeviceConfig deviceConfig;
@@ -42,9 +47,19 @@
@Override
public boolean connect() {
if (deviceConfig.getFake() == 0) {
- zyStationConnectApi = new ZyStationRealConnect(deviceConfig, redisUtil);
+ if ("ZyStationV3Thread".equals(deviceConfig.getThreadImpl())) {
+ zyStationConnectApi = new ZyStationV3RealConnect(deviceConfig, redisUtil);
+ } else {
+ zyStationConnectApi = new ZyStationRealConnect(deviceConfig, redisUtil);
+ }
} else {
- zyStationConnectApi = new ZyStationFakeConnect(deviceConfig, redisUtil);
+ if ("ZyStationV3Thread".equals(deviceConfig.getThreadImpl())) {
+ zyStationFakeSegConnect.addFakeConnect(deviceConfig, redisUtil);
+ zyStationConnectApi = zyStationFakeSegConnect;
+ } else {
+ zyStationFakeConnect.addFakeConnect(deviceConfig, redisUtil);
+ zyStationConnectApi = zyStationFakeConnect;
+ }
}
boolean connect = zyStationConnectApi.connect();
@@ -95,10 +110,18 @@
if (zyStationConnectApi == null) {
return null;
}
- return zyStationConnectApi.getStatus();
+ return zyStationConnectApi.getStatus(deviceConfig.getDeviceNo());
}
public CommandResponse sendCommand(StationCommand command) {
- return zyStationConnectApi.sendCommand(command);
+ return zyStationConnectApi.sendCommand(deviceConfig.getDeviceNo(), command);
+ }
+
+ public CommandResponse sendOriginCommand(String address, short[] data) {
+ return zyStationConnectApi.sendOriginCommand(address, data);
+ }
+
+ public byte[] readOriginCommand(String address, int length) {
+ return zyStationConnectApi.readOriginCommand(address, length);
}
}
--
Gitblit v1.9.1