From 463b9e4b68b8ab62a11c6985081fd5d62692cc79 Mon Sep 17 00:00:00 2001
From: cpT <1@123>
Date: 星期四, 29 一月 2026 19:42:07 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/network/ZyStationConnectDriver.java | 18 +++++++++++++++++-
1 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/zy/core/network/ZyStationConnectDriver.java b/src/main/java/com/zy/core/network/ZyStationConnectDriver.java
index 78be50b..59d0d1b 100644
--- a/src/main/java/com/zy/core/network/ZyStationConnectDriver.java
+++ b/src/main/java/com/zy/core/network/ZyStationConnectDriver.java
@@ -3,6 +3,7 @@
import com.zy.asrs.entity.DeviceConfig;
import com.zy.common.utils.RedisUtil;
import com.zy.core.ThreadHandler;
+import com.zy.core.enums.RedisKeyType;
import com.zy.core.model.CommandResponse;
import com.zy.core.model.command.StationCommand;
import com.zy.core.network.api.ZyStationConnectApi;
@@ -114,7 +115,22 @@
}
public CommandResponse sendCommand(StationCommand command) {
- return zyStationConnectApi.sendCommand(deviceConfig.getDeviceNo(), command);
+ while (true) {
+ Object lock = redisUtil.get(RedisKeyType.STATION_EXECUTE_COMMAND_LOCK.key);
+ if(lock != null) {
+ try {
+ Thread.sleep(500);
+ }catch (Exception e) {
+ e.printStackTrace();
+ }
+ }else {
+ redisUtil.set(RedisKeyType.STATION_EXECUTE_COMMAND_LOCK.key, "lock", 60 * 5);
+ break;
+ }
+ }
+ CommandResponse commandResponse = zyStationConnectApi.sendCommand(deviceConfig.getDeviceNo(), command);
+ redisUtil.del(RedisKeyType.STATION_EXECUTE_COMMAND_LOCK.key);
+ return commandResponse;
}
public CommandResponse sendOriginCommand(String address, short[] data) {
--
Gitblit v1.9.1