puzhibing
2026-04-26 47b3380b661bfde1d451cf1f2df34353e4ab6e1f
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -190,6 +190,9 @@
    @Resource
    private BluetoothUnlockClient bluetoothUnlockClient;
    @Resource
    private XpTradingStrategyClient tradingStrategyClient;
    @Value("${robotaxi.appId:xp_robotaxi_api}")
    private String appid;
@@ -2000,8 +2003,29 @@
                sendRoute(appUserId.toString(), orderId, "ORDER_NAVIGATION_END_DATA", xpVehicle.getVehicleVin());
                // 删除定时任务job
                QuartzManager.removeJob((OrderCancelJob.name + xpOrder.getId()).toUpperCase(), TimeJobType.ORDER_CANCEL);
                //乘客已上车,重新倒计时不开始行程取消订单
                XpPoint xpPoint1 = xpPointClient.queryById(xpOrder.getStartPointId()).getData();
                XpTradingStrategy tradingStrategy = tradingStrategyClient.getTradingStrategyByCityCode(xpPoint1.getCityCode()).getData();
                if(null != tradingStrategy){
                    Map<String, ? extends Object> cancelJobMaps1 =
                            new ImmutableMap.Builder<String, Long>().
                                    put("id", xpOrder.getId())
                                    .build();
                    QuartzManager.addJob(
                            OrderCancelJob.class,
                            (OrderCancelJob.name + xpOrder.getId()).toUpperCase(),
                            TimeJobType.ORDER_CANCEL,
                            DateUtils.localDateTimeToDate(LocalDateTime.now().plusMinutes(tradingStrategy.getBdNotBoardedTime())),
                            cancelJobMaps1
                    );
                }
                // 车辆到达上车点时间
                xpOrder.setArrivalTime(LocalDateTime.now());
                break;
            case 6:
                // 删除定时任务job
                QuartzManager.removeJob((OrderCancelJob.name + xpOrder.getId()).toUpperCase(), TimeJobType.ORDER_CANCEL);
                // 行程开始时间
                xpOrder.setTripBegin(LocalDateTime.now());
                //添加预估到达时间