From 285a51e8bc0f9128ea238d3edfe6c654a30e1acb Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 04 七月 2025 15:04:17 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/impl/NyShuttleThread.java |   51 +++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 47 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java b/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
index 155696b..12d4ac3 100644
--- a/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
@@ -88,7 +88,13 @@
         Thread executeThread = new Thread(() -> {
             while (true) {
                 try {
-                    ShuttleAction shuttleAction = SpringUtils.getBean(ShuttleAction.class);
+                    ShuttleAction shuttleAction = null;
+                    try {
+                        shuttleAction = SpringUtils.getBean(ShuttleAction.class);
+                    }catch (Exception e){
+                        continue;
+                    }
+
                     if (shuttleAction == null) {
                         continue;
                     }
@@ -259,12 +265,21 @@
             }
 
             //----------璇诲彇鍥涘悜绌挎杞︾姸鎬�-----------
-            DeviceMsgUtils deviceMsgUtils = SpringUtils.getBean(DeviceMsgUtils.class);
+            DeviceMsgUtils deviceMsgUtils = null;
+            try {
+                deviceMsgUtils = SpringUtils.getBean(DeviceMsgUtils.class);
+            }catch (Exception e){
+
+            }
+            if(deviceMsgUtils == null){
+                return;
+            }
+
             NyShuttleHttpCommand readStatusCommand = getReadStatusCommand(slave.getId());
             //鎸囦护瓒呰繃浜旀潯锛屼笉鍐嶄笅鍙戜换鍔$姸鎬佽姹�
             TreeSet<String> deviceCommandMsgListKey = deviceMsgUtils.getDeviceCommandMsgListKey(SlaveType.Shuttle, slave.getId());
             if (deviceCommandMsgListKey.size() < 5) {
-                requestCommand(readStatusCommand);//璇锋眰鐘舵��
+                requestCommandAsync(readStatusCommand);//璇锋眰鐘舵��
             }
 
             if (this.socketReadResults.isEmpty()) {
@@ -1086,7 +1101,7 @@
         return httpStandard;
     }
 
-    //鍙戝嚭璇锋眰
+    //鍙戝嚭璇锋眰-鍚屾
     private JSONObject requestCommand(NyShuttleHttpCommand httpCommand) throws IOException {
         try {
             DeviceMsgUtils deviceMsgUtils = SpringUtils.getBean(DeviceMsgUtils.class);
@@ -1132,6 +1147,34 @@
         return null;
     }
 
+    //鍙戝嚭璇锋眰-绉绘
+    private void requestCommandAsync(NyShuttleHttpCommand httpCommand) throws IOException {
+        try {
+            DeviceMsgUtils deviceMsgUtils = SpringUtils.getBean(DeviceMsgUtils.class);
+            if (deviceMsgUtils == null) {
+                return;
+            }
+
+            //鍘嬬缉鏁版嵁鍖�
+            JSONObject data = JSON.parseObject(JSON.toJSONString(httpCommand));
+            data.remove("nodes");
+
+            String key = deviceMsgUtils.sendDeviceCommand(SlaveType.Shuttle, slave.getId(), data);
+
+            String requestType = null;
+            String taskId = null;
+            try {
+                requestType = httpCommand.getRequest().getBody().get("requestType").toString();
+                taskId = httpCommand.getRequest().getBody().get("taskId").toString();
+            } catch (Exception e) {
+//            return null;
+                //taskId鍙兘鍙栫┖锛屼笉鎶ラ敊锛屾甯告儏鍐�
+            }
+        }catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
     private JSONObject filterBodyData(JSONObject data) {
         Object response = data.get("response");
         if (response == null) {

--
Gitblit v1.9.1