From 0d04bc5d8080b82338302fba0a59fccff2eaedfc Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期日, 06 七月 2025 11:28:29 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapUtils.java |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapUtils.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapUtils.java
index b6426ad..6c72996 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapUtils.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapUtils.java
@@ -107,12 +107,22 @@
         Object o = redisUtil.get(DeviceRedisConstant.LOCK_PATH + lev);
         List<NavigateNode> navigateNodes = new ArrayList<>();
         if (o != null) {
-            navigateNodes = JSON.parseArray(o.toString(), NavigateNode.class);
+            try {
+                navigateNodes = objectMapper.readValue(o.toString(), new TypeReference<List<NavigateNode>>() {});
+            } catch (JsonProcessingException e) {
+                throw new RuntimeException(e);
+            }
         }
 
+        String nodeStr = null;
         if (lock) {
             navigateNodes.addAll(nodes);
-            redisUtil.set(DeviceRedisConstant.LOCK_PATH + lev, JSON.toJSONString(navigateNodes, SerializerFeature.DisableCircularReferenceDetect));
+            try {
+                nodeStr = objectMapper.writeValueAsString(navigateNodes);
+            } catch (JsonProcessingException e) {
+                throw new RuntimeException(e);
+            }
+            redisUtil.set(DeviceRedisConstant.LOCK_PATH + lev, nodeStr);
         }else {
             List<NavigateNode> tmp = new ArrayList<>();
             for (NavigateNode navigateNode : navigateNodes) {
@@ -131,7 +141,12 @@
                 }
             }
 
-            redisUtil.set(DeviceRedisConstant.LOCK_PATH + lev, JSON.toJSONString(tmp, SerializerFeature.DisableCircularReferenceDetect));
+            try {
+                nodeStr = objectMapper.writeValueAsString(tmp);
+            } catch (JsonProcessingException e) {
+                throw new RuntimeException(e);
+            }
+            redisUtil.set(DeviceRedisConstant.LOCK_PATH + lev, nodeStr);
         }
     }
 
@@ -146,7 +161,6 @@
                 throw new RuntimeException(e);
             }
         }
-
         return navigateNodes;
     }
 

--
Gitblit v1.9.1