From 2b306afe79cd8096dd9394b0d8d04ff467b7e09c Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期五, 10 四月 2026 22:38:18 +0800
Subject: [PATCH] fix:车辆无XPUID返回内容修改、围栏自动停用补偿定时任务

---
 xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpElectronicFenceServiceImpl.java |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 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 142918b..a54e6b9 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
@@ -958,6 +958,36 @@
         return list();
     }
 
+    @Override
+    @Transactional
+    @ShardingSphereTransactionType(TransactionType.BASE)
+    public void expireFence(Long electronicId) {
+        if (electronicId == null) {
+            return;
+        }
+        XpElectronicFence electronicFence = this.getById(electronicId);
+        if (electronicFence == null || electronicFence.getStatus() == null) {
+            return;
+        }
+        Integer status = electronicFence.getStatus();
+        if (status != 1 && status != 2) {
+            return;
+        }
+        electronicFence.setStatus(3);
+        this.updateById(electronicFence);
+
+        List<XpElectronicFenceArea> electronicFenceAreaList = xpElectronicFenceAreaService.lambdaQuery()
+                .eq(XpElectronicFenceArea::getElectronicId, electronicId)
+                .list();
+        if (CollUtil.isEmpty(electronicFenceAreaList)) {
+            return;
+        }
+        for (XpElectronicFenceArea electronicFenceArea : electronicFenceAreaList) {
+            electronicFenceArea.setAreaStatus(2);
+        }
+        xpElectronicFenceAreaService.updateBatchById(electronicFenceAreaList);
+    }
+
 
     /**
      * 计算围栏中心点

--
Gitblit v1.7.1