From 26419bf11ec888de7af9141a0ac1874065775e61 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期六, 04 十一月 2023 13:59:51 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/ConsoleController.java | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 107 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java
index 8cbd62b..a88397f 100644
--- a/src/main/java/com/zy/asrs/controller/ConsoleController.java
+++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -41,6 +41,10 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
import java.util.*;
/**
@@ -322,21 +326,118 @@
}
/**
+ * 鑾峰彇PLC2鏁版嵁
+ */
+ @GetMapping("/plc2/auth")
+ @ManagerAuth
+ public R getMapFromPlc2() {
+ try {
+ String mapFilename = "plc2.json";
+ String fileName = this.getClass().getClassLoader().getResource(mapFilename).getPath();//鑾峰彇鏂囦欢璺緞
+ File file = new File(fileName);
+ StringBuffer stringBuffer = new StringBuffer();
+ if (file.isFile() && file.exists()) {
+ InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "GBK");
+ BufferedReader br = new BufferedReader(isr);
+ String lineTxt = null;
+ while ((lineTxt = br.readLine()) != null) {
+ stringBuffer.append(lineTxt);
+ }
+ br.close();
+ }
+
+ NavigateMapData navigateMapData = new NavigateMapData();
+
+ //瑙f瀽json鍦板浘鏁版嵁
+ ArrayList arrayList = JSON.parseObject(stringBuffer.toString(), ArrayList.class);
+ List<List<MapNode>> lists = new ArrayList<>();
+ //閲嶅缓鏁版嵁鏍煎紡
+ for (int i = 0; i < arrayList.size(); i++) {
+ Object obj = arrayList.get(i);
+ List<MapNode> list = JSON.parseArray(obj.toString(), MapNode.class);
+ for (int j = 0; j < list.size(); j++) {
+ MapNode mapNode = list.get(j);
+ list.set(j, mapNode);
+ }
+ lists.add(list);
+ }
+ return R.ok().add(lists);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return R.error();
+ }
+
+ /**
* 閲嶇疆redis涓殑鍦板浘锛屽皢鍗犵敤鐨勫簱浣嶅叏閮ㄨВ闄�
*/
@GetMapping("/map/resetMap/auth")
@ManagerAuth
public R resetMapToRedis() {
- for (int i = 1; i <= 4; i++) {
- Object data = redisUtil.get("realtimeBasMap_" + i);
- if (data == null) {
- continue;
+ for (int i = 1; i <= 10; i++) {//鎬诲叡10灞傛ゼ
+ BasMap basMap = basMapService.selectLatestMap(i);
+ //杞藉叆鍦板浘
+ NavigateMapData mapData = new NavigateMapData(i);
+ List<List<MapNode>> lists = mapData.getJsonData(-1, null, null);//鑾峰彇瀹屾暣鍦板浘(鍖呮嫭鍏ュ簱鍑哄簱)
+ if (basMap == null) {
+ //鏁版嵁搴撲腑涔熶笉瀛樺湪鍦板浘鏁版嵁锛屼粠鍦板浘鏂囦欢涓幏鍙�
+ //瀛樺叆鏁版嵁搴�
+ basMap = new BasMap();
+ basMap.setData(JSON.toJSONString(lists));
+ basMap.setCreateTime(new Date());
+ basMap.setUpdateTime(new Date());
+ basMap.setLev(i);
+
+ if (!basMapService.insert(basMap)) {
+ log.info("鍦板浘鏁版嵁瀛樺偍澶辫触");
+ }
+ }else {
+ basMap.setData(JSON.toJSONString(lists));
+ basMap.setUpdateTime(new Date());
+ if (!basMapService.updateById(basMap)) {
+ log.info("鍦板浘鏁版嵁瀛樺偍澶辫触");
+ }
}
- redisUtil.del("realtimeBasMap_" + i);
- basMapService.deleteByLev(i);
+ //灏嗘暟鎹簱鍦板浘鏁版嵁瀛樺叆redis
+ redisUtil.set("realtimeBasMap_" + i, JSON.toJSONString(basMap));
}
return R.ok();
}
+ /**
+ * 閲嶇疆redis涓殑鍦板浘锛屽皢鍗犵敤鐨勫簱浣嶅叏閮ㄨВ闄�
+ */
+ @GetMapping("/map/resetMap/{lev}")
+ public R resetMapToRedisByLev(@PathVariable Integer lev) {
+ BasMap basMap = basMapService.selectLatestMap(lev);
+ //杞藉叆鍦板浘
+ NavigateMapData mapData = new NavigateMapData(lev);
+ List<List<MapNode>> lists = mapData.getJsonData(-1, null, null);//鑾峰彇瀹屾暣鍦板浘(鍖呮嫭鍏ュ簱鍑哄簱)
+ if (basMap == null) {
+ //鏁版嵁搴撲腑涔熶笉瀛樺湪鍦板浘鏁版嵁锛屼粠鍦板浘鏂囦欢涓幏鍙�
+ //瀛樺叆鏁版嵁搴�
+ basMap = new BasMap();
+ basMap.setData(JSON.toJSONString(lists));
+ basMap.setCreateTime(new Date());
+ basMap.setUpdateTime(new Date());
+ basMap.setLev(lev);
+
+ if (!basMapService.insert(basMap)) {
+ log.info("鍦板浘鏁版嵁瀛樺偍澶辫触");
+ }
+ }else {
+ basMap.setData(JSON.toJSONString(lists));
+ basMap.setUpdateTime(new Date());
+ if (!basMapService.updateById(basMap)) {
+ log.info("鍦板浘鏁版嵁瀛樺偍澶辫触");
+ }
+ }
+
+ //灏嗘暟鎹簱鍦板浘鏁版嵁瀛樺叆redis
+ redisUtil.set("realtimeBasMap_" + lev, JSON.toJSONString(basMap));
+ return R.ok();
+ }
+
}
--
Gitblit v1.9.1