From d80a20a9458abdbd601779c4ed8474ca092027bf Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 12 二月 2026 19:26:31 +0800
Subject: [PATCH] 小程序接口

---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 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 9f18319..7814e57 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
@@ -10,6 +10,7 @@
 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.XpElectronicFence;
 import com.xiaopeng.api.model.operation.XpTradingStrategy;
 import com.xiaopeng.api.model.order.XpOrder;
 import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
@@ -18,6 +19,7 @@
 import com.xiaopeng.common.core.constant.CacheConstants;
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.common.redis.service.RedisService;
+import com.xiaopeng.operation.mapper.XpElectronicFenceMapper;
 import com.xiaopeng.operation.service.IXpElectronicFenceAreaService;
 import com.xiaopeng.operation.service.IXpTradingStrategyService;
 import com.xiaopeng.operation.service.XpPointService;
@@ -81,6 +83,9 @@
         threadPoolTaskExecutor.setThreadNamePrefix("taskOrder-");
         threadPoolTaskExecutor.initialize();
     }
+
+    @Autowired
+    private XpElectronicFenceMapper xpElectronicFenceMapper;
 
     /**
      * 5秒执行一次
@@ -221,6 +226,10 @@
         }
         XpOrder xpOrder = xpOrderR.getData();
 
+        // 找出围栏id
+        Long xpElectronicFenceAreaId = xpOrder.getXpElectronicFenceAreaId();
+        XpElectronicFence xpElectronicFence = xpElectronicFenceMapper.selectById(xpElectronicFenceAreaId);
+
         for (int i = 0; i < count; i++) {
 
             System.out.println("进入找车环节");
@@ -236,12 +245,18 @@
             List<String> vinList = positionList.stream().map(VehiclePosition::getVin).collect(Collectors.toList());
 
             // 获取车辆的信息 筛选出可用车辆
-            R<List<VehiclePositionVo>> vehiclePositionVos = xpVehicleClient.queryVehiclePositionByVin(new VehiclePositionByVinDto(xpOrder.getXpElectronicFenceAreaId(), vinList,  xpTradingStrategy.getSimultaneouslyOrderCount()));
+            R<List<String>> vehiclePositionVos = xpVehicleClient.queryVehiclePositionByVin(new VehiclePositionByVinDto(xpElectronicFence.getId(), vinList,  xpTradingStrategy.getSimultaneouslyOrderCount()));
             if(vehiclePositionVos.getCode()!=200){
                 continue;
             }
 
-            List<VehiclePositionVo> availableVehiclesNearby =vehiclePositionVos.getData();
+            List<VehiclePositionVo> availableVehiclesNearby = BeanUtil.copyToList(positionList, VehiclePositionVo.class);
+            List<String> data = vehiclePositionVos.getData();
+
+            // 找出符合条件的
+           availableVehiclesNearby = availableVehiclesNearby.stream().filter(e->data.contains(e.getVin())).collect(Collectors.toList());
+
+//            List<VehiclePositionVo> availableVehiclesNearby =vehiclePositionVos.getData();
 
             if (!availableVehiclesNearby.isEmpty()) {
                 if (availableVehiclesNearby.size() > 1) {

--
Gitblit v1.7.1