From 7a78cb97f96eea330dff3b222eff8d6dafc5e28a Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 12 二月 2026 23:26:27 +0800
Subject: [PATCH] fix(task-order): 修复推单逻辑中的空指针异常问题
---
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java | 9 ++++++++-
1 files changed, 8 insertions(+), 1 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 bd8e434..5794535 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
@@ -26,6 +26,7 @@
import com.xiaopeng.operation.service.XpPointService;
import com.xiaopeng.operation.utils.mango.VehiclePositionService;
import com.xiaopeng.api.vo.operation.VehiclePositionVo;
+import lombok.SneakyThrows;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
@@ -215,8 +216,12 @@
* @param orderNo 订单号
* @param xpTradingStrategy 规则
*/
+ @SneakyThrows
private void processPushOrder(String quoteName, int count, String uid, String[] split, String orderNo, XpTradingStrategy xpTradingStrategy, String distance, String duration, String planRule) {
System.out.println("进入推单环环节");
+ if(count==0){
+ count=1;
+ }
// 订单状态
R<XpOrder> xpOrderR = xpOrderClient.queryOrderByOrderNo(orderNo);
if (xpOrderR.getCode() != 200) {
@@ -229,7 +234,8 @@
// 找出围栏id
Long xpElectronicFenceAreaId = xpOrder.getXpElectronicFenceAreaId();
- XpElectronicFence xpElectronicFence = xpElectronicFenceMapper.selectById(xpElectronicFenceAreaId);
+ Long electronicId = xpElectronicFenceAreaService.getById(xpElectronicFenceAreaId).getElectronicId();
+ XpElectronicFence xpElectronicFence = xpElectronicFenceMapper.selectById(electronicId);
for (int i = 0; i < count; i++) {
@@ -237,6 +243,7 @@
// 根据距离找车
// 车多则根据配置找具体车数量 根据距离最近
// 更改 暂不限制数量
+
List<VehiclePosition> positionList = vehiclePositionService.findAvailableVehiclesNearby(Double.parseDouble(split[0]), Double.parseDouble(split[1]), xpTradingStrategy.getOnePushDistance(), xpTradingStrategy.getSimultaneouslyOrderCount());
// 获取车辆的区域信息
--
Gitblit v1.7.1