From 5fc29674d6f1e3349efe8430a3bca5487e5689e7 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 11 三月 2026 00:49:13 +0800
Subject: [PATCH] 修改bug

---
 xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpElectronicFenceServiceImpl.java |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpElectronicFenceServiceImpl.java b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpElectronicFenceServiceImpl.java
index 040807c..de03958 100644
--- a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpElectronicFenceServiceImpl.java
+++ b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpElectronicFenceServiceImpl.java
@@ -131,13 +131,13 @@
 
         // 检查新区域与现有运营区域是否有重叠
         for (XpElectronicFenceArea newArea : newElectronicFenceAreas) {
+            //处理围栏闭合
+            String[] split = newArea.getFencePoints().split(",");
+            if(!split[0].equals(split[split.length - 1])){
+                newArea.setFencePoints(newArea.getFencePoints() + "," + split[0]);
+            }
             if (newArea.getAreaType() == 1) { // 只检查运营区域
                 for (XpElectronicFenceArea existingArea : existingOperationAreas) {
-                    //处理围栏闭合
-                    String[] split = existingArea.getFencePoints().split(",");
-                    if(split[0].equals(split[split.length - 1])){
-                        existingArea.setFencePoints(existingArea.getFencePoints() + "," + split[0]);
-                    }
                     if (polygonOverlapService.checkPolygonOverlap(
                             newArea.getFencePoints(),
                             existingArea.getFencePoints())) {
@@ -320,13 +320,13 @@
 
             // 检查更新后的区域与现有运营区域是否有重叠
             for (XpElectronicFenceArea updatedArea : updatedElectronicFenceAreas) {
+                //处理围栏闭合
+                String[] split = updatedArea.getFencePoints().split(",");
+                if(!split[0].equals(split[split.length - 1])){
+                    updatedArea.setFencePoints(updatedArea.getFencePoints() + "," + split[0]);
+                }
                 if (updatedArea.getAreaType() == 1) { // 只检查运营区域
                     for (XpElectronicFenceArea existingArea : existingOperationAreas) {
-                        //处理围栏闭合
-                        String[] split = existingArea.getFencePoints().split(",");
-                        if(split[0].equals(split[split.length - 1])){
-                            existingArea.setFencePoints(existingArea.getFencePoints() + "," + split[0]);
-                        }
                         if (polygonOverlapService.checkPolygonOverlap(
                                 updatedArea.getFencePoints(),
                                 existingArea.getFencePoints())) {

--
Gitblit v1.7.1