From 15c0a773a587243e6fae4293d990c3c73f308792 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 18 三月 2026 20:50:42 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi
---
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/schedule/VehicleMaintenanceScheduleTask.java | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/schedule/VehicleMaintenanceScheduleTask.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/schedule/VehicleMaintenanceScheduleTask.java
index dd5ee42..c12c5a1 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/schedule/VehicleMaintenanceScheduleTask.java
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/schedule/VehicleMaintenanceScheduleTask.java
@@ -9,11 +9,13 @@
import com.xiaopeng.api.model.maintenance.XpTaskRule;
import com.xiaopeng.api.model.maintenance.XpTaskRuleRole;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
+import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.api.vo.maintenance.TaskScheduleConstants;
import com.xiaopeng.maintenance.mapper.XpTaskMapper;
import com.xiaopeng.maintenance.mapper.XpTaskRuleMapper;
import com.xiaopeng.maintenance.mapper.XpTaskRuleRoleMapper;
+import com.xiaopeng.maintenance.service.VehicleLocationFillService;
import com.xiaopeng.maintenance.utils.UUIDUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -21,6 +23,7 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
@@ -66,6 +69,9 @@
@Autowired
private XpFleetOperationsClient xpFleetOperationsClient;
+
+ @Autowired
+ private VehicleLocationFillService vehicleLocationFillService;
/**
* 每分钟检查一次是否需要执行任务下发
@@ -340,6 +346,14 @@
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
int skippedCount = 0;
+ Map<String, VehiclePosition> positionByVin = vehicleLocationFillService.loadPositionByVin(
+ vehicles.stream()
+ .map(XpVehicle::getVehicleVin)
+ .filter(StringUtils::hasLength)
+ .distinct()
+ .collect(Collectors.toList())
+ );
+
for (XpVehicle vehicle : vehicles) {
List<Long> handleUserIds = resolveHandleUserIds(vehicle.getId(), roleOperationUserIds,
vehicleIdToFleetIdCache, fleetIdToOperationUserIdsCache);
@@ -366,6 +380,7 @@
// 设置车辆信息
task.setVehicleId(vehicle.getId());
+ vehicleLocationFillService.fillFromVin(task, vehicle.getVehicleVin(), positionByVin);
// 设置任务时限 常规任务限时3天
task.setEndTime(LocalDateTime.now().plusDays(3));
--
Gitblit v1.7.1