From baed29d667be08051c36c31997117a1ba292d5bc Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 10 五月 2023 16:51:01 +0800
Subject: [PATCH] redis实时地图

---
 src/main/java/com/zy/asrs/controller/ConsoleController.java |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java
index c7f10e9..924f899 100644
--- a/src/main/java/com/zy/asrs/controller/ConsoleController.java
+++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -10,11 +10,15 @@
 import com.zy.asrs.domain.param.SystemSwitchParam;
 import com.zy.asrs.domain.vo.*;
 import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.BasMap;
 import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.mapper.LocMastMapper;
 import com.zy.asrs.service.BasDevpService;
 import com.zy.asrs.service.WrkMastService;
 import com.zy.common.CodeRes;
+import com.zy.common.model.MapNode;
+import com.zy.common.utils.NavigateMapData;
+import com.zy.common.utils.RedisUtil;
 import com.zy.core.CrnThread;
 import com.zy.core.DevpThread;
 import com.zy.core.Slave;
@@ -54,6 +58,8 @@
     private BasDevpService basDevpService;
     @Autowired
     private LocMastMapper locMastMapper;
+    @Autowired
+    private RedisUtil redisUtil;
 
     @PostMapping("/system/running/status")
     @ManagerAuth(memo = "绯荤粺杩愯鐘舵��")
@@ -292,4 +298,23 @@
         return R.ok().add(JSON.toJSONString(new ArrayList<>(OutputQueue.BARCODE)));
     }
 
+    /**
+     * 鑾峰彇鍦板浘鏁版嵁
+     */
+    @GetMapping("/map/{lev}/auth")
+    @ManagerAuth
+    public R getMapFromRedis(@PathVariable Integer lev) {
+        Object data = redisUtil.get("realtimeBasMap_" + lev);
+        if (data == null) {
+            return R.error();
+        }
+
+        BasMap basMap = JSON.parseObject(data.toString(), BasMap.class);
+        //瑙f瀽json鍦板浘鏁版嵁
+        ArrayList arrayList = JSON.parseObject(basMap.getData(), ArrayList.class);
+        NavigateMapData navigateMapData = new NavigateMapData(lev);
+        List<List<MapNode>> lists = navigateMapData.filterMap(-1, arrayList);//杩囨护鍦板浘鏁版嵁
+        return R.ok().add(lists);
+    }
+
 }

--
Gitblit v1.9.1