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