puzhibing
2026-03-18 256f7a2471485dbea6eae1a1fe88bf8dc87d68fb
修改订单bug
5个文件已修改
65 ■■■■■ 已修改文件
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/order/XpOrderClientFallbackFactory.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/order/XpOrderClient.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleServiceImpl.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-api/src/main/java/com/xiaopeng/api/factory/order/XpOrderClientFallbackFactory.java
@@ -102,6 +102,12 @@
                log.error("保存订单轨迹数据失败,原因: {}", cause.getMessage());
                return R.fail("保存订单轨迹数据失败");
            }
            @Override
            public R<?> endTrip(Long orderId) {
                log.error("内部调用-结束订单失败,原因: {}", cause.getMessage());
                return R.fail("内部调用-结束订单失败:" + cause.getMessage());
            }
        };
    }
}
xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/order/XpOrderClient.java
@@ -120,4 +120,14 @@
    @PostMapping("/inner/v1/order/saveVehicleLocation")
    R<String> saveVehicleLocation(@RequestBody OrderTrajectoryVo orderTrajectory);
    /**
     * 内部调用-结束订单
     * @param orderId
     * @return
     */
    @PostMapping("/inner/order/endTrip")
    R<?> endTrip(@RequestParam Long orderId);
}
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
@@ -859,8 +859,9 @@
                case ORDER_CANCELLED:
                    //已取消
                    if(!orderId.contains("XU")){
                        buildPushOrderStatus(orderId, OrderStatusEnum.CANCELED, sequence);
                        xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.CANCELED.getCode());
                        //行程中取消订单,按照行程结束处理
                        buildPushOrderStatus(orderId, OrderStatusEnum.SEE_OFF_GUESTS, sequence);
                        xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.SEE_OFF_GUESTS.getCode());
                    }
                    break;
                case ORDER_ARRIVED_AT_CRUISE_DESTINATION:
@@ -961,6 +962,7 @@
            if (R.isError(stringR)) {
                log.error("推送消息失败:{}", stringR.getMsg());
            }
        }
    }
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
@@ -63,6 +63,8 @@
import java.util.Arrays;
import java.util.List;
import static org.bouncycastle.asn1.x500.style.RFC4519Style.uid;
/**
 * <p>
 * 订单 前端控制器
@@ -425,6 +427,19 @@
    /**
     * 内部调用-结束订单
     * @param orderId
     * @return
     */
    @PostMapping("/inner/order/endTrip")
    public R<?> endTrip(@RequestParam Long orderId){
        XpOrder xpOrder = xpOrderService.getById(orderId);
        Boolean b = xpOrderService.endTrip(orderId, xpOrder.getAppUserId().toString());
        return R.ok(b);
    }
    /**
     * +
     * 获取行程费用明细
     */
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleServiceImpl.java
@@ -290,20 +290,20 @@
            if(xpOrder.getOpenTrunk()==1){
                xpOrder.setOpenTrunk(2);
                // 添加定时任务
                xpOrderClient.updateOrderStatus(xpOrder.getId(),7);
                // 推送倒计时消息 消息推送
                Map<String, Object> params = new HashMap<>();
                Map<String, Object> content = new HashMap<>();
                content.put("orderId", xpOrder.getId().toString());
                content.put("isOpen", 1);
                params.put("type", PushMessageTypeEnum.OPEN_TRUNK.getDesc());
                params.put("content", 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(xpOrder.getAppUserId()));
                xpPushMessageClient.sendStatus(sendMessageDTO);
//                xpOrderClient.updateOrderStatus(xpOrder.getId(),7);
//                // 推送倒计时消息 消息推送
//                Map<String, Object> params = new HashMap<>();
//                Map<String, Object> content = new HashMap<>();
//                content.put("orderId", xpOrder.getId().toString());
//                content.put("isOpen", 1);
//                params.put("type", PushMessageTypeEnum.OPEN_TRUNK.getDesc());
//                params.put("content", 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(xpOrder.getAppUserId()));
//                xpPushMessageClient.sendStatus(sendMessageDTO);
            }
        }
        try {