From ed265ddfb8f08f69af064a9adf65fcbf06289ffe Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期二, 11 二月 2025 14:07:54 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/utils/NavigateUtils.java |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/common/utils/NavigateUtils.java b/src/main/java/com/zy/common/utils/NavigateUtils.java
index 6528cc3..cb21ea1 100644
--- a/src/main/java/com/zy/common/utils/NavigateUtils.java
+++ b/src/main/java/com/zy/common/utils/NavigateUtils.java
@@ -10,6 +10,7 @@
 import com.zy.core.News;
 import com.zy.core.enums.MapNodeType;
 import com.zy.core.model.PythonSimilarityResult;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
@@ -25,9 +26,10 @@
 
     @Value("${pythonCalcPath}")
     private String pythonCalcPath;
-
     @Value("${pythonCalcSimilarity}")
     private String pythonCalcSimilarity;
+    @Autowired
+    private NavigateMapData navigateMapData;
 
     public List<NavigateNode> calc(String startPoint, String endPoint, Integer mapType, List<int[]> shuttlePoints, List<int[]> whites) {
         return calcJava(startPoint, endPoint, mapType, shuttlePoints, whites);
@@ -46,14 +48,17 @@
 
         //鑾峰彇褰撳墠鑺傜偣璁$畻鐨勫眰楂橈紝骞惰祴鍊煎埌姣忎竴涓妭鐐逛腑
         int lev = Utils.getLev(startPoint);
+        NavigateSolution solution = new NavigateSolution(mapType, lev, whiteList, shuttlePoints);
+        int[][] map = solution.map;
 
         //鍒濆鍖栧紑濮嬭妭鐐�
         NavigateNode start = new NavigateNode(startArr[0], startArr[1]);
         //寮�濮嬭妭鐐规棤鐖惰妭鐐�
         start.setFather(null);
+        start.setNodeValue(map[startArr[0]][startArr[1]]);
 
         NavigateNode end = new NavigateNode(endArr[0], endArr[1]);
-        NavigateSolution solution = new NavigateSolution(mapType, lev, whiteList, shuttlePoints);
+        end.setNodeValue(map[endArr[0]][endArr[1]]);
         //寮�濮嬭妭鐐癸紝涓嶇撼鍏ョ鐢ㄨ妭鐐瑰唴璁$畻
 
         NavigateNode res_node = solution.astarSearchJava(start, end);
@@ -116,14 +121,17 @@
 
         //鑾峰彇褰撳墠鑺傜偣璁$畻鐨勫眰楂橈紝骞惰祴鍊煎埌姣忎竴涓妭鐐逛腑
         int lev = Utils.getLev(startPoint);
+        NavigateSolution solution = new NavigateSolution(mapType, lev, whiteList, shuttlePoints);
+        int[][] map = solution.map;
 
         //鍒濆鍖栧紑濮嬭妭鐐�
         NavigateNode start = new NavigateNode(startArr[0], startArr[1]);
+        start.setNodeValue(map[startArr[0]][startArr[1]]);
         //寮�濮嬭妭鐐规棤鐖惰妭鐐�
         start.setFather(null);
 
         NavigateNode end = new NavigateNode(endArr[0], endArr[1]);
-        NavigateSolution solution = new NavigateSolution(mapType, lev, whiteList, shuttlePoints);
+        end.setNodeValue(map[endArr[0]][endArr[1]]);
         //寮�濮嬭妭鐐癸紝涓嶇撼鍏ョ鐢ㄨ妭鐐瑰唴璁$畻
 
         String pathStr = solution.astarSearchPython(start, end, pythonCalcPath);
@@ -346,8 +354,7 @@
      * 妫�娴嬭矾寰勬槸鍚﹀彲鐢�(鍙蛋)
      */
     public boolean checkPathIsAvailable(List<NavigateNode> path, Integer shuttleNo, Integer lev) {
-        NavigateSolution solution = new NavigateSolution(NavigationMapType.DFX.id, lev, null, Utils.getShuttlePoints(shuttleNo, lev));//鑾峰彇鏃犵櫧鍚嶅崟鍦板浘(璇ュ湴鍥惧寘鍚皬杞﹀潗鏍�)
-        int[][] map = solution.map;
+        int[][] map = navigateMapData.getDataFromRedis(lev, NavigationMapType.DFX.id, null, Utils.getShuttlePoints(shuttleNo, lev));
         for (NavigateNode node : path) {
             int value = map[node.getX()][node.getY()];
             if (value != MapNodeType.NORMAL_PATH.id && value != MapNodeType.MAIN_PATH.id && value != MapNodeType.CHARGE.id && value != MapNodeType.CONVEYOR_CAR_GO.id) {//姣嶈建閬�3銆佸瓙杞ㄩ亾0銆佸厖鐢垫々5銆佸皬杞﹀彲璧拌緭閫佺珯

--
Gitblit v1.9.1