From 40c97867e634b0c4949dfd964bf06da35fc4bd88 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 13 二月 2026 22:06:40 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi

---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpElectronicFenceServiceImpl.java |   36 +++++++++++++++++++++++++++++-------
 1 files changed, 29 insertions(+), 7 deletions(-)

diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpElectronicFenceServiceImpl.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpElectronicFenceServiceImpl.java
index 921d73b..764b934 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpElectronicFenceServiceImpl.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpElectronicFenceServiceImpl.java
@@ -229,12 +229,21 @@
                     area.setArea(area.getArea());
                     area.setCityCode(dto.getCityCode());
                     xpElectronicFenceAreaMapper.insert(area);
-
                 }
 
+            }else{
+                // 设置电子围栏ID并保存区域数据
+                for (XpElectronicFenceArea area : newElectronicFenceAreas) {
+                    area.setElectronicId(xpElectronicFence.getId());
+                    area.setAreaStatus(2);
+                    area.setArea(area.getArea());
+                    area.setCityCode(dto.getCityCode());
+                    xpElectronicFenceAreaMapper.insert(area);
+
+                }
             }
 
-            if (dto.getStatus() == 2) {
+            if (xpElectronicFence.getStatus() == 2) {
                 for (XpElectronicFenceArea newElectronicFenceArea : newElectronicFenceAreas) {
                     if (newElectronicFenceArea.getAreaType() == 1
                             && newElectronicFenceArea.getAreaStatus() == 1) {
@@ -363,11 +372,24 @@
             // 删除旧的区域数据,然后保存新的区域数据
             xpElectronicFenceAreaMapper.delete(new LambdaQueryWrapper<XpElectronicFenceArea>()
                     .eq(XpElectronicFenceArea::getElectronicId, dto.getId()));
-            for (XpElectronicFenceArea area : updatedElectronicFenceAreas) {
-                area.setElectronicId(dto.getId()); // 设置关联的电子围栏ID
-                area.setCityCode(dto.getCityCode());
-                area.setArea(area.getArea());
-                xpElectronicFenceAreaMapper.insert(area);
+            if (xpElectronicFence.getStatus() == 2) {
+                // 设置电子围栏ID并保存区域数据
+                for (XpElectronicFenceArea area : updatedElectronicFenceAreas) {
+                    area.setElectronicId(xpElectronicFence.getId());
+                    area.setAreaStatus(1);
+                    area.setArea(area.getArea());
+                    area.setCityCode(dto.getCityCode());
+                    xpElectronicFenceAreaMapper.insert(area);
+                }
+            }else{
+                // 设置电子围栏ID并保存区域数据
+                for (XpElectronicFenceArea area : updatedElectronicFenceAreas) {
+                    area.setElectronicId(xpElectronicFence.getId());
+                    area.setAreaStatus(2);
+                    area.setArea(area.getArea());
+                    area.setCityCode(dto.getCityCode());
+                    xpElectronicFenceAreaMapper.insert(area);
+                }
             }
             if (dto.getStatus() == 2) {
                 for (XpElectronicFenceArea newElectronicFenceArea : updatedElectronicFenceAreas) {

--
Gitblit v1.7.1