From 5208875f290a5739a447c56a00b594df02b965bb Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 13 三月 2026 18:06:46 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpCruisePlanController.java |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpCruisePlanController.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpCruisePlanController.java
index c81e179..cf6e0b1 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpCruisePlanController.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpCruisePlanController.java
@@ -41,6 +41,7 @@
 import io.swagger.annotations.ApiParam;
 
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -227,5 +228,23 @@
         xpCruiseOrder.setEndLat(xpPoint.getPointLat());
         return R.ok(xpCruiseOrder);
     }
-}
 
+    /**
+     * 判断点位ID列表是否存在关联的巡游计划点位(内部接口)
+     */
+    @PostMapping("/inner/cruise/existsCruisePlanPointByPointIds")
+    public R<Boolean> existsCruisePlanPointByPointIds(@RequestBody List<Long> pointIds) {
+        List<Long> distinctPointIds = pointIds == null
+                ? java.util.Collections.emptyList()
+                : pointIds.stream().filter(Objects::nonNull).distinct().collect(Collectors.toList());
+        if (distinctPointIds.isEmpty()) {
+            return R.ok(Boolean.FALSE);
+        }
+        XpCruisePlanPoint exists = xpCruisePlanPointService.getOne(
+                new LambdaQueryWrapper<XpCruisePlanPoint>()
+                        .in(XpCruisePlanPoint::getPointId, distinctPointIds)
+                        .last("limit 1")
+        );
+        return R.ok(exists != null);
+    }
+}

--
Gitblit v1.7.1