From 3e64bca8c8133298f242224f52b3d5f1278f68a6 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 04 三月 2026 16:00:04 +0800
Subject: [PATCH] 修改围栏查询及其他mongodb查询
---
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpElectronicFenceServiceImpl.java | 10 +++++++---
1 files changed, 7 insertions(+), 3 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 a6fa724..0bcd642 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
@@ -254,7 +254,7 @@
}
}
- if (xpElectronicFence.getStatus() == 2) {
+ if (xpElectronicFence.getStatus() == 1 || xpElectronicFence.getStatus() == 2) {
for (XpElectronicFenceArea newElectronicFenceArea : newElectronicFenceAreas) {
if (newElectronicFenceArea.getAreaType() == 1
&& newElectronicFenceArea.getAreaStatus() == 1) {
@@ -391,6 +391,8 @@
// 删除旧的区域数据,然后保存新的区域数据
xpElectronicFenceAreaMapper.delete(new LambdaQueryWrapper<XpElectronicFenceArea>()
.eq(XpElectronicFenceArea::getElectronicId, dto.getId()));
+ mongoTemplate.remove(new Query(Criteria.where("fenceId").is(String.valueOf(dto.getId()))), XpGeoFencingPolygon.class);
+
if (xpElectronicFence.getStatus() == 2) {
// 设置电子围栏ID并保存区域数据
for (XpElectronicFenceArea area : updatedElectronicFenceAreas) {
@@ -410,7 +412,7 @@
xpElectronicFenceAreaMapper.insert(area);
}
}
- if (dto.getStatus() == 2) {
+ if (dto.getStatus() == 1 || dto.getStatus() == 2) {
for (XpElectronicFenceArea newElectronicFenceArea : updatedElectronicFenceAreas) {
if (newElectronicFenceArea.getAreaType() == 1
&& newElectronicFenceArea.getAreaStatus() == 1) {
@@ -423,16 +425,18 @@
XpGeoFencingPolygon xpGeoFencingPolygon = new XpGeoFencingPolygon();
xpGeoFencingPolygon.setFenceId(String.valueOf(xpElectronicFence.getId()));
xpGeoFencingPolygon.setName(xpElectronicFence.getElectronicName());
+ xpGeoFencingPolygon.setCityCode(cityCode);
xpGeoFencingPolygon.setAreaId(String.valueOf(newElectronicFenceArea.getId()));
xpGeoFencingPolygon.setOperationStrategy(xpElectronicFence.getOperationStrategy());
// 将围栏点转换为GeoJSON多边形
GeoJsonPolygon geoJsonPolygon = convertToGeoJsonPolygon(newElectronicFenceArea.getFencePoints());
xpGeoFencingPolygon.setPoints(geoJsonPolygon);
- mongoTemplate.insert(xpGeoFencingPolygon);
+ mongoTemplate.save(xpGeoFencingPolygon);
} else {
// 如果存在,则更新已有文档
old.setFenceId(String.valueOf(xpElectronicFence.getId()));
old.setName(xpElectronicFence.getElectronicName());
+ old.setCityCode(cityCode);
old.setAreaId(String.valueOf(newElectronicFenceArea.getId()));
old.setOperationStrategy(xpElectronicFence.getOperationStrategy());
// 将围栏点转换为GeoJSON多边形
--
Gitblit v1.7.1