From 1d33686e8f3e25b8db7d33ed162991f75ff1258d Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 29 十月 2024 16:42:06 +0800
Subject: [PATCH] 修改完指针bug

---
 pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java |  144 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 101 insertions(+), 43 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java
index a3399dc..2f545ab 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/block/BlockCtrl.java
@@ -94,15 +94,12 @@
      * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鐗囧尯锛�2024-08-14鏂板锛屾浛鎹㈠師鏉ョ殑鐗囧尯鍒嗛〉鏌ヨ
      *
      * @param qo
-     * @param bindingResult
+     * @param
      * @return
      */
     @GetMapping(path = "/some")
     @SsoAop()
-    public BaseResponse<QueryResultVo<List<VoBlock>>> getBlocks(@Valid QueryVo qo, BindingResult bindingResult) {
-        if (bindingResult != null && bindingResult.hasErrors()) {
-            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
-        }
+    public BaseResponse<QueryResultVo<List<VoBlock>>> getBlocks(QueryVo qo) {
         try {
             return BaseResponseUtils.buildSuccess(this.sv.getBlocks(qo));
         } catch (Exception e) {
@@ -171,42 +168,44 @@
         }
 
         JSONArray graphs = po.getGraphs();
-        for (int i = 0; i < graphs.size(); i++) {
-            JSONObject graph = graphs.getJSONObject(i);
+        if(graphs != null && graphs.size() > 0){
+            for (int i = 0; i < graphs.size(); i++) {
+                JSONObject graph = graphs.getJSONObject(i);
 
-            // 娣诲姞鍦板浘鍥惧舰璁板綍
-            BaMapGraph baMapGraph = new BaMapGraph();
-            baMapGraph.setBlockId(blockId);
-            switch (graph.getString("type")) {
-                case "CircleMarker":
-                    baMapGraph.setGraphType(graphTypeENUM.CIRCLE_MARKER.getCode());
-                    break;
-                case "Polygon":
-                    baMapGraph.setGraphType(graphTypeENUM.POLYGON.getCode());
-                    break;
-                case "Polyline":
-                    baMapGraph.setGraphType(graphTypeENUM.POLYLINE.getCode());
-                    break;
-            }
-            Long graphId = Optional.ofNullable(this.sv.addMapGraph(baMapGraph)).orElse(0L);
-            if (graphId.equals(0)) {
-                return BaseResponseUtils.buildErrorMsg(SystemResultCode.SAVA_BLOCK_ERROR.getMessage());
-            }
+                // 娣诲姞鍦板浘鍥惧舰璁板綍
+                BaMapGraph baMapGraph = new BaMapGraph();
+                baMapGraph.setBlockId(blockId);
+                switch (graph.getString("type")) {
+                    case "CircleMarker":
+                        baMapGraph.setGraphType(graphTypeENUM.CIRCLE_MARKER.getCode());
+                        break;
+                    case "Polygon":
+                        baMapGraph.setGraphType(graphTypeENUM.POLYGON.getCode());
+                        break;
+                    case "Polyline":
+                        baMapGraph.setGraphType(graphTypeENUM.POLYLINE.getCode());
+                        break;
+                }
+                Long graphId = Optional.ofNullable(this.sv.addMapGraph(baMapGraph)).orElse(0L);
+                if (graphId.equals(0)) {
+                    return BaseResponseUtils.buildErrorMsg(SystemResultCode.SAVA_BLOCK_ERROR.getMessage());
+                }
 
-            // 娣诲姞鍦板浘鍥惧舰鍧愭爣璁板綍
-            JSONArray coordinates = graph.getJSONArray("coordinates");
-            for (int j = 0; j < coordinates.size(); j++) {
-                JSONArray coordinate = coordinates.getJSONArray(j);
-                for (int k = 0; k < coordinate.size(); k++) {
-                    JSONObject point = coordinate.getJSONObject(k);
+                // 娣诲姞鍦板浘鍥惧舰鍧愭爣璁板綍
+                JSONArray coordinates = graph.getJSONArray("coordinates");
+                for (int j = 0; j < coordinates.size(); j++) {
+                    JSONArray coordinate = coordinates.getJSONArray(j);
+                    for (int k = 0; k < coordinate.size(); k++) {
+                        JSONObject point = coordinate.getJSONObject(k);
 
-                    BaMapCoordinates mapCoordinates = new BaMapCoordinates();
-                    mapCoordinates.setGraphId(graphId);
-                    mapCoordinates.setLat(point.getBigDecimal("lat"));
-                    mapCoordinates.setLng(point.getBigDecimal("lng"));
-                    Long coordinateId = Optional.ofNullable(this.sv.addMapCoordinate(mapCoordinates)).orElse(0L);
-                    if (coordinateId.equals(0)) {
-                        return BaseResponseUtils.buildErrorMsg(SystemResultCode.SAVA_BLOCK_ERROR.getMessage());
+                        BaMapCoordinates mapCoordinates = new BaMapCoordinates();
+                        mapCoordinates.setGraphId(graphId);
+                        mapCoordinates.setLat(point.getBigDecimal("lat"));
+                        mapCoordinates.setLng(point.getBigDecimal("lng"));
+                        Long coordinateId = Optional.ofNullable(this.sv.addMapCoordinate(mapCoordinates)).orElse(0L);
+                        if (coordinateId.equals(0)) {
+                            return BaseResponseUtils.buildErrorMsg(SystemResultCode.SAVA_BLOCK_ERROR.getMessage());
+                        }
                     }
                 }
             }
@@ -266,6 +265,7 @@
      * @return
      */
     @PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE)
+    @Transactional(rollbackFor = Exception.class)
     @SsoAop()
     public BaseResponse<Boolean> update(@RequestBody @Valid Block po, BindingResult bindingResult) {
         if (bindingResult != null && bindingResult.hasErrors()) {
@@ -298,14 +298,56 @@
             return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
         }
 
-        // 鍒犻櫎鐗囧尯鍏宠仈鐨勫湴鍥惧浘褰�
-        this.sv.deleteMapGraph(blockId);
         // 鍒犻櫎鍦板浘鍥惧舰鍧愭爣
         this.sv.deleteMapCoordinates(blockId);
+        // 鍒犻櫎鐗囧尯鍏宠仈鐨勫湴鍥惧浘褰�
+        this.sv.deleteMapGraph(blockId);
 
+        JSONArray graphs = po.getGraphs();
+        if(graphs != null && graphs.size() > 0){
+            for (int i = 0; i < graphs.size(); i++) {
+                JSONObject graph = graphs.getJSONObject(i);
+
+                // 娣诲姞鍦板浘鍥惧舰璁板綍
+                BaMapGraph baMapGraph = new BaMapGraph();
+                baMapGraph.setBlockId(blockId);
+                switch (graph.getString("type")) {
+                    case "CircleMarker":
+                        baMapGraph.setGraphType(graphTypeENUM.CIRCLE_MARKER.getCode());
+                        break;
+                    case "Polygon":
+                        baMapGraph.setGraphType(graphTypeENUM.POLYGON.getCode());
+                        break;
+                    case "Polyline":
+                        baMapGraph.setGraphType(graphTypeENUM.POLYLINE.getCode());
+                        break;
+                }
+                Long graphId = Optional.ofNullable(this.sv.addMapGraph(baMapGraph)).orElse(0L);
+                if (graphId.equals(0)) {
+                    return BaseResponseUtils.buildErrorMsg(SystemResultCode.SAVA_BLOCK_ERROR.getMessage());
+                }
+
+                // 娣诲姞鍦板浘鍥惧舰鍧愭爣璁板綍
+                JSONArray coordinates = graph.getJSONArray("coordinates");
+                for (int j = 0; j < coordinates.size(); j++) {
+                    JSONArray coordinate = coordinates.getJSONArray(j);
+                    for (int k = 0; k < coordinate.size(); k++) {
+                        JSONObject point = coordinate.getJSONObject(k);
+
+                        BaMapCoordinates mapCoordinates = new BaMapCoordinates();
+                        mapCoordinates.setGraphId(graphId);
+                        mapCoordinates.setLat(point.getBigDecimal("lat"));
+                        mapCoordinates.setLng(point.getBigDecimal("lng"));
+                        Long coordinateId = Optional.ofNullable(this.sv.addMapCoordinate(mapCoordinates)).orElse(0L);
+                        if (coordinateId.equals(0)) {
+                            return BaseResponseUtils.buildErrorMsg(SystemResultCode.SAVA_BLOCK_ERROR.getMessage());
+                        }
+                    }
+                }
+            }
+        }
         return BaseResponseUtils.buildSuccess(true);
     }
-
 
     /**
      * 鍒犻櫎鐗囧尯
@@ -325,6 +367,7 @@
 
     //@GetMapping(path = "delete", consumes = MediaType.TEXT_PLAIN_VALUE)
     @GetMapping(path = "delete")
+    @Transactional(rollbackFor = Exception.class)
     @SsoAop()
     public BaseResponse<Boolean> delete(Long id) {
         if (id == null) {
@@ -341,11 +384,26 @@
             return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
         }
 
-        // 鍒犻櫎鐗囧尯鍏宠仈鐨勫湴鍥惧浘褰�
-        this.sv.deleteMapGraph(id);
         // 鍒犻櫎鍦板浘鍥惧舰鍧愭爣
         this.sv.deleteMapCoordinates(id);
+        // 鍒犻櫎鐗囧尯鍏宠仈鐨勫湴鍥惧浘褰�
+        this.sv.deleteMapGraph(id);
 
         return BaseResponseUtils.buildSuccess(true);
     }
+
+    /**
+     * 鑾峰彇鐗囧尯銆佸垎姘存埧鑱斿姩瑙嗗浘锛屾坊鍔犲啘鎴锋椂浣跨敤
+     * @return
+     */
+    @GetMapping(path = "/block_divides")
+    @SsoAop()
+    public BaseResponse<JSONArray> getBlockDivides() {
+        try {
+            return BaseResponseUtils.buildSuccess(this.sv.getBlockDivides());
+        } catch (Exception e) {
+            log.error("鑾峰彇寮�鍗¤褰曞紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
 }

--
Gitblit v1.8.0