From 53a71007458bdded764dc52a39d596f8c4ca28db Mon Sep 17 00:00:00 2001
From: DELL <DELL@qq.com>
Date: 星期四, 18 九月 2025 15:42:41 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/fake/FakeNyShuttleThread.java | 94 ++++++++++++++++++----------------------------
1 files changed, 37 insertions(+), 57 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/fake/FakeNyShuttleThread.java b/src/main/java/com/zy/core/thread/fake/FakeNyShuttleThread.java
index 3aa424b..f93f317 100644
--- a/src/main/java/com/zy/core/thread/fake/FakeNyShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/fake/FakeNyShuttleThread.java
@@ -172,6 +172,10 @@
}
List<DeviceConfig> deviceConfigs = fakeDeviceUtils.getFakeDeviceConfig();
for (DeviceConfig device : deviceConfigs) {
+ if (!device.getDeviceType().equals(String.valueOf(SlaveType.Shuttle))) {
+ continue;
+ }
+
excuteFakeCommand(String.valueOf(SlaveType.Shuttle) + device.getDeviceNo(), device);
}
}catch (Exception e){
@@ -353,26 +357,22 @@
fakeStatus.put("currentCode", JSON.toJSONString(point));
fakeStatus.put("deviceStatus", 1);//璁惧绌洪棽
fakeStatusMap.put(key, fakeStatus);
- } else if (commandType.equals("move")) {
- boolean firstMove = true;
-
+ } else if (commandType.equals("move") || commandType.equals("intoLift") || commandType.equals("outLift")) {
String baseCommandKey = RedisKeyType.FAKE_SHUTTLE_MOVE_EXECUTE_COMMAND_LIST.key + deviceConfig.getDeviceNo() + "_";
- Set<String> keys = redisUtil.searchKeys(baseCommandKey);
-
- if (!keys.isEmpty()) {
- firstMove = false;
+ while (true) {
+ Set<String> keys = redisUtil.searchKeys(baseCommandKey);
+ if (keys.isEmpty()) {
+ break;
+ }
}
-
- JSONObject body = command.getJSONObject("commandBody");
- String pathList = body.getString("path");
- List<JSONObject> list = JSON.parseArray(pathList, JSONObject.class);
String finalKey = baseCommandKey + System.currentTimeMillis();
- redisUtil.set(finalKey, list);
+ redisUtil.set(finalKey, true, 60 * 2);
- if(!firstMove) {
- return;
- }
+ JSONObject body = command.getJSONObject("commandBody");
+ String requestType = body.getString("requestType");
+ String pathList = body.getString("path");
+ List<JSONObject> executePathList = JSON.parseArray(pathList, JSONObject.class);
fakeStatus.put("deviceStatus", 0);//璁惧蹇欑
fakeStatusMap.put(key, fakeStatus);
@@ -384,57 +384,37 @@
break;
}
- while (true) {
- Set<String> searchKeys = redisUtil.searchKeys(baseCommandKey);
- if(searchKeys.isEmpty()) {
+ for (JSONObject path : executePathList) {
+ while (true) {
+ JSONObject realFakeStatus = fakeStatusMap.get(key);
+ Integer errorCode = realFakeStatus.getInteger("errorCode");
+ if (errorCode > 0) {
+ continue;
+ }
break;
}
- TreeSet<String> treeSet = new TreeSet<>();
- for (String tmpKey : searchKeys) {
- treeSet.add(tmpKey);
- }
-
- String first = treeSet.first();
-
- Object object = redisUtil.get(first);
- if(object == null) {
+ while (true) {
+ if((System.currentTimeMillis() - startTime) < 1000 * 1) {
+ continue;
+ }
break;
}
- List<JSONObject> executePathList = (List<JSONObject>) object;
- for (JSONObject path : executePathList) {
- while (true) {
- JSONObject realFakeStatus = fakeStatusMap.get(key);
- Integer errorCode = realFakeStatus.getInteger("errorCode");
- if (errorCode > 0) {
- continue;
- }
- break;
- }
-
- while (true) {
- if((System.currentTimeMillis() - startTime) < 1000 * 1) {
- continue;
- }
- break;
- }
-
- String currentCode = fakeStatus.getString("currentCode");
- JSONObject point = JSON.parseObject(currentCode);
- point.put("x", path.getInteger("xp"));
- point.put("y", path.getInteger("yp"));
- point.put("z", path.getInteger("z"));
- fakeStatus.put("currentCode", JSON.toJSONString(point));
- fakeStatus.put("deviceStatus", 0);//璁惧蹇欑
- fakeStatusMap.put(key, fakeStatus);
- startTime = System.currentTimeMillis();
- }
- redisUtil.del(first);
+ String currentCode = fakeStatus.getString("currentCode");
+ JSONObject point = JSON.parseObject(currentCode);
+ point.put("x", path.getInteger("xp"));
+ point.put("y", path.getInteger("yp"));
+ point.put("z", path.getInteger("z"));
+ fakeStatus.put("currentCode", JSON.toJSONString(point));
+ fakeStatus.put("deviceStatus", 0);//璁惧蹇欑
+ fakeStatusMap.put(key, fakeStatus);
+ startTime = System.currentTimeMillis();
}
fakeStatus.put("deviceStatus", 1);//璁惧绌洪棽
fakeStatusMap.put(key, fakeStatus);
+ redisUtil.del(finalKey);
}
} catch (Exception e) {
e.printStackTrace();
@@ -517,7 +497,7 @@
} else if (requestType.equals("updateFloor")) {
fakeCommandMap.put(String.valueOf(SlaveType.Shuttle) + device.getDeviceNo(), fakeCommand);
response = genereateFakeCommandResponse(requestId, taskId, requestType);
- } else if (requestType.equals("move")) {
+ } else if (requestType.equals("move") || requestType.equals("intoLift") || requestType.equals("outLift")) {
fakeCommandMap.put(String.valueOf(SlaveType.Shuttle) + device.getDeviceNo(), fakeCommand);
response = genereateFakeCommandResponse(requestId, taskId, requestType);
} else if (requestType.equals("readState")) {
--
Gitblit v1.9.1