From 3fa6b0b6fc7925ffbf8c597c15d72938e13993d6 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 10 三月 2026 22:37:02 +0800
Subject: [PATCH] 处理围栏闭合问题
---
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpElectronicFenceServiceImpl.java | 10 ++++++++++
1 files changed, 10 insertions(+), 0 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 b25bab7..2dd7357 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
@@ -133,6 +133,11 @@
for (XpElectronicFenceArea newArea : newElectronicFenceAreas) {
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())) {
@@ -317,6 +322,11 @@
for (XpElectronicFenceArea updatedArea : updatedElectronicFenceAreas) {
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