From e4e8a1a96de8dc5efb965bea8e98581e2b41ac82 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 13 二月 2026 21:23:32 +0800
Subject: [PATCH] bug修改,计算费用工具类

---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpElectronicFenceServiceImpl.java |   23 ++++++++++++++++++-----
 1 files changed, 18 insertions(+), 5 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 715daba..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
@@ -372,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