From 3c88eb9bd41ea647663995fc0f3e62778f8434a0 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 24 四月 2026 17:37:18 +0800
Subject: [PATCH] [fix] 可改派人员设置距离,排序
---
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpTaskController.java | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpTaskController.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpTaskController.java
index 54ca44f..a198707 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpTaskController.java
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpTaskController.java
@@ -56,9 +56,7 @@
import javax.annotation.Resource;
import javax.validation.Valid;
import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -331,16 +329,21 @@
List<XpOperationsUserPositionDTO> up = mongoTemplate.find(q, XpOperationsUserPositionDTO.class);
+ Map<Long, Double> disMap = up.stream().collect(Collectors.toMap(XpOperationsUserPositionDTO::getId, XpOperationsUserPositionDTO::getDistance));
// 查询车队下面面所有人员id和up求交集
List<Long> data = xpFleetClient.idsByFleetName(query.getFleet()).getData();
List<Long> ids = up.stream().map(XpOperationsUserPositionDTO::getId)
- .filter(e -> data!=null && !data.isEmpty() &&!data.contains(e))
+ .filter(e -> data == null || data.isEmpty() || data.contains(e))
.collect(Collectors.toList());
query.setIds(ids);
PageInfo<XpOperationsUserWithRoleVO> ret = operationUserClient.listByQueryIds(query).getData();
+ // 设置距离,然后排序
+ ret.getRecords().forEach(e -> e.setDis(String.valueOf(disMap.get(e.getId()))));
+ List<XpOperationsUserWithRoleVO> sorted = ret.getRecords().stream().sorted(Comparator.comparing(XpOperationsUserWithRoleVO::getDis)).collect(Collectors.toList());
+ ret.setRecords(sorted);
return R.ok(ret);
}
--
Gitblit v1.7.1