From e8cd60ca4444dc92d6788bab775e3a300592f0a7 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 21 四月 2026 22:19:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/1.0' into 1.0

---
 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