From 1ca66b10db05e7c9d5d653361d334f161b452c23 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 07 三月 2026 21:01:58 +0800
Subject: [PATCH] 合并代码

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |   32 ++++++++++++++++++++++++++++----
 1 files changed, 28 insertions(+), 4 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 170381e..b3d1299 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
@@ -1019,6 +1019,24 @@
             redisService.setCacheCancelOrder("CANCEL_ORDER_" + uid, i + 1);
         }
 
+        // 消息推送
+        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", com.alibaba.fastjson2.JSONObject.toJSONString(content));
+        params.put("timestamp", new Date().getTime() + "");
+        String message = JSONObject.toJSONString(params);
+        SendMessageDTO sendMessageDTO = new SendMessageDTO();
+        sendMessageDTO.setMessage(message);
+        sendMessageDTO.setAppUserId(String.valueOf(order.getAppUserId()));
+        xpPushMessageClient.sendStatus(sendMessageDTO);
+        log.info("订单取消消息推送完毕");
+
+        // 移除mongo数据
+        xpPricingClient.deleteXpGeoQueryEntity(order.getId().toString());
+
         // 下发命令
         if (order.getStatus() > 1) {
             PushOrderDto pushOrderDto = new PushOrderDto();
@@ -1067,6 +1085,9 @@
         sendMessageDTO.setAppUserId(String.valueOf(order.getAppUserId()));
         xpPushMessageClient.sendStatus(sendMessageDTO);
         log.info("订单取消消息推送完毕");
+
+        // 移除mongo数据
+        xpPricingClient.deleteXpGeoQueryEntity(order.getId().toString());
 
         // 下发命令
         if (order.getStatus() > 1) {
@@ -1198,7 +1219,7 @@
         order.setStatus(8);
         order.setAppUserId(null);
         order.setTripEnd(LocalDateTime.now());
-        order.setMileageKilometers(80.0);
+//        order.setMileageKilometers(80.0);
         baseMapper.updateById(order);
         // 解绑用户与车辆关系
         CancelTaxiPassengerVo cancelTaxiPassengerVo = new CancelTaxiPassengerVo();
@@ -2089,10 +2110,13 @@
 
                 // Redis弹出这个队列元素
                 // value 订单Id_经纬度_状态_用户id_订单编号_距离_时间
-                String popFirstElement = redisService.popFirstElement(order.getQueueName());
+                try {
+                    redisService.popFirstElement(order.getQueueName());
+                }catch (Exception e){
+                    log.error("Redis弹出队列元素出错");
+                }
                 XpGeoQueryEntity xpGeoQueryEntity = new XpGeoQueryEntity();
-                String[] split = popFirstElement.split("_");
-                xpGeoQueryEntity.setOrderId(split[0]);
+                xpGeoQueryEntity.setOrderId(order.getId().toString());
                 // 存mongo数据
                 xpPricingClient.updateXpGeoQueryEntity(order.getId().toString());
 

--
Gitblit v1.7.1