From b39d6b4ad22a37a2a4a4d589748b29bf4a9da812 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 12 二月 2026 19:10:58 +0800
Subject: [PATCH] 小程序接口
---
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java | 32 +++++++++++++++++++++++++-------
1 files changed, 25 insertions(+), 7 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 5e710ef..9f18319 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
@@ -3,10 +3,13 @@
import cn.hutool.core.bean.BeanUtil;
import com.xiaopeng.api.dto.map.RouteAndFareDto;
import com.xiaopeng.api.dto.operation.LonLatDto;
+import com.xiaopeng.api.dto.operation.VehiclePositionByVinDto;
import com.xiaopeng.api.dto.vehicleConvoy.BaseVehicleUserDto;
import com.xiaopeng.api.feignClient.map.XpMapClient;
import com.xiaopeng.api.feignClient.order.XpOrderClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.UserVehicleClient;
+import com.xiaopeng.api.feignClient.vehicleConvoy.VehicleControlClient;
+import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
import com.xiaopeng.api.model.operation.XpTradingStrategy;
import com.xiaopeng.api.model.order.XpOrder;
import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
@@ -19,14 +22,10 @@
import com.xiaopeng.operation.service.IXpTradingStrategyService;
import com.xiaopeng.operation.service.XpPointService;
import com.xiaopeng.operation.utils.mango.VehiclePositionService;
-import com.xiaopeng.operation.utils.map.FastDistanceCalculator;
-import com.xiaopeng.operation.vo.RouterVo;
-import com.xiaopeng.operation.vo.VehiclePositionVo;
-import org.redisson.Redisson;
+import com.xiaopeng.api.vo.operation.VehiclePositionVo;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Component;
@@ -60,6 +59,9 @@
@Autowired
private UserVehicleClient userVehicleClient;
+
+ @Autowired
+ private XpVehicleClient xpVehicleClient;
@Autowired
private RedissonClient redissonClient;
@@ -191,7 +193,7 @@
processPushOrder(quoteName, count, uid, split, orderNo, xpTradingStrategy, distance, duration, planRule);
// 最终没找到车
- redisService.popFirstElement(quoteName);
+// redisService.popFirstElement(quoteName);
// 取消订单
xpOrderClient.cancelOrder(orderId);
@@ -217,16 +219,29 @@
if (xpOrderR.getData().getStatus() != 1) {
return;
}
+ XpOrder xpOrder = xpOrderR.getData();
for (int i = 0; i < count; i++) {
System.out.println("进入找车环节");
// 根据距离找车
// 车多则根据配置找具体车数量 根据距离最近
+ // 更改 暂不限制数量
List<VehiclePosition> positionList = vehiclePositionService.findAvailableVehiclesNearby(Double.parseDouble(split[0]), Double.parseDouble(split[1]), xpTradingStrategy.getOnePushDistance(), xpTradingStrategy.getSimultaneouslyOrderCount());
+ // 获取车辆的区域信息
+ if(positionList.isEmpty()){
+ continue;
+ }
+ List<String> vinList = positionList.stream().map(VehiclePosition::getVin).collect(Collectors.toList());
- List<VehiclePositionVo> availableVehiclesNearby = BeanUtil.copyToList(positionList, VehiclePositionVo.class);
+ // 获取车辆的信息 筛选出可用车辆
+ R<List<VehiclePositionVo>> vehiclePositionVos = xpVehicleClient.queryVehiclePositionByVin(new VehiclePositionByVinDto(xpOrder.getXpElectronicFenceAreaId(), vinList, xpTradingStrategy.getSimultaneouslyOrderCount()));
+ if(vehiclePositionVos.getCode()!=200){
+ continue;
+ }
+
+ List<VehiclePositionVo> availableVehiclesNearby =vehiclePositionVos.getData();
if (!availableVehiclesNearby.isEmpty()) {
if (availableVehiclesNearby.size() > 1) {
@@ -590,6 +605,9 @@
addTaxiPassengerVo.setOrderNo(orderNo);
// TODO appid
addTaxiPassengerVo.setAppId("");
+
+
+
BaseVehicleUserDto baseVehicleUserDto = userVehicleClient.addTaxiPassenger(addTaxiPassengerVo);
if (baseVehicleUserDto.getCode() == 200) {
--
Gitblit v1.7.1