From f4d696baffce9c3bd8653a3598eb69f0962a5e92 Mon Sep 17 00:00:00 2001
From: zy <zy@123>
Date: 星期四, 17 七月 2025 13:56:42 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/controller/OpenController.java |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/core/controller/OpenController.java b/src/main/java/com/zy/core/controller/OpenController.java
index a13d9ba..f948742 100644
--- a/src/main/java/com/zy/core/controller/OpenController.java
+++ b/src/main/java/com/zy/core/controller/OpenController.java
@@ -1,10 +1,14 @@
 package com.zy.core.controller;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.zy.common.R;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.param.AddFakeDeviceParam;
 import com.zy.core.model.param.DeleteDeviceParam;
+import com.zy.core.model.param.GetFakeThreadStatusParam;
+import com.zy.core.model.param.UpdateFakeThreadStatusParam;
 import com.zy.core.properties.DeviceConfig;
 import com.zy.core.thread.FakeThread;
 import com.zy.core.thread.ForkLiftThread;
@@ -18,6 +22,7 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
 
 @RestController
 @RequestMapping("/open")
@@ -41,8 +46,51 @@
         return R.ok().add(map);
     }
 
-    @GetMapping("/getFakeThreadList")
-    public R getFakeThreadList() {
+    @PostMapping("/updateFakeThreadStatus")
+    public R updateFakeThreadStatus(@RequestBody UpdateFakeThreadStatusParam param) {
+        FakeThread fakeThread = null;
+        if (param.getDeviceType().equals(String.valueOf(SlaveType.Shuttle))) {
+            fakeThread = (FakeThread) SlaveConnection.get(SlaveType.FakeThread, 1);
+        } else if (param.getDeviceType().equals(String.valueOf(SlaveType.ForkLift))) {
+            fakeThread = (FakeThread) SlaveConnection.get(SlaveType.FakeThread, 1);
+        }
+
+        if (fakeThread == null) {
+            return R.error("鎵句笉鍒拌澶囩嚎绋�");
+        }
+
+        boolean result = fakeThread.updateFakeStatus(param);
+        if (result) {
+            return R.ok();
+        }
+        return R.error("鏇存柊澶辫触");
+    }
+
+    @PostMapping("/getFakeThreadStatus")
+    public R getFakeThreadStatus(@RequestBody GetFakeThreadStatusParam param) {
+        FakeThread fakeThread = null;
+        if (param.getDeviceType().equals(String.valueOf(SlaveType.Shuttle))) {
+            fakeThread = (FakeThread) SlaveConnection.get(SlaveType.FakeThread, 1);
+        } else if (param.getDeviceType().equals(String.valueOf(SlaveType.ForkLift))) {
+            fakeThread = (FakeThread) SlaveConnection.get(SlaveType.FakeThread, 1);
+        }
+
+        if (fakeThread == null) {
+            return R.error("鎵句笉鍒拌澶囩嚎绋�");
+        }
+
+        ConcurrentHashMap<String, JSONObject> fakeStatusMap = fakeThread.getFakeStatusMap();
+
+        String key = param.getDeviceType() + param.getDeviceNo();
+        JSONObject result = fakeStatusMap.get(key);
+        if (result == null) {
+            return R.error("鏁版嵁涓嶅瓨鍦�");
+        }
+        return R.ok().add(result);
+    }
+
+    @GetMapping("/getFakeThreadStatusList")
+    public R getFakeThreadStatusList() {
         FakeThread fakeThread1 = (FakeThread) SlaveConnection.get(SlaveType.FakeThread, 1);
         FakeThread fakeThread2 = (FakeThread) SlaveConnection.get(SlaveType.FakeThread, 2);
 

--
Gitblit v1.9.1