puzhibing
2026-03-14 0b69e73c13a55b18c78da409bda9a7e5371bfdb1
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
@@ -350,11 +350,11 @@
                mongoTemplate.updateFirst(new Query(Criteria.where("vin").is(vin)), update, VehiclePosition.class);
            }
            //调用推送服务接口
            if (null != orderId) {
            if (null != orderId && !order_id.contains("XU")) {
                RtTripInfo rtTripInfo = systemRuntimeStatus.getRtTripInfo();
                PushOrderRouteDTO dto = new PushOrderRouteDTO();
                dto.setOrderId(orderId);
                dto.setRouteType(order_id.contains("XU") ? 2 : 1);
                dto.setRouteType(1);
                dto.setLongitude(longitude);
                dto.setLatitude(latitude);
                //TODO 这两个字段现在拿不到
@@ -901,41 +901,33 @@
                    XpVehicle xpVehicle = xpVehicleR.getData();
                    // 运营中 继续执行
                    if(xpVehicle.getOperatingStatus()==1 && xpVehicle.getState()==0){
                        log.info("巡游单到达终点,继续执行下一笔巡游单");
                        // 创建新的巡游单子  判断是否为返程单子
                        if(xpCruiseOrder.getOrderType()==2){
                            R<XpCruiseOrder> lastOrder = xpCruiseOrderClient.getCruiseOrder(xpCruiseOrder.getLastOrderId());
                            XpCruiseOrder lastXpCruiseOrder = lastOrder.getData();
                            // 修改一下id 加一个一样的巡游单子
                            lastXpCruiseOrder.setId(null);
                            lastXpCruiseOrder.setStatus(1);
                            xpCruiseOrderClient.addCruiseOrder(lastXpCruiseOrder);
                        }else if(xpCruiseOrder.getOrderType()==1){
                           // 正常巡游 找到下一个点位   若到达最后点位  则反向找点位
                            // 起点
                            Double endLon = xpCruiseOrder.getEndLon();
                            Double endLat = xpCruiseOrder.getEndLat();
                            XpCruiseOrder newXpCruiseOrder = new XpCruiseOrder();
                            newXpCruiseOrder.setVehicleId(xpCruiseOrder.getVehicleId());
                            newXpCruiseOrder.setVehicleVin(xpCruiseOrder.getVehicleVin());
                            newXpCruiseOrder.setFleetId(xpCruiseOrder.getFleetId());
                            newXpCruiseOrder.setOrderType(1);
                            newXpCruiseOrder.setStartLat(endLat);
                            newXpCruiseOrder.setStartLon(endLon);
                            newXpCruiseOrder.setStartPointId(xpCruiseOrder.getEndPointId());
                            newXpCruiseOrder.setStartPointName(xpCruiseOrder.getEndPointName());
                            newXpCruiseOrder.setStatus(1);
                            newXpCruiseOrder.setLastOrderId(xpCruiseOrder.getId());
                        // 正常巡游 找到下一个点位   若到达最后点位  则反向找点位
                        // 起点
                        Double endLon = xpCruiseOrder.getEndLon();
                        Double endLat = xpCruiseOrder.getEndLat();
                        XpCruiseOrder newXpCruiseOrder = new XpCruiseOrder();
                        newXpCruiseOrder.setVehicleId(xpCruiseOrder.getVehicleId());
                        newXpCruiseOrder.setVehicleVin(xpCruiseOrder.getVehicleVin());
                        newXpCruiseOrder.setFleetId(xpCruiseOrder.getFleetId());
                        newXpCruiseOrder.setOrderType(1);
                        newXpCruiseOrder.setStartLat(endLat);
                        newXpCruiseOrder.setStartLon(endLon);
                        newXpCruiseOrder.setStartPointId(xpCruiseOrder.getEndPointId());
                        newXpCruiseOrder.setStartPointName(xpCruiseOrder.getEndPointName());
                        newXpCruiseOrder.setStatus(1);
                        newXpCruiseOrder.setLastOrderId(xpCruiseOrder.getId());
                            // 通过车找终点id
                            CruisePointDto cruisePointDto = new CruisePointDto();
                            cruisePointDto.setNewXpCruiseOrder(newXpCruiseOrder);
                            cruisePointDto.setVehicleId(xpCruiseOrder.getVehicleId());
                            cruisePointDto.setPointId(newXpCruiseOrder.getStartPointId());
                            cruisePointDto.setOrderReverse(xpCruiseOrder.getOrderReverse());
                            R<XpCruiseOrder> cruisePoint = xpCruisePlanClient.getCruisePoint(cruisePointDto);
                            if(cruisePoint!=null){
                                xpCruiseOrderClient.addCruiseOrder(cruisePoint.getData());
                            }
                        // 通过车找终点id
                        CruisePointDto cruisePointDto = new CruisePointDto();
                        cruisePointDto.setNewXpCruiseOrder(newXpCruiseOrder);
                        cruisePointDto.setVehicleId(xpCruiseOrder.getVehicleId());
                        cruisePointDto.setPointId(newXpCruiseOrder.getStartPointId());
                        cruisePointDto.setOrderReverse(xpCruiseOrder.getOrderReverse());
                        R<XpCruiseOrder> cruisePoint = xpCruisePlanClient.getCruisePoint(cruisePointDto);
                        if(cruisePoint!=null){
                            xpCruiseOrderClient.addCruiseOrder(cruisePoint.getData());
                        }
                    }
                }