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