From d0df3ff57cba8986e0474f9df4195be5aa5c9b88 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期日, 15 三月 2026 16:07:17 +0800
Subject: [PATCH] 修改bug

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |   58 +++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 37 insertions(+), 21 deletions(-)

diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
index a1b4155..6a99c2d 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -1229,19 +1229,19 @@
         }
 
         // 消息推送
-        Map<String, Object> params = new HashMap<>();
-        Map<String, Object> content = new HashMap<>();
-        content.put("orderId", order.getId().toString());
-        content.put("status", OrderStatusEnum.CANCELED.getCode());
-        params.put("type", PushMessageTypeEnum.ORDER_STATUS.getDesc());
-        params.put("content", JSONObject.toJSONString(content));
-        params.put("timestamp", new Date().getTime() + "");
-        String message = JSONObject.toJSONString(params);
-        SendMessageDTO sendMessageDTO = new SendMessageDTO();
-        sendMessageDTO.setMessage(message);
-        sendMessageDTO.setAppUserId(uid);
-        xpPushMessageClient.sendStatus(sendMessageDTO);
-        log.info("订单取消消息推送完毕");
+//        Map<String, Object> params = new HashMap<>();
+//        Map<String, Object> content = new HashMap<>();
+//        content.put("orderId", order.getId().toString());
+//        content.put("status", OrderStatusEnum.CANCELED.getCode());
+//        params.put("type", PushMessageTypeEnum.ORDER_STATUS.getDesc());
+//        params.put("content", JSONObject.toJSONString(content));
+//        params.put("timestamp", new Date().getTime() + "");
+//        String message = JSONObject.toJSONString(params);
+//        SendMessageDTO sendMessageDTO = new SendMessageDTO();
+//        sendMessageDTO.setMessage(message);
+//        sendMessageDTO.setAppUserId(uid);
+//        xpPushMessageClient.sendStatus(sendMessageDTO);
+//        log.info("订单取消消息推送完毕");
 
         // 移除mongo数据
         xpPricingClient.deleteXpGeoQueryEntity(order.getId().toString());
@@ -1465,7 +1465,7 @@
     }
 
     @Override
-    public void endTrip(Long orderId, String uid) {
+    public Boolean endTrip(Long orderId, String uid) {
         List<XpOrderDetail> xpOrderDetails = new ArrayList<>();
         // 起步价格明细
         List<FareBreakdownDetailVo> start = new ArrayList<>();
@@ -1827,26 +1827,42 @@
 
 
         if (order.getCouponId() != null) {
-            UseUserCouponDto useUserCouponDto = new UseUserCouponDto();
-            useUserCouponDto.setUserId(Long.valueOf(uid));
-            useUserCouponDto.setTotalAmount(order.getOrderMoney().doubleValue());
-            useUserCouponDto.setOpenCityId(order.getCityId());
-            useUserCouponDto.setOrderId(orderId);
-            useUserCouponDto.setUserCouponId(order.getCouponId());
-            xpAppUserCouponClient.useUserCoupon(useUserCouponDto);
+//            UseUserCouponDto useUserCouponDto = new UseUserCouponDto();
+//            useUserCouponDto.setUserId(Long.valueOf(uid));
+//            useUserCouponDto.setTotalAmount(order.getOrderMoney().doubleValue());
+//            useUserCouponDto.setOpenCityId(order.getCityId());
+//            useUserCouponDto.setOrderId(orderId);
+//            useUserCouponDto.setUserCouponId(order.getCouponId());
+//            xpAppUserCouponClient.useUserCoupon(useUserCouponDto);
         }
         // 计算完价格后 挑选优惠券
         GetUserCouponDto getUserCouponDto = new GetUserCouponDto();
         getUserCouponDto.setUserId(Long.valueOf(uid));
         getUserCouponDto.setTotalAmount(order.getOrderMoney().doubleValue());
+        getUserCouponDto.setUserCouponId(order.getCouponId());
+        getUserCouponDto.setOpenCityId(order.getCityId());
         R<UserCouponVo> userCouponVoR = xpAppUserCouponClient.getUserCoupon(getUserCouponDto);
         UserCouponVo userCouponVo = userCouponVoR.getData();
+
+        // 提示是否换券
+        boolean tip =false;
         if (userCouponVo != null) {
+            // 重新选券
+            if(userCouponVo.getStatus()==2){
+                getUserCouponDto.setUserId(Long.valueOf(uid));
+                getUserCouponDto.setTotalAmount(order.getOrderMoney().doubleValue());
+                getUserCouponDto.setUserCouponId(order.getCouponId());
+                getUserCouponDto.setOpenCityId(order.getCityId());
+                userCouponVoR = xpAppUserCouponClient.getUserCoupon(getUserCouponDto);
+                userCouponVo = userCouponVoR.getData();
+                tip=true;
+            }
             order.setCouponId(userCouponVo.getId());
             order.setCouponMoney(BigDecimal.valueOf(userCouponVo.getMoney()));
         }
         order.setAppUserId(null);
         baseMapper.updateById(order);
+        return tip;
     }
 
 

--
Gitblit v1.7.1