From f619c9d1736a3690382b58316183cee4f7dc67e6 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期六, 04 十一月 2023 13:58:15 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/ConsoleController.java | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 108 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java index 7b808ab..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.*; /** @@ -317,8 +321,52 @@ //瑙f瀽json鍦板浘鏁版嵁 ArrayList arrayList = JSON.parseObject(basMap.getData(), ArrayList.class); NavigateMapData navigateMapData = new NavigateMapData(lev); - List<List<MapNode>> lists = navigateMapData.filterMap(NavigationMapType.NONE.id, arrayList, lev, null);//杩囨护鍦板浘鏁版嵁 + List<List<MapNode>> lists = navigateMapData.filterMap(NavigationMapType.NONE.id, arrayList, lev, null, null);//杩囨护鍦板浘鏁版嵁 return R.ok().add(lists); + } + + /** + * 鑾峰彇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(); } /** @@ -327,16 +375,69 @@ @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