From 842c0755fdf8501b85f02ecacd71ee4e2b6b9327 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 13 五月 2026 13:32:55 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0

---
 xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java |   44 +++++++++++++++++++++++---------------------
 1 files changed, 23 insertions(+), 21 deletions(-)

diff --git a/xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java b/xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
index 4cd36e2..e1b4902 100644
--- a/xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
+++ b/xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
@@ -85,6 +85,10 @@
 import java.util.*;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
+import com.xiaopeng.common.log.annotation.AdminOperationLog;
+import com.xiaopeng.common.log.enums.AdminBusinessType;
+import com.xiaopeng.common.log.enums.AdminOperationType;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -518,7 +522,7 @@
                     .collect(java.util.stream.Collectors.toSet());
             existsVins = xpVehicleService.lambdaQuery()
                     .select(XpVehicle::getVehicleVin)
-                    .in(XpVehicle::getVehicleVin, vinQueryValues)
+                    .in(XpVehicle::getVehicleVin, buildVinQueryValues(vinSet))
                     .list()
                     .stream()
                     .map(XpVehicle::getVehicleVin)
@@ -592,6 +596,17 @@
             }
         }
         return duplicated;
+    }
+
+    private static List<String> buildVinQueryValues(Iterable<String> vins) {
+        if (vins == null) {
+            return Collections.emptyList();
+        }
+        List<String> values = new ArrayList<>();
+        for (String vin : vins) {
+            values.addAll(SensitiveDataCryptoUtil.queryValues(vin));
+        }
+        return values.stream().distinct().collect(Collectors.toList());
     }
 
     private void uploadVehiclePicture(List<XpVehicleImportExcel> importList) {
@@ -846,15 +861,8 @@
      */
     @PostMapping("/logan/inner/vehicle/queryVehiclePositionByVin")
     public R<List<String>> queryVehiclePositionByVin(@RequestBody VehiclePositionByVinDto dto){
-        if (dto == null) {
-            return R.ok(new ArrayList<>());
-        }
-        List<String> vinQueryValues = buildVinQueryValues(dto.getVinList());
-        if (vinQueryValues.isEmpty()) {
-            return R.ok(new ArrayList<>());
-        }
         List<XpVehicle> list = xpVehicleService.list(new LambdaQueryWrapper<XpVehicle>().eq(XpVehicle::getState, Optional.ofNullable(dto.getStatus()).orElse(0))
-                .eq(XpVehicle::getOperatingStatus, 1).eq(XpVehicle::getElectronicId, dto.getFenceId()).in(XpVehicle::getVehicleVin, vinQueryValues));
+                .eq(XpVehicle::getOperatingStatus, 1).eq(XpVehicle::getElectronicId, dto.getFenceId()).in(XpVehicle::getVehicleVin, buildVinQueryValues(dto.getVinList()))));
         if (list.isEmpty()) {
             return R.ok(new ArrayList<>());
         } else {
@@ -875,21 +883,16 @@
      * @return
      */
     @GetMapping("/logan/inner/vehicle/findByVehicleVin")
-    public R<XpVehicle> findByVehicleVin(@RequestParam("vehicleVin") String vehicleVin) {
-        if (StringUtils.isBlank(vehicleVin)) {
-            return R.ok();
-        }
+    public R<XpVehicle> findByVehicleVin(@RequestParam("vehicleVin") String vehicleVin){
         XpVehicle xpVehicle = xpVehicleService.getOne(new LambdaQueryWrapper<XpVehicle>().in(XpVehicle::getVehicleVin, SensitiveDataCryptoUtil.queryValues(vehicleVin)));
-        if (xpVehicle == null) {
-            return R.ok();
-        }
 
         // 获取车队
-        XpFleetVehicle xpFleetVehicle = vehicleService.getOne(new LambdaQueryWrapper<XpFleetVehicle>().eq(XpFleetVehicle::getVehicleId, xpVehicle.getId()));
-        if(null == xpFleetVehicle){
-            return R.fail("车队信息获取失败");
+        if (Objects.nonNull(xpVehicle)) {
+            XpFleetVehicle xpFleetVehicle = vehicleService.getOne(new LambdaQueryWrapper<XpFleetVehicle>().eq(XpFleetVehicle::getVehicleId, xpVehicle.getId()));
+            if (Objects.nonNull(xpFleetVehicle)) {
+                xpVehicle.setFleetId(xpFleetVehicle.getFleetId());
+            }
         }
-        xpVehicle.setFleetId(xpFleetVehicle.getFleetId());
         return R.ok(xpVehicle);
     }
 
@@ -1145,7 +1148,6 @@
      * @param updateVehicleStateDto
      * @return
      */
-    @PostMapping("/base/vi/vehicle/updateVehicleStatus")
     public R<?> testUpdateVehicleStatus(@RequestBody UpdateVehicleStateDto updateVehicleStateDto) {
         if (StringUtils.isBlank(updateVehicleStateDto.getVin())) {
             return R.ok();

--
Gitblit v1.7.1