From 6eed8cac891460d48b84e16dade92ab110a1b177 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期三, 11 三月 2026 17:59:41 +0800
Subject: [PATCH] bugfix
---
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpElectronicFenceManagementController.java | 22 +++++++++++++++++++++-
1 files changed, 21 insertions(+), 1 deletions(-)
diff --git a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpElectronicFenceManagementController.java b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpElectronicFenceManagementController.java
index 1144fc4..53b4552 100644
--- a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpElectronicFenceManagementController.java
+++ b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpElectronicFenceManagementController.java
@@ -2,6 +2,7 @@
import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.xiaopeng.api.dto.operation.ElectronicFenceAddDto;
import com.xiaopeng.api.dto.operation.ElectronicFenceAreaUpdateStatusDto;
import com.xiaopeng.api.dto.operation.ElectronicFenceUpdateDto;
@@ -26,6 +27,8 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.transaction.annotation.ShardingSphereTransactionType;
import org.apache.shardingsphere.transaction.core.TransactionType;
+import org.locationtech.jts.geom.Coordinate;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -34,6 +37,9 @@
import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import java.util.Map;
+
+import static com.xiaopeng.map.service.serviceimpl.XpElectronicFenceServiceImpl.getPinyinInitials;
/**
* <p>
@@ -58,6 +64,8 @@
@Resource
private XpRegionService regionService;
+ @Autowired
+ private XpRegionService xpRegionService;
/**
* 查询省市管理
*/
@@ -166,9 +174,21 @@
electronicFence.setElectronicName("副本_"+electronicFence.getElectronicName());
electronicFence.setId(null);
electronicFence.setStatus(0);
- xpElectronicFenceService.save(electronicFence);
List<XpElectronicFenceArea> electronicFenceAreaList = xpElectronicFenceAreaService.lambdaQuery().eq(XpElectronicFenceArea::getElectronicId, id)
.list();
+ //根据经纬度获取当前城市code
+ // 生成围栏id 规则:城市首字母-类型简写-4位自增流水号(如 SZ-OP-001),支持复制;数据停用或删除后,流水号不回收
+ XpRegion xpRegion = xpRegionService.getOne(new LambdaQueryWrapper<XpRegion>()
+ .eq(XpRegion::getCode, electronicFence.getCityCode()));
+ String name = xpRegion.getName();
+ // 根据城市中文名,截取前两位的首字母并且大写
+ // 截取前两个字符
+ String prefix = name.substring(0, 2);
+ // 获取拼音首字母并大写
+ String result = getPinyinInitials(prefix).toUpperCase();
+ xpElectronicFenceService.save(electronicFence);
+ electronicFence.setElectronicNumber(result + "-OP-" + String.format("%04d", electronicFence.getId()));
+ xpElectronicFenceService.updateById(electronicFence);
for (XpElectronicFenceArea area : electronicFenceAreaList) {
area.setId(null);
area.setElectronicId(electronicFence.getId());
--
Gitblit v1.7.1