From fcd206dae9ce45f7ba5a85694882a87249a68234 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 13 二月 2026 11:36:41 +0800
Subject: [PATCH] fix(order): 修复订单处理和车辆服务调用问题
---
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java
index 5794535..cade835 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java
@@ -100,10 +100,11 @@
String firstElement = redisService.getFirstElement(name);
if (firstElement != null) {
String[] split = firstElement.toString().split("_");
- // 如果市未处理 创建新任务
+ // 如果未处理 创建新任务
if (split[2].equals("0")) {
+ String value = split[0] + "_" + split[1] + "_1" + "_"+split[3] + "_"+ split[4] + "_"+ split[5] + "_"+ split[6] + "_"+ split[7];
// 状态改为处理中
-// redisService.updateFirst(name, split[0] + "_" + split[1] + "_1"+split[3]+split[4]+split[5]+split[6]);
+ redisService.updateFirst(name, value);
threadPoolTaskExecutor.submit(() -> {
orderProcess(name, firstElement.toString());
});
@@ -611,8 +612,11 @@
//
// VehiclePositionVo vehiclePositionVo1 = vehiclePositionVo;
+
+
RLock lock = redissonClient.getLock("FIND_CAR_" + vehiclePositionVo.getVin());
lock.lock(10, TimeUnit.SECONDS);
+ System.err.println("队列:"+quoteName+" 车辆:"+vehiclePositionVo.getVin()+"订单"+orderNo);
try {
// VehiclePosition vehiclePosition = vehiclePositionService.findByVehicleId(vehiclePositionVo.getVehicle_id());
R<XpVehicle> vehiclePositionR = xpVehicleClient.findByVehicleVin(vehiclePositionVo.getVin());
@@ -635,7 +639,7 @@
BaseVehicleUserDto baseVehicleUserDto = userVehicleClient.addTaxiPassenger(addTaxiPassengerVo);
- if (baseVehicleUserDto.getCode() == 200) {
+ if (baseVehicleUserDto!=null && baseVehicleUserDto.getCode() == 200) {
// TODO 下单
// 绑定成功 弹出这个队列第一个订单
redisService.popFirstElement(quoteName);
--
Gitblit v1.7.1