From b3d1411517baca17d92dcfe3a0933cdc342b3145 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 16 五月 2026 11:52:41 +0800
Subject: [PATCH] Merge branch '1.1' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0

---
 xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/controller/XpPricingController.java |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/controller/XpPricingController.java b/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/controller/XpPricingController.java
index 1812f23..60dd86a 100644
--- a/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/controller/XpPricingController.java
+++ b/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/controller/XpPricingController.java
@@ -7,6 +7,7 @@
 import com.xiaopeng.api.dto.map.RouteStaleCheckDto;
 import com.xiaopeng.api.dto.map.SelectNavigationRouteDto;
 import com.xiaopeng.api.dto.operation.LonLatDto;
+import com.xiaopeng.api.feignClient.order.XpOrderClient;
 import com.xiaopeng.api.model.operation.XpPricing;
 import com.xiaopeng.api.vo.HotFixInfoVo;
 import com.xiaopeng.api.vo.operation.MultiRouteAndFareVo;
@@ -52,13 +53,15 @@
     private final IXpGeoQueryEntityService xpGeoQueryEntityService;
     private final RedisService redisService;
     private final ImageTagProcessor imageTagProcessor;
+    private final XpOrderClient xpOrderClient;
 
 
-    public XpPricingController(XpPricingService xpPricingService, IXpGeoQueryEntityService xpGeoQueryEntityService, RedisService redisService, ImageTagProcessor imageTagProcessor) {
+    public XpPricingController(XpPricingService xpPricingService, IXpGeoQueryEntityService xpGeoQueryEntityService, RedisService redisService, ImageTagProcessor imageTagProcessor, XpOrderClient xpOrderClient) {
         this.xpPricingService = xpPricingService;
         this.xpGeoQueryEntityService = xpGeoQueryEntityService;
         this.redisService = redisService;
         this.imageTagProcessor = imageTagProcessor;
+        this.xpOrderClient = xpOrderClient;
     }
 
 
@@ -115,6 +118,14 @@
     @XpClientCheck(checkToken = false, checkOtpToken = true)
     public R<?> saveOrder(@RequestBody @Validated XpOrderDto dto, HttpServletRequest request) {
         String uid = request.getHeader("XP-Uid");
+        R<Long> hasOrderResult = xpOrderClient.hasUnPayOrder(uid);
+        if (hasOrderResult == null || R.isError(hasOrderResult)) {
+            return R.fail("订单状态查询失败");
+        }
+        Long existingOrderId = hasOrderResult.getData();
+        if (existingOrderId != null && existingOrderId > 0) {
+            return R.fail("有未支付订单");
+        }
         String orderId = xpPricingService.saveOrder(dto, uid);
         if(orderId==null){
             String language = request.getHeader("language");

--
Gitblit v1.7.1