From 11e55e11d3d3397cd2b54a65b2cda202be822296 Mon Sep 17 00:00:00 2001
From: yyy <1083599556@qq.com>
Date: 星期四, 30 四月 2026 09:21:54 +0800
Subject: [PATCH] Merge branch '1.0' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0

---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpTargetedServiceVehicleServiceImpl.java |   27 ++++++++++++++++++++++++++-
 1 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpTargetedServiceVehicleServiceImpl.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpTargetedServiceVehicleServiceImpl.java
index 34ca53d..a0e90f7 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpTargetedServiceVehicleServiceImpl.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpTargetedServiceVehicleServiceImpl.java
@@ -1,13 +1,16 @@
 package com.xiaopeng.operation.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
+import com.xiaopeng.api.model.operation.XpTargetedService;
 import com.xiaopeng.api.model.operation.XpTargetedServiceVehicle;
 import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.operation.mapper.XpTargetedServiceMapper;
 import com.xiaopeng.operation.mapper.XpTargetedServiceVehicleMapper;
+import com.xiaopeng.operation.service.XpTargetedServiceService;
 import com.xiaopeng.operation.service.XpTargetedServiceVehicleService;
 import org.springframework.stereotype.Service;
 
@@ -21,6 +24,12 @@
 @Service
 public class XpTargetedServiceVehicleServiceImpl  extends ServiceImpl<XpTargetedServiceVehicleMapper, XpTargetedServiceVehicle> implements XpTargetedServiceVehicleService {
 
+    @Resource
+    private XpVehicleClient xpVehicleClient;
+
+    @Resource
+    private XpTargetedServiceService xpTargetedServiceService;
+
 
     
     @Override
@@ -32,7 +41,23 @@
         wrapper.eq(XpTargetedServiceVehicle::getTargetedServiceId, targetedServiceId);
         this.remove(wrapper);
     }
-    
+
+
+    @Override
+    public List<String> getVehicleVinByTargetedService(String cityCode) {
+        List<XpTargetedService> targetedServices = xpTargetedServiceService.list(new QueryWrapper<XpTargetedService>().eq("status", 1)
+                .eq("city_code", cityCode).last(" and (is_long_valid = 1 or now() between start_time and end_time)"));
+        List<Long> collect = targetedServices.stream().map(XpTargetedService::getId).collect(Collectors.toList());
+        if(collect.isEmpty()){
+            return Collections.emptyList();
+        }
+        List<XpTargetedServiceVehicle> list = this.list(new QueryWrapper<XpTargetedServiceVehicle>().in("targeted_service_id", collect));
+        List<String> vinList = list.stream().map(item -> {
+            XpVehicle xpVehicle = xpVehicleClient.queryById(item.getVehicleId()).getData();
+            return xpVehicle.getVehicleVin();
+        }).collect(Collectors.toList());
+        return vinList;
+    }
 }
 
 

--
Gitblit v1.7.1