From 458820b471f8e6eb2a338f5f1d0b06c591648936 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 12 二月 2026 21:59:09 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi

---
 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java |   32 +++++++++++++++++++++++++++++---
 1 files changed, 29 insertions(+), 3 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 26bd344..a0df10d 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
@@ -2,7 +2,7 @@
 
 import cn.hutool.core.bean.BeanUtil;
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -12,6 +12,7 @@
 import com.xiaopeng.api.dto.order.GetOrderNumDto;
 import com.xiaopeng.api.dto.order.HistoryEndPointsDto;
 import com.xiaopeng.api.dto.order.HistoryStartPointsDto;
+import com.xiaopeng.api.dto.pushMessage.SendMessageDTO;
 import com.xiaopeng.api.dto.statistics.DailyCountDTO;
 import com.xiaopeng.api.dto.statistics.OrderStatisticsDTO;
 import com.xiaopeng.api.dto.statistics.StatisticsQueryDTO;
@@ -19,6 +20,7 @@
 import com.xiaopeng.api.feignClient.account.XpAppUserClient;
 import com.xiaopeng.api.feignClient.account.XpAppUserCouponClient;
 import com.xiaopeng.api.feignClient.operation.XpSystemSettingClient;
+import com.xiaopeng.api.feignClient.pushMessage.XpPushMessageClient;
 import com.xiaopeng.api.feignClient.vehicleConvoy.UserVehicleClient;
 import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetClient;
 import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetVehicleClient;
@@ -26,6 +28,7 @@
 import com.xiaopeng.api.feignClient.operation.XpPointClient;
 import com.xiaopeng.api.feignClient.operation.XpPricingClient;
 import com.xiaopeng.api.model.account.XpAppUser;
+import com.xiaopeng.api.model.operation.XpPoint;
 import com.xiaopeng.api.model.operation.XpPricing;
 import com.xiaopeng.api.model.vehicleConvoy.XpFleet;
 import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
@@ -38,6 +41,8 @@
 import com.xiaopeng.api.vo.vehicleConvoy.CancelTaxiPassengerVo;
 import com.xiaopeng.common.core.constant.CacheConstants;
 import com.xiaopeng.common.core.domain.R;
+import com.xiaopeng.common.core.enums.OrderStatusEnum;
+import com.xiaopeng.common.core.enums.PushMessageTypeEnum;
 import com.xiaopeng.common.core.exception.ServiceException;
 import com.xiaopeng.common.core.utils.DateUtils;
 import com.xiaopeng.common.core.utils.GeodesyUtil;
@@ -115,6 +120,7 @@
     private final XpPricingClient xpPricingClient;
     private final XpSystemSettingClient xpSystemSettingClient;
     private final OrderTrajectoryService orderTrajectoryService;
+    private final XpPushMessageClient xpPushMessageClient;
 
     @Autowired
     private MongoTemplate mongoTemplate;
@@ -752,6 +758,23 @@
         xpOrderCancel.setCancelSource(4);
         xpOrderCancel.setCancelReason("系统取消订单");
         xpOrderCancelService.save(xpOrderCancel);
+
+
+        // 推送消息
+        // 消息推送
+        Map<String, Object> params = new HashMap<>();
+        Map<String, Object> content = new HashMap<>();
+        content.put("orderId",order.getId());
+        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("订单取消消息推送完毕");
     }
 
     /**
@@ -801,7 +824,10 @@
         xpOrder.setStatus(status);
         switch (status) {
             case 4:
-                // 添加取消订单定时任务job
+                // 查询起点点位
+                Long startPointId = xpOrder.getStartPointId();
+                XpPoint xpPoint = xpPointClient.queryById(startPointId).getData();
+                // 添加取消订单定时任务job  时间为点位限停时长
                 Map<String, ? extends Object> cancelJobMaps =
                         new ImmutableMap.Builder<String, Long>().
                                 put("id", xpOrder.getId())
@@ -810,7 +836,7 @@
                         OrderCancelJob.class,
                         (OrderCancelJob.name + xpOrder.getId()).toUpperCase(),
                         TimeJobType.ORDER_CANCEL,
-                        DateUtils.localDateTimeToDate(LocalDateTime.now().plusMinutes(5)),
+                        DateUtils.localDateTimeToDate(LocalDateTime.now().plusMinutes(xpPoint.getParkingTimeLimit())),
                         cancelJobMaps
                 );
                 // 车辆到达上车点时间

--
Gitblit v1.7.1