From 30da9e2a28cf8f9d31c1cfa010595ed37c4f530a Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 02 三月 2026 11:55:52 +0800
Subject: [PATCH] bug修改

---
 xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpElectronicFenceServiceImpl.java |   16 +++++++---------
 1 files changed, 7 insertions(+), 9 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 8a154b4..5cafe56 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
@@ -11,7 +11,6 @@
 import com.xiaopeng.api.model.map.XpGeoFencingProhibitedPolygon;
 import com.xiaopeng.api.model.operation.*;
 import com.xiaopeng.api.query.operation.ElectronicPageListQuery;
-import com.xiaopeng.api.vo.operation.XpElectronicFenceVo;
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.common.core.exception.ServiceException;
 import com.xiaopeng.common.core.utils.DateUtils;
@@ -41,7 +40,6 @@
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -277,10 +275,10 @@
 
     @Override
     public R editElectronic(ElectronicFenceUpdateDto dto) {
-        try {
             // 获取现有的运营区域(areaType=1),排除当前正在编辑的电子围栏
             LambdaQueryWrapper<XpElectronicFenceArea> xpElectronicFenceAreaLambdaQueryWrapper = new LambdaQueryWrapper<>();
             xpElectronicFenceAreaLambdaQueryWrapper.eq(XpElectronicFenceArea::getAreaType, 1);
+            xpElectronicFenceAreaLambdaQueryWrapper.eq(XpElectronicFenceArea::getAreaStatus, 1);
             xpElectronicFenceAreaLambdaQueryWrapper.ne(XpElectronicFenceArea::getElectronicId, dto.getId());
             List<XpElectronicFenceArea> existingOperationAreas = xpElectronicFenceAreaMapper.selectList(xpElectronicFenceAreaLambdaQueryWrapper);
 
@@ -294,10 +292,13 @@
                         if (polygonOverlapService.checkPolygonOverlap(
                                 updatedArea.getFencePoints(),
                                 existingArea.getFencePoints())) {
+                           List<String> res = new ArrayList<>();
+                            res.add(updatedArea.getAreaName());
+                            res.add(existingArea.getAreaName());
                             throw new ServiceException(
                                     "运营区域{}与现有运营区域{}发生重叠",
-                                    I18nKeyConstant.AREA_OVERLAP,
-                                    new Object[]{existingArea.getAreaName(), existingArea.getAreaName()}
+                                    I18nKeyConstant.AREA_OVERLAP_ERROR,
+                                    res.toArray()
                             );
                         }
                     }
@@ -488,10 +489,7 @@
             }
 
             return R.ok();
-        } catch (Exception e) {
-            log.error("编辑电子围栏失败", e);
-            throw new ServiceException("编辑电子围栏失败", I18nKeyConstant.EDIT_ELECTRONIC_ERROR);
-        }
+
     }
 
     /**

--
Gitblit v1.7.1