From dad3cd8ed8afa86b651bb1a053421e7aa2b8c7ac Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期日, 05 五月 2024 16:31:09 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java | 41 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 36 insertions(+), 5 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java index 1233ccd..b0ff86f 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java @@ -190,7 +190,10 @@ NyShuttleHttpCommand readStatusCommand = getReadStatusCommand(Integer.parseInt(device.getDeviceNo())); JSONObject data = requestCommand(readStatusCommand); if (data == null) { -// shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.OFFLINE); + if (System.currentTimeMillis() - shuttleProtocol.getLastOnlineTime() > 1000 * 60) { + //鏈�鍚庝竴娆′笂绾挎椂闂磋秴杩�60s锛岃瀹氱绾� + shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.OFFLINE); + } OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆戝洓鍚戠┛姊溅Socket鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), device.getId(), device.getIp(), device.getPort())); }else { @@ -361,11 +364,39 @@ try { //鍙戝嚭璇锋眰 NyShuttleHttpCommand httpCommand = JSON.parseObject(command.getBody(), NyShuttleHttpCommand.class); - JSONObject result = requestCommand(httpCommand); - if (result == null) { - return false;//璇锋眰澶辫触 + Map<String, Object> body = httpCommand.getRequest().getBody(); + Object pathObj = body.get("path"); + List<JSONObject> path = JSON.parseArray(JSON.toJSONString(pathObj), JSONObject.class); + ArrayList<NyShuttleHttpCommand> commandList = new ArrayList<>(); + while (!path.isEmpty()) { + ArrayList<Map<String, Object>> list = new ArrayList<>(); + if (path.size() > 10) { + List<JSONObject> subList = path.subList(0, 10); + list.addAll(subList); + subList.clear(); + }else { + list.addAll(path); + path.clear(); + } + + NyShuttleHttpCommand httpCommandCopy = JSON.parseObject(JSON.toJSONString(httpCommand), NyShuttleHttpCommand.class); + JSONObject bodyCopy = JSON.parseObject(JSON.toJSONString(body)); + + NyShuttleHttpCommand.NyRequest request = httpCommandCopy.getRequest(); + bodyCopy.put("path", list); + request.setBody(bodyCopy); + httpCommandCopy.setRequest(request); + + commandList.add(httpCommandCopy);//add copy } - this.shuttleProtocol.setSendTime(System.currentTimeMillis());//鎸囦护涓嬪彂鏃堕棿 + + for (NyShuttleHttpCommand requestCommand : commandList) { + JSONObject result = requestCommand(requestCommand); + if (result == null) { + return false;//璇锋眰澶辫触 + } + this.shuttleProtocol.setSendTime(System.currentTimeMillis());//鎸囦护涓嬪彂鏃堕棿 + } return true; } catch (IOException e) { return false; -- Gitblit v1.9.1