From 09fcc4ec56a1ce6c0fcb308348d8dd5e2c08d336 Mon Sep 17 00:00:00 2001 From: fyxc <fyxc@qq.com> Date: 星期四, 22 五月 2025 14:33:06 +0800 Subject: [PATCH] server commit files --- src/main/java/com/zy/core/thread/impl/NyShuttleThread.java | 35 +++++++++++++++++++++-------------- 1 files changed, 21 insertions(+), 14 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 c025b26..1602251 100644 --- a/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java +++ b/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java @@ -151,7 +151,7 @@ return; } - if (System.currentTimeMillis() - shuttleProtocol.getDeviceDataLog() > 1000 * 5) { + if (System.currentTimeMillis() - shuttleProtocol.getDeviceDataLog() > 1000 * 1) { if (this.originDeviceData != null) { //閲囬泦鏃堕棿瓒呰繃5s锛屼繚瀛樹竴娆℃暟鎹褰� //淇濆瓨鏁版嵁璁板綍 @@ -292,6 +292,11 @@ requestCommandAsync(readStatusCommand);//璇锋眰鐘舵�� if (this.socketReadResults.isEmpty()) { + if (System.currentTimeMillis() - shuttleProtocol.getLastOnlineTime() > 1000 * 60) { + //鏈�鍚庝竴娆′笂绾挎椂闂磋秴杩�60s锛岃瀹氱绾� + this.shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.OFFLINE); + OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆戝洓鍚戠┛姊溅绂荤嚎浜�1 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort())); + } return; } @@ -300,7 +305,8 @@ if (data == null) { if (System.currentTimeMillis() - shuttleProtocol.getLastOnlineTime() > 1000 * 60) { //鏈�鍚庝竴娆′笂绾挎椂闂磋秴杩�60s锛岃瀹氱绾� - shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.OFFLINE); + this.shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.OFFLINE); + OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆戝洓鍚戠┛姊溅绂荤嚎浜�2 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort())); } OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆戝洓鍚戠┛姊溅Socket鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort())); }else { @@ -357,9 +363,13 @@ shuttleProtocol.setPakMk(true); } - if (shuttleProtocol.getProtocolStatusType() == null && shuttleProtocol.getDeviceStatus().intValue() == 0) { + if (shuttleProtocol.getProtocolStatusType() == null && shuttleProtocol.getDeviceStatus().intValue() == 1) { //灏忚溅绌洪棽鐘舵�併�佸皬杞︿换鍔$姸鎬佷负鏈煡锛岃瀹氭浘绂荤嚎杩囷紝闇�瑕佸浣嶆垚绌洪棽 - shuttleProtocol.setProtocolStatusType(ShuttleProtocolStatusType.IDLE); + this.shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE); + } + + if (shuttleProtocol.getProtocolStatusType().equals(ShuttleProtocolStatusType.OFFLINE) && shuttleProtocol.getDeviceStatus().intValue() == 1) { + this.shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE); } this.originDeviceData = data; @@ -403,6 +413,9 @@ String requestType = resultBody.getString("requestType"); Integer requestId = resultHeader.getInteger("requestId"); if (requestType.equals("init")) { + removeIdx = i;//姝ゆ暟鎹凡缁忓鐞嗭紝浠庣粨鏋滈泦涓墧闄� + socketResults.remove(removeIdx); + Integer code = resultBody.getInteger("code"); //灏忚溅澶嶄綅璇锋眰 ShuttleCommand initCommand = getInitCommand(requestId, code); @@ -410,16 +423,10 @@ NyShuttleHttpCommand httpCommand = JSON.parseObject(initCommand.getBody(), NyShuttleHttpCommand.class); JSONObject requestResult = requestCommand(httpCommand); - removeIdx = i;//姝ゆ暟鎹凡缁忓鐞嗭紝浠庣粨鏋滈泦涓墧闄� - log.info(MessageFormat.format("銆恵0}銆戝洓鍚戣溅澶嶄綅涓婃姤 ===>> [code:{1}] [ip:{2}] [port:{3}]", slave.getId(), code, slave.getIp(), slave.getPort())); OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆戝洓鍚戣溅澶嶄綅涓婃姤 ===>> [code:{1}] [ip:{2}] [port:{3}]", slave.getId(), code, slave.getIp(), slave.getPort())); break; } - } - - if (removeIdx != -1) { - socketResults.remove(removeIdx); } } catch (Exception e) { e.printStackTrace(); @@ -909,8 +916,8 @@ data.put("xp", xp); data.put("yp", yp); data.put("z", z); - data.put("x", mapNode.getXBase()); - data.put("y", mapNode.getYBase()); + data.put("x", mapNode.getYBase()); + data.put("y", mapNode.getXBase()); path.add(data); } @@ -1026,8 +1033,8 @@ location.put("xp", row); location.put("yp", bay); location.put("z", lev); - location.put("x", mapNode.getXBase()); - location.put("y", mapNode.getYBase()); + location.put("x", mapNode.getYBase()); + location.put("y", mapNode.getXBase()); HashMap<String, Object> body = new HashMap<>(); body.put("responseType", "init");//澶嶄綅 -- Gitblit v1.9.1