From 1d2370a15e299c033c11a3fd1416596f9b9f1a2d Mon Sep 17 00:00:00 2001
From: yyy <1083599556@qq.com>
Date: 星期二, 21 四月 2026 17:14:54 +0800
Subject: [PATCH] 1.场站功能开发
---
xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpPointServiceImpl.java | 43 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 43 insertions(+), 0 deletions(-)
diff --git a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpPointServiceImpl.java b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpPointServiceImpl.java
index bb7004a..b168368 100644
--- a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpPointServiceImpl.java
+++ b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/service/serviceimpl/XpPointServiceImpl.java
@@ -136,9 +136,40 @@
BeanUtils.copyProperties(pointAddDto, xpPoint);
xpPoint.setFpElectronicAreaId(pointAddDto.getElectronicAreaId());
xpPoint.setPointNumber(pointNumber);
+ xpPoint.setStationSortNo(0);
this.save(xpPoint);
+
+ //场站点位排序 后添加的点位 排第一个。
+ this.setStationSortNo(xpPoint.getStationId(),0);
+
return xpPoint;
}
+
+ /**
+ * 场站 点位排序
+ * @param stationId
+ * @param stationSortNo
+ */
+ @Transactional
+ @Override
+ public void setStationSortNo(Long stationId, Integer stationSortNo){
+ if(null != stationId && stationSortNo != null && stationSortNo ==0){
+ // 查询该场站下的所有点位,按 stationSortNo 排序
+ List<XpPoint> points = this.lambdaQuery()
+ .eq(XpPoint::getStationId, stationId)
+ .orderByAsc(XpPoint::getStationSortNo)
+ .list();
+
+ if (CollUtil.isNotEmpty(points)) {
+ int newSortNo = 1;
+ for (XpPoint point : points) {
+ point.setStationSortNo(newSortNo++);
+ }
+ this.updateBatchById(points);
+ }
+ }
+ }
+
@Override
public String getPointNumber(Long electronicAreaId) {
String cityPrefix = buildCityPrefix(electronicAreaId);
@@ -746,6 +777,18 @@
}
}
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public void statusEnableByStationId(Long stationId) {
+ if (stationId == null) {
+ return;
+ }
+ this.lambdaUpdate()
+ .eq(XpPoint::getStationId, stationId)
+ .set(XpPoint::getOperationStatus, 2)//运营状态 1=待启用 2=启用中 3=已停用 4=已失效
+ .update();
+ }
+
/**
* 场站删除
* - 删除拦截逻辑:
--
Gitblit v1.7.1