From 5b556e4e6744a57dcbc372f0277a071d75e300d3 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期二, 23 九月 2025 09:05:29 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/fake/FakeZyForkLiftThread.java |   43 ++++++++++++++++++++++++++++++++++++-------
 1 files changed, 36 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/fake/FakeZyForkLiftThread.java b/src/main/java/com/zy/core/thread/fake/FakeZyForkLiftThread.java
index 226573d..52a85d0 100644
--- a/src/main/java/com/zy/core/thread/fake/FakeZyForkLiftThread.java
+++ b/src/main/java/com/zy/core/thread/fake/FakeZyForkLiftThread.java
@@ -6,13 +6,14 @@
 import com.zy.common.SpringUtils;
 import com.zy.common.utils.RedisUtil;
 import com.zy.core.News;
-import com.zy.core.ThreadHandler;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.RedisKeyType;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.DeviceCommandMsgModel;
 import com.zy.core.model.DeviceMsgModel;
+import com.zy.core.model.param.UpdateFakeThreadStatusParam;
 import com.zy.core.properties.DeviceConfig;
+import com.zy.core.thread.FakeThread;
 import com.zy.core.thread.impl.ZyForkLiftThread;
 import com.zy.core.utils.DeviceMsgUtils;
 import com.zy.core.utils.FakeDeviceUtils;
@@ -20,16 +21,17 @@
 
 import java.io.*;
 import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
 
 @Slf4j
 @SuppressWarnings("all")
-public class FakeZyForkLiftThread implements ThreadHandler {
+public class FakeZyForkLiftThread implements FakeThread {
 
     private RedisUtil redisUtil;
     private JSONObject fakeStatusDemo = JSONObject.parseObject("{\"model\":2,\"wrkNo\":0,\"lev\":1,\"protocolStatus\":0,\"taskMode\":0,\"pick\":0,\"put\":0,\"iOMode\":0,\"errorCode\":0,\"trayList\":[0,0,0,0],\"carList\":[0,0,0,0]}");
-    private HashMap<String, Thread> fakeThreadMap = new HashMap();
-    private HashMap<String, JSONObject> fakeStatusMap = new HashMap();
-    private HashMap<String, JSONObject> fakeCommandMap = new HashMap();
+    private ConcurrentHashMap<String, Thread> fakeThreadMap = new ConcurrentHashMap();
+    private ConcurrentHashMap<String, JSONObject> fakeStatusMap = new ConcurrentHashMap();
+    private ConcurrentHashMap<String, JSONObject> fakeCommandMap = new ConcurrentHashMap();
 
     private boolean fake = false;
 
@@ -114,7 +116,7 @@
 
 
             // init
-            ThreadHandler thread = new ZyForkLiftThread(device, redisUtil);;
+            ZyForkLiftThread thread = new ZyForkLiftThread(device, redisUtil);;
             new Thread(thread).start();
             SlaveConnection.put(SlaveType.ForkLift, device.getDeviceNo(), thread);
         }
@@ -153,7 +155,7 @@
                     Thread.sleep(5000);
 
                     fakeStatus.put("protocolStatus", 98);//绛夊緟纭
-                    fakeStatus.put("lev", command.getInteger("put"));
+                    fakeStatus.put("lev", commandBody.getInteger("put"));
                     fakeStatusMap.put(key, fakeStatus);
                 } else if (commandType == 4) {
                     //灏忚溅鎹㈠眰
@@ -361,4 +363,31 @@
 
     }
 
+    @Override
+    public ConcurrentHashMap<String, Thread> getFakeThreadMap() {
+        return this.fakeThreadMap;
+    }
+
+    @Override
+    public ConcurrentHashMap<String, JSONObject> getFakeStatusMap() {
+        return this.fakeStatusMap;
+    }
+
+    @Override
+    public ConcurrentHashMap<String, JSONObject> getFakeCommandMap() {
+        return this.fakeCommandMap;
+    }
+
+    @Override
+    public boolean updateFakeStatus(UpdateFakeThreadStatusParam param) {
+        String key = param.getDeviceType() + param.getDeviceNo();
+        JSONObject result = fakeStatusMap.get(key);
+        if (result == null) {
+            return false;
+        }
+
+        JSONObject newData = JSON.parseObject(param.getData());
+        this.fakeStatusMap.put(key, newData);
+        return true;
+    }
 }

--
Gitblit v1.9.1