From 1a2b07f01ba4616fd9e894dddf474b56d020158c Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期一, 07 四月 2025 15:18:51 +0800
Subject: [PATCH] 整理版本

---
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/network/NetworkSv.java |  129 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 129 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/network/NetworkSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/network/NetworkSv.java
new file mode 100644
index 0000000..c0cb3fc
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/network/NetworkSv.java
@@ -0,0 +1,129 @@
+package com.dy.pipIrrProject.network;
+
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
+import com.dy.pipIrrGlobal.daoPr.PrNetworkCoordinatesMapper;
+import com.dy.pipIrrGlobal.daoPr.PrWaterNetworkMapper;
+import com.dy.pipIrrGlobal.pojoPr.PrNetworkCoordinates;
+import com.dy.pipIrrGlobal.pojoPr.PrWaterNetwork;
+import com.dy.pipIrrGlobal.voPr.VoNetwork;
+import com.dy.pipIrrGlobal.voPr.VoNetworkCoordinates;
+import com.dy.pipIrrProject.network.dto.Network;
+import com.dy.pipIrrProject.result.ProjectResultCode;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-08-27 17:08
+ * @LastEditTime 2024-08-27 17:08
+ * @Description
+ */
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class NetworkSv {
+    private final PrWaterNetworkMapper prWaterNetworkMapper;
+    private final PrNetworkCoordinatesMapper prNetworkCoordinatesMapper;
+
+    /**
+     * 娣诲姞绠$綉
+     * @param po
+     * @return
+     */
+    public Long addNetwork(PrWaterNetwork po) {
+        prWaterNetworkMapper.insert(po);
+        return po.getId();
+    }
+
+    /**
+     * 娣诲姞绠$綉鍧愭爣
+     * @param po
+     * @return
+     */
+    public Long addNetworkCoordinate(PrNetworkCoordinates po) {
+        prNetworkCoordinatesMapper.insert(po);
+        return po.getId();
+    };
+
+    /**
+     * 娣诲姞绠$綉
+     * @param po
+     * @return
+     */
+    public String addNetworks(Network po) {
+        String result = "";
+        PrWaterNetwork prWaterNetwork = null;
+        Long networkId = null;
+
+        prWaterNetworkMapper.clearNetworks();
+        prNetworkCoordinatesMapper.clearCoordinates();
+
+        JSONArray networks = po.getData();
+        for (int i = 0; i < networks.size(); i++) {
+            // 鍙栧嚭涓�绗旂粯鐢�
+            JSONObject polyline = networks.getJSONObject(i);
+            // 娣诲姞璇ョ瑪缁樼敾
+            prWaterNetwork = new PrWaterNetwork();
+            prWaterNetwork.setNetworkType(po.getType());
+            networkId = addNetwork(prWaterNetwork);
+
+            // 鍙栧嚭涓�绗旂粯鐢讳腑鐨勫潗鏍囩偣
+            JSONArray coordinates = polyline.getJSONArray("coordinates");
+            for (int j = 0; j < coordinates.size(); j++) {
+                JSONObject point = coordinates.getJSONObject(j);
+
+                PrNetworkCoordinates prNetworkCoordinates = new PrNetworkCoordinates();
+                prNetworkCoordinates.setNetworkId(networkId);
+                prNetworkCoordinates.setLat(point.getBigDecimal("lat"));
+                prNetworkCoordinates.setLng(point.getBigDecimal("lng"));
+
+                Long coordinateId = Optional.ofNullable(addNetworkCoordinate(prNetworkCoordinates)).orElse(0L);
+                if (coordinateId.equals(0)) {
+                    //return BaseResponseUtils.buildErrorMsg(ProjectResultCode.SAVA_NETWORK_ERROR.getMessage());
+                    result = ProjectResultCode.SAVA_NETWORK_ERROR.getMessage();
+                }
+            }
+        }
+        return result;
+    }
+
+    /**
+     * 鑾峰彇鍏ㄩ儴绠$綉
+     * @return
+     */
+    public List<VoNetwork> getNetworks() {
+        JSONArray array_result = new JSONArray();
+        JSONArray array_networks = null;
+
+        List<VoNetwork> list_networks = prWaterNetworkMapper.getAllNewworks();
+        if(list_networks != null && list_networks.size() > 0) {
+            array_networks = (JSONArray) JSON.toJSON(list_networks);
+            for (int i = 0; i < array_networks.size(); i++) {
+                JSONObject job_network = array_networks.getJSONObject(i);
+
+                List<VoNetworkCoordinates> list_networkCoordinates = prNetworkCoordinatesMapper.getCoordinatesByNetworkId(job_network.getLong("networkId"));
+                if(list_networkCoordinates == null) {
+                    list_networkCoordinates = new ArrayList<>();
+                }
+
+                JSONObject job_points = new JSONObject();
+                job_points.put("type", "Polyline");
+                job_points.put("coordinates", (JSONArray) JSON.toJSON(list_networkCoordinates));
+                job_network.put("data", job_points);
+                array_result.add(job_network);
+            }
+            return array_result.toList(VoNetwork.class);
+
+        }else {
+            return new ArrayList<>();
+        }
+    }
+}

--
Gitblit v1.8.0