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/thread/fake/FakeNyShuttleThread.java |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 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 b49aaee..f1ddab6 100644
--- a/src/main/java/com/zy/core/thread/fake/FakeNyShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/fake/FakeNyShuttleThread.java
@@ -3,11 +3,13 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.zy.common.Cools;
+import com.zy.common.R;
 import com.zy.common.SpringUtils;
 import com.zy.common.utils.RedisUtil;
 import com.zy.core.News;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.SlaveType;
+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.NyShuttleThread;
@@ -334,6 +336,15 @@
                     String pathList = body.getString("path");
                     List<JSONObject> list = JSON.parseArray(pathList, JSONObject.class);
                     for (JSONObject path : list) {
+                        while (true) {
+                            JSONObject realFakeStatus = fakeStatusMap.get(key);
+                            Integer errorCode = realFakeStatus.getInteger("errorCode");
+                            if (errorCode > 0) {
+                                continue;
+                            }
+                            break;
+                        }
+
                         String currentCode = fakeStatus.getString("currentCode");
                         JSONObject point = JSON.parseObject(currentCode);
                         point.put("x", path.getInteger("xp"));
@@ -529,4 +540,17 @@
     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