From 73427c7a74686bd2a16e00c2ac9c28cf1de40c4c Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期日, 01 三月 2026 07:41:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java | 30 ++++++++++++++++++++++++++++--
1 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
index d147137..0c68941 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
@@ -3,14 +3,17 @@
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.xiaopeng.api.dto.QueryOrderRouteDTO;
import com.xiaopeng.api.dto.order.GetOrderNumDto;
import com.xiaopeng.api.dto.order.PopOrderDto;
import com.xiaopeng.api.dto.statistics.OrderStatisticsDTO;
import com.xiaopeng.api.dto.statistics.StatisticsQueryDTO;
+import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
import com.xiaopeng.api.model.order.XpOrder;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
+import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
import com.xiaopeng.api.vo.operation.RouteVo;
import com.xiaopeng.api.vo.order.FareBreakdownVo;
import com.xiaopeng.api.vo.order.XpHistoryEndPointsVo;
@@ -40,7 +43,11 @@
import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor;
import org.apache.poi.ss.usermodel.Workbook;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -67,6 +74,10 @@
private final IXpOrderService xpOrderService;
private final RedisService redisService;
+ @Autowired
+ private MongoTemplate mongoTemplate;
+ @Autowired
+ private XpVehicleClient xpVehicleClient;
/**
* 获取订单统计数据(内部接口)
@@ -476,9 +487,24 @@
public R<RouteVo> queryOrderRoute(@Validated @RequestBody QueryOrderRouteDTO dto, HttpServletRequest request) {
String uid = request.getHeader("XP-Uid");
// 查询订单信息
-// XpOrder xpOrder = xpOrderService.getById(dto.getOrderId());
+ XpOrder xpOrder = xpOrderService.getById(dto.getOrderId());
// 获取路线规划
- RouteVo routeVo = redisService.getCacheObject(CacheConstants.ORDER_ROUTE_CAPTURE + "_" + dto.getOrderId() + "_" +dto.getRouteType());
+// RouteVo routeVo = redisService.getCacheObject(CacheConstants.ORDER_ROUTE_CAPTURE + "_" + dto.getOrderId() + "_" +dto.getRouteType());
+
+ String key = "";
+ //接驾情况,获取车辆位置到起点的导航
+ if(xpOrder.getStatus() < 5){
+ key = "ORDER_NAVIGATION_START_DATA:" + xpOrder.getAppUserId();
+ }
+ //服务中,获取起点到终点的导航数据
+ if(xpOrder.getStatus() >= 5){
+ key = "ORDER_NAVIGATION_END_DATA:" + xpOrder.getAppUserId();
+ }
+ Object cacheObject = redisService.getCacheObject(key);
+ RouteVo routeVo = JSON.parseObject(cacheObject.toString(), RouteVo.class);
+ XpVehicle xpVehicle = xpVehicleClient.queryById(xpOrder.getVehicleId()).getData();
+ VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), VehiclePosition.class);
+ routeVo.setDirection(null != vehiclePosition ? vehiclePosition.getCourse() : 90);
return R.ok(routeVo);
}
--
Gitblit v1.7.1