From b59bca62353f93424818a4dd39068b10948c5267 Mon Sep 17 00:00:00 2001
From: yyy <1083599556@qq.com>
Date: 星期三, 06 五月 2026 11:27:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/1.0' into 1.0
---
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 56 insertions(+), 4 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 1d86103..d32fd1e 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
@@ -18,10 +18,12 @@
import com.xiaopeng.api.feignClient.operation.XpWhiteListClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.VehicleMacClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
+import com.xiaopeng.api.model.operation.XpOfficialPartner;
import com.xiaopeng.api.model.operation.XpWhitelist;
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.NavigationVo;
import com.xiaopeng.api.vo.operation.NearestNextVo;
import com.xiaopeng.api.vo.operation.RouteVo;
import com.xiaopeng.api.vo.order.*;
@@ -32,6 +34,8 @@
import com.xiaopeng.common.core.utils.WebUtils;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.common.redis.service.RedisService;
+import com.xiaopeng.common.security.service.TokenService;
+import com.xiaopeng.order.dto.OrderNavigationDto;
import com.xiaopeng.order.mangodb.model.OrderTrajectory;
import com.xiaopeng.order.mangodb.service.OrderTrajectoryService;
import com.xiaopeng.order.model.dto.XpOrderCommentDto;
@@ -49,6 +53,7 @@
import com.xiaopeng.order.vo.BluetoothTokenVo;
import com.xiaopeng.order.vo.OrderDetailVo;
import com.xiaopeng.order.vo.UpdateOrderStatusVo;
+import com.xiaopeng.order.vo.XpOrderInfoVo;
import com.xiaopeng.unifiedverification.interceptor.XpClientCheck;
import io.swagger.annotations.*;
import lombok.RequiredArgsConstructor;
@@ -104,6 +109,9 @@
@Resource
private XpWhiteListClient xpWhiteListClient;
+
+ @Resource
+ private TokenService tokenService;
/**
@@ -808,12 +816,56 @@
@PostMapping("/drainage/v1/order/updateOrderStatus")
- @ApiOperation(value = "更新订单状态", notes = "流量接入-基础信息")
+ @ApiOperation(value = "更新订单状态", notes = "流量接入-订单信息")
@ApiImplicitParams({
@ApiImplicitParam(value = "token", name = "token", required = true, paramType = "header")
})
- public R<?> officialPartnerUpdateOrderStatus(@RequestBody UpdateOrderStatusVo vo){
- xpOrderService.officialPartnerUpdateOrderStatus(vo);
- return R.ok();
+ public R<?> officialPartnerUpdateOrderStatus(@RequestBody UpdateOrderStatusVo vo, HttpServletRequest request){
+ XpOfficialPartner officialPartner = tokenService.getOfficialPartner();
+ return xpOrderService.officialPartnerUpdateOrderStatus(vo, officialPartner.getId());
+ }
+
+
+ @PostMapping("/drainage/v1/order/getOrderNavigation")
+ @ApiOperation(value = "获取订单导航数据", notes = "流量接入-订单信息")
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "token", name = "token", required = true, paramType = "header")
+ })
+ public R<NavigationVo> getOrderNavigation(@RequestBody OrderNavigationDto dto, HttpServletRequest request){
+ XpOfficialPartner officialPartner = tokenService.getOfficialPartner();
+ XpOrder xpOrder = xpOrderService.getById(dto.getOrderId());
+ if(!xpOrder.getOfficialPartnerId().equals(officialPartner.getId())){
+ return R.fail("无权限");
+ }
+ NavigationVo navigationVo = null;
+ if(1 == dto.getNavigationType()){
+ Object cacheObject = redisService.getCacheObject("ORDER_NAVIGATION_START_DATA:" + xpOrder.getAppUserId());
+ if(null != cacheObject){
+ navigationVo = JSON.parseObject(cacheObject.toString(), NavigationVo.class);
+ }
+ }
+ if(2 == dto.getNavigationType()){
+ Object cacheObject = redisService.getCacheObject("ORDER_NAVIGATION_END_DATA:" + xpOrder.getAppUserId());
+ if(null != cacheObject){
+ navigationVo = JSON.parseObject(cacheObject.toString(), NavigationVo.class);
+ }
+ }
+ return R.ok(navigationVo);
+ }
+
+
+ @PostMapping("/drainage/v1/order/getOrderInfo")
+ @ApiOperation(value = "获取订单详情", notes = "流量接入-订单信息")
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "token", name = "token", required = true, paramType = "header")
+ })
+ public R<XpOrderInfoVo> getOfficialPartnerOrderInfo(@PathVariable Long orderId){
+ XpOfficialPartner officialPartner = tokenService.getOfficialPartner();
+ XpOrder xpOrder = xpOrderService.getById(orderId);
+ if(!xpOrder.getOfficialPartnerId().equals(officialPartner.getId())){
+ return R.fail("无权限");
+ }
+ XpOrderInfoVo xpOrderInfoVo = BeanUtil.copyProperties(xpOrder, XpOrderInfoVo.class);
+ return R.ok(xpOrderInfoVo);
}
}
\ No newline at end of file
--
Gitblit v1.7.1