From 345cd5e2df171bf4241c2f9255e9bf88f0da0889 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 14 五月 2026 18:06:38 +0800
Subject: [PATCH] 催收短信+订单现在拦截

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