From 3a5fc9e4c43a682a98ca1beabb6c8309b4ca6d01 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 03 三月 2026 18:16:12 +0800
Subject: [PATCH] 合并代码
---
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpElectronicFenceServiceImpl.java | 22 +++++++++++++++++++++-
1 files changed, 21 insertions(+), 1 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 764b934..e271bee 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
@@ -28,6 +28,7 @@
import com.xiaopeng.operation.mapper.XpPointMapper;
import com.xiaopeng.operation.mapper.XpRegionMapper;
import com.xiaopeng.operation.service.IXpElectronicFenceService;
+import com.xiaopeng.operation.utils.GDMapGeocodingUtil;
import com.xiaopeng.operation.utils.PolygonOverlapService;
import lombok.extern.slf4j.Slf4j;
import net.sourceforge.pinyin4j.PinyinHelper;
@@ -67,6 +68,8 @@
private XpPointMapper xpPointMapper;
@Autowired
private XpRegionMapper xpRegionMapper;
+ @Autowired
+ private GDMapGeocodingUtil gdMapGeocodingUtil;
@Override
public PageInfo<XpElectronicFence> pageList(ElectronicPageListQuery query) {
@@ -157,6 +160,15 @@
}
}
}
+ //根据经纬度获取当前城市code
+ XpElectronicFenceArea xpElectronicFenceArea = dto.getElectronicFenceAreas().get(0);
+ String[] split = xpElectronicFenceArea.getFencePoints().split(",")[0].split("_");
+ Map<String, String> geocode = gdMapGeocodingUtil.geocode(split[0], split[1]);
+ if(null == geocode){
+ return R.fail("经纬度转换城市code失败");
+ }
+ String cityCode = geocode.get("cityCode");
+ dto.setCityCode(cityCode);
xpElectronicFence.setCityCode(dto.getCityCode());
// 生成围栏id 规则:城市首字母-类型简写-4位自增流水号(如 SZ-OP-001),支持复制;数据停用或删除后,流水号不回收
XpRegion xpRegion = xpRegionMapper.selectOne(new LambdaQueryWrapper<XpRegion>()
@@ -366,8 +378,16 @@
}
}
}
+ //根据经纬度获取当前城市code
+ XpElectronicFenceArea electronicFenceArea = dto.getElectronicFenceAreas().get(0);
+ String[] split = electronicFenceArea.getFencePoints().split(",")[0].split("_");
+ Map<String, String> geocode = gdMapGeocodingUtil.geocode(split[0], split[1]);
+ if(null == geocode){
+ return R.fail("经纬度转换城市code失败");
+ }
+ String cityCode = geocode.get("cityCode");
+ dto.setCityCode(cityCode);
xpElectronicFence.setCityCode(dto.getCityCode());
-
this.updateById(xpElectronicFence);
// 删除旧的区域数据,然后保存新的区域数据
xpElectronicFenceAreaMapper.delete(new LambdaQueryWrapper<XpElectronicFenceArea>()
--
Gitblit v1.7.1