From a4d696725ae8e44a5c3dcade4ea65ff3310092e9 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 23 四月 2026 15:50:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/1.0' into 1.0
---
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java | 45 +++++++++++++++++++++++++++++++++++++--------
1 files changed, 37 insertions(+), 8 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 92cb3dd..5cb91d5 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
@@ -1163,15 +1163,13 @@
return R.ok(vehicleDoorStatus);
}
- @Resource
- XpVehicleClient xpVehicleClient;
/**
* 周围车辆点位查询
*/
@ApiOperation(value = "周围车辆点位查询", notes = "", tags = {"小程序-周围车辆点位查询"})
@GetMapping("/api/v1/mini-program/vehicle/nearby")
- @XpClientCheck(checkToken = false)
- public R<List<XpVehicleVO>> carAround(@RequestParam double lon,@RequestParam double lat) {
+ @XpClientCheck(checkToken = false, checkOtpToken = false)
+ public R<List<XpVehicleVO>> carAround(@RequestParam double lon, @RequestParam double lat) {
Point point = new Point(lon, lat);
Distance distance = new Distance(3, Metrics.KILOMETERS);
@@ -1180,20 +1178,51 @@
.maxDistance(distance.getNormalizedValue());
Query query = new Query(criteria);
List<VehiclePositionVo> vehiclePositions = mongoTemplate.find(query, VehiclePositionVo.class);
-
+ if (CollectionUtils.isEmpty(vehiclePositions)) {
+ return R.ok(new ArrayList<>());
+ }
List<XpVehicleVO> xpVehicleList = vehiclePositions.stream()
.sorted(Comparator.comparingDouble(VehiclePositionVo::getDistance))
.map(vp -> {
- XpVehicle xpVehicle = xpVehicleClient.findByVehicleVin(vp.getVin()).getData();
+ XpVehicle xpVehicle = xpVehicleService.getOne(new LambdaQueryWrapper<XpVehicle>().eq(XpVehicle::getVehicleVin, vp.getVin()));
+ if (xpVehicle == null) {
+ return null;
+ }
XpVehicleVO vo = new XpVehicleVO();
BeanUtils.copyProperties(xpVehicle, vo);
vo.setDirection(vp.getCourse());
return vo;
})
- .filter(v -> v.getState() == 0)
+ .filter(Objects::nonNull)
+ .filter(v -> v.getState() != null && v.getState() == 0)
.limit(5)
.collect(Collectors.toList());
-
return R.ok(xpVehicleList);
}
+
+ @ApiOperation(value = "上报车辆位置", notes = "", tags = {"流量接入-上报车辆位置"})
+ @PostMapping("/api/v1/xp-rt/vehicle/position")
+ public R<List<XpVehicleVO>> pushVehiclePosition(@RequestBody VehiclePosition vp) {
+
+ // 更新到mongodb,用于被分配订单
+ // 如果是接单中,更新导航路线
+ return R.ok();
+ }
+
+ /**
+ * {@Link OrderStatusEnum}
+ * @param vp
+ * @return
+ */
+ @ApiOperation(value = "更新车辆状态", notes = "", tags = {"流量接入-更新车辆状态"})
+ @PostMapping("/api/v1/xp-rt/vehicle/status")
+ public R<List<XpVehicleVO>> pushVehicleStatus(@RequestBody VehiclePosition vp) {
+
+
+ // 前往接驾,等待上车,前往终点,到达终点等待下车,结束订单
+ // 更新order状态
+ return R.ok();
+ }
+
+
}
--
Gitblit v1.7.1