From a6d543bcef73e2a78d8da9b065e241643c166aa8 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 13 二月 2026 11:40:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-vehicleConvoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java |   66 ++++++++++++++++++++++++++++-----
 1 files changed, 56 insertions(+), 10 deletions(-)

diff --git a/xp-robotaxi-vehicleConvoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java b/xp-robotaxi-vehicleConvoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
index c8d4bef..9aaf95a 100644
--- a/xp-robotaxi-vehicleConvoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
+++ b/xp-robotaxi-vehicleConvoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
@@ -7,15 +7,15 @@
 import cn.hutool.core.bean.BeanUtil;
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.xiaopeng.api.dto.operation.VehiclePositionByVinDto;
 import com.xiaopeng.api.dto.vehicleConvoy.VehicleTemperatureDto;
-import com.xiaopeng.api.feignClient.order.XpOrderClient;
-import com.xiaopeng.api.model.order.XpOrder;
 import com.xiaopeng.api.feignClient.maintenance.XpChargingRecordClient;
 import com.xiaopeng.api.feignClient.maintenance.XpVehiclePreparationClient;
 import com.xiaopeng.api.feignClient.order.XpOrderClient;
 import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
 import com.xiaopeng.api.model.vehicleConvoy.XpVehicleAnnualRecord;
-import com.xiaopeng.api.vo.vehicleConvoy.VehicleTemperatureVo;
+import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
 import com.xiaopeng.api.vo.vehicleConvoy.VehiclesCommandCallbackVo;
 import com.xiaopeng.common.core.domain.R;
 import com.xiaopeng.common.core.exception.ServiceException;
@@ -26,17 +26,16 @@
 import com.xiaopeng.vehicleConvoy.model.exportExcel.XpVehicleExportExcel;
 import com.xiaopeng.vehicleConvoy.model.importExcel.XpVehicleImportExcel;
 import com.xiaopeng.vehicleConvoy.model.query.*;
+import com.xiaopeng.vehicleConvoy.model.vo.XpVehicleVO;
 import com.xiaopeng.vehicleConvoy.service.IXpVehicleAnnualRecordService;
 import com.xiaopeng.vehicleConvoy.service.IXpVehicleService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.*;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.context.annotation.Lazy;
+import org.springframework.data.mongodb.core.geo.GeoJsonPoint;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -376,6 +375,38 @@
     }
 
     /**
+     * 查询车辆位置信息 做筛选
+     * @param dto
+     * @return
+     */
+    @PostMapping("/inner/vehicle/queryVehiclePositionByVin")
+    public R<List<String>> queryVehiclePositionByVin(@RequestBody VehiclePositionByVinDto dto){
+        List<XpVehicle> list = xpVehicleService.list(new LambdaQueryWrapper<XpVehicle>().eq(XpVehicle::getState, 0).eq(XpVehicle::getStatus, 1).eq(XpVehicle::getElectronicId, dto.getFenceId()).in(XpVehicle::getVehicleVin,
+                dto.getVinList()));
+        if(list.isEmpty()){
+            return R.ok(new ArrayList<>());
+        }else {
+            List<String> vehiclePositionVos = new ArrayList<>(list.size());
+            for (XpVehicle xpVehicle : list) {
+                vehiclePositionVos.add(xpVehicle.getVehicleVin());
+            }
+            return R.ok(vehiclePositionVos);
+        }
+
+    }
+
+
+    /**
+     * 查询车辆信息
+     * @param vehicleVin
+     * @return
+     */
+    @GetMapping("/inner/vehicle/findByVehicleVin")
+    public R<XpVehicle> findByVehicleVin(String vehicleVin){
+        XpVehicle xpVehicle = xpVehicleService.getOne(new LambdaQueryWrapper<XpVehicle>().eq(XpVehicle::getVehicleVin, vehicleVin));
+        return R.ok(xpVehicle);
+    }
+    /**
      * 查询可改派的车辆列表
      *
      * @return 车辆列表
@@ -446,7 +477,7 @@
      * 业务流程-车门解锁/后备箱解锁
      */
     @ApiOperation(value = "打开车门操作", tags = {"小程序-业务流程"})
-    @PostMapping("/api/v1/order/vehicle/unlock")
+    @PostMapping("/api/v1/mini-program/order/vehicle/unlock")
     public R<Integer> unlock(@RequestBody UnlockAppletDTO dto) {
         return R.ok(xpVehicleService.unlock(dto));
     }
@@ -455,7 +486,7 @@
      * 业务流程-打开设置温度
      */
     @ApiOperation(value = "打开设置温度", tags = {"小程序-业务流程"})
-    @PostMapping("/api/v1/order/ac/set-temperature")
+    @PostMapping("/api/v1/mini-program/order/ac/set-temperature")
     public R<Integer> setTemperature(@RequestBody SetTemperatureDTO dto) {
         return R.ok(xpVehicleService.setTemperature(dto));
     }
@@ -464,11 +495,26 @@
      * 业务流程-通过订单id查询当前车辆温度
      */
     @ApiOperation(value = "通过订单id查询当前车辆温度", tags = {"小程序-业务流程"})
-    @GetMapping("/api/v1/order/queryTemperatureByOrderId")
+    @GetMapping("/api/v1/mini-program/order/queryTemperatureByOrderId")
     public R<VehicleTemperatureDto> queryTemperatureByOrderId(@RequestParam Long orderId, HttpServletRequest request) {
         String uid = request.getHeader("XP-Uid");
         VehicleTemperatureDto vehicleTemperatureDto = xpVehicleService.queryTemperatureByOrderId(orderId,uid);
         return R.ok(vehicleTemperatureDto);
     }
 
+    /**
+     * 获取车辆不分页列表
+     *
+     * @param plateNumber
+     * @param fleetName
+     * @return
+     */
+    @ApiOperation(value = "获取车辆不分页列表", tags = {"管理后台-车队管理"})
+    @PostMapping("/api/v1/vehicle/list")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "plateNumber", value = "车牌号", dataTypeClass = String.class),
+            @ApiImplicitParam(name = "fleetName", value = "车队名称", dataTypeClass = String.class)})
+    public R<List<XpVehicleVO>> getList(String plateNumber, String fleetName) {
+        return R.ok(xpVehicleService.getList(plateNumber, fleetName));
+    }
 }

--
Gitblit v1.7.1