From 340be7dbd2c93b67d8133170deb73aecfdd3f88d Mon Sep 17 00:00:00 2001
From: zjk <852185829@qq.com>
Date: 星期三, 15 四月 2026 17:50:15 +0800
Subject: [PATCH] 1.车辆接驾中异常处理,改派重新优化 并记录改派数据 2.行驶中,车辆故障异常处理,添加订单故障状态字段, 并将支付方法的里判断 故障单 支付金额=0

---
 xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java |   17 ++++++-----------
 1 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
index e5685b7..6405fd6 100644
--- a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
+++ b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
@@ -510,8 +510,8 @@
                 if (vehicle != null) {
                     // 修改车辆状态
                     XpVehicle vehicle1 = new XpVehicle();
-                    vehicle1.setState(0);
-                    vehicle1.setOperatingStatus(4);
+                    vehicle1.setState(0);//车辆接单状态 1接单中 0空闲
+                    vehicle1.setOperatingStatus(4);//运营状态 1运营中 2维修中 3已收车 4车辆异常
                     vehicle1.setId(vehicle.getId());
                     xpVehicleClient.updateVehicleById(vehicle1);
                     log.info("车辆故障,车辆状态修改0 {}", vehicle.getPlateNumber());
@@ -524,20 +524,15 @@
                     userVehicleClient.cancelTaxiPassenger(cancelTaxiPassengerVo);
                 }
                 //status 状态 0=已取消,1=待接单,2=待出发,3=接驾中,4=待客上车,5=乘客已上车,6=服务中,7=待客下车,8=待付款,9=待评价,10=已完成
-                List<Integer> notDrive = new ArrayList<Integer>(){{ //未行驶的情况下订单故障状态点
+                List<Integer> notDrive = new ArrayList<Integer>(){{ //未行驶的情况下订单故障状态点 status=2、3、4、5
                     add(OrderStatusEnum.READY_DEPART.getCode());add(OrderStatusEnum.PICK_UP.getCode());
                     add(OrderStatusEnum.PICK_UP_GUESTS.getCode());add(OrderStatusEnum.PASSENGER_BOARDED.getCode());
                 }};
 
-                if(xpOrder.getStatus().equals(OrderStatusEnum.IN_SERVICE.getCode())
-                        || xpOrder.getStatus().equals(OrderStatusEnum.SEE_OFF_GUESTS.getCode()) ){ //6=服务中 7=待客下车 在行驶中 修改订单-已完成  需要处理订单金额
-                    //单独写个修改订单的方法。
-//                    ff
+                if(xpOrder.getStatus().equals(OrderStatusEnum.IN_SERVICE.getCode()) ){ //6=服务中  在行驶中 修改订单-已完成  需要处理订单金额
+                    //行驶中车辆异常,订单状态修改- 修改状态=7 再修改 金额 再将状态修改成8
                     xpOrderClient.carAbnormalUpdateOrderStatus(Long.parseLong(orderId));
-
-                }else if(notDrive.contains(xpOrder.getStatus())){//在接驾中 车辆出现故障 重新派单
-
-                    // TODO 重新派单
+                }else if(notDrive.contains(xpOrder.getStatus())){//在接驾中 车辆出现故障 重新派单 改派
                     ReassignOrderDTO reassignOrderDTO = new ReassignOrderDTO();
                     reassignOrderDTO.setUid(xpOrder.getAppUserId().toString());
                     reassignOrderDTO.setOrderNo(xpOrder.getOrderNumber());

--
Gitblit v1.7.1