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/controller/XpPointManagementController.java |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpPointManagementController.java b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpPointManagementController.java
index 06c608e..26c853c 100644
--- a/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpPointManagementController.java
+++ b/xp-robotaxi-map-boot/src/main/java/com/xiaopeng/map/controller/XpPointManagementController.java
@@ -3,6 +3,7 @@
 
 import cn.afterturn.easypoi.excel.ExcelExportUtil;
 import cn.afterturn.easypoi.excel.entity.ExportParams;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.xiaopeng.api.dto.map.XpPointExportExcelQuery;
 import com.xiaopeng.api.dto.operation.PointAddDto;
 import com.xiaopeng.api.dto.operation.PointUpdateDto;
@@ -25,6 +26,7 @@
 import com.xiaopeng.map.service.XpElectronicFenceService;
 import com.xiaopeng.map.service.XpPointService;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.ss.usermodel.Workbook;
@@ -70,10 +72,12 @@
 
     @ApiOperation(value = "获取所有运营中的区域", response = XpElectronicFenceArea.class)
     @PostMapping("/listElectronicFenceArea")
-    public R<List<XpElectronicFenceArea>> listElectronicFenceArea() {
+    public R<List<XpElectronicFenceArea>> listElectronicFenceArea(@RequestParam String cityCode) {
         // 获取所有启用的电子围栏
         List<XpElectronicFence> electronicFences = xpElectronicFenceService.lambdaQuery()
-                .eq(XpElectronicFence::getStatus, 2).list();
+                .eq(XpElectronicFence::getStatus, 2)
+                .eq(XpElectronicFence::getCityCode, cityCode)
+                .list();
         List<Long> electronicFenceIds = electronicFences.stream().map(XpElectronicFence::getId).collect(Collectors.toList());
         if (electronicFenceIds.isEmpty()) {
             return R.ok(new ArrayList<XpElectronicFenceArea>());
@@ -224,6 +228,15 @@
             }
         }
         xpPoint.setFpElectronicAreaId(null);
+
+        Long stationId = pointAddDto.getStationId();
+        Integer stationSortNo = pointAddDto.getStationSortNo(); //点位在场站内排序
+        if(stationId != null && stationId > 0){
+            if(stationSortNo == null){
+                stationSortNo = 0;
+            }
+        }
+
         // 使用 lambdaUpdate 确保 pointPictures 为 null 时也能将数据库字段清空
         // (updateById 默认策略 NOT_NULL 会跳过 null 值,导致删除图片后数据库仍保留旧图片)
         xpPointService.lambdaUpdate()
@@ -252,9 +265,12 @@
                 .set(XpPoint::getCityName, xpPoint.getCityName())
                 .set(XpPoint::getDistrictName, xpPoint.getDistrictName())
                 .set(XpPoint::getDistrictCode, xpPoint.getDistrictCode())
-                .set(XpPoint::getStationId, xpPoint.getStationId())
-                .set(XpPoint::getStationSortNo, xpPoint.getStationSortNo())
+                .set(XpPoint::getStationId, stationId)
+                .set(XpPoint::getStationSortNo, stationSortNo)
                 .update();
+
+        //场站点位排序 后添加的点位 排第一个。
+        xpPointService.setStationSortNo(xpPoint.getStationId(),stationSortNo);
         return R.ok();
     }
 

--
Gitblit v1.7.1