From 0da19d473d89bb812610501809481fdf6c2c4756 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 24 三月 2026 20:53:13 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi
---
xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpTestOrderController.java | 314 +++++++++------------------------------------------
1 files changed, 57 insertions(+), 257 deletions(-)
diff --git a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpTestOrderController.java b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpTestOrderController.java
index 6262700..00d28e5 100644
--- a/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpTestOrderController.java
+++ b/xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpTestOrderController.java
@@ -12,7 +12,7 @@
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.order.XpTestOrder;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
import com.xiaopeng.api.vo.automaticPilot.VehiclePosition;
import com.xiaopeng.api.vo.operation.RouteVo;
@@ -75,11 +75,52 @@
public class XpTestOrderController {
private final IXpTestOrderService xpTestOrderService;
- private final RedisService redisService;
- @Autowired
- private MongoTemplate mongoTemplate;
@Autowired
private XpVehicleClient xpVehicleClient;
+
+
+ /**
+ * 通过订单id查询订单信息
+ *
+ * @param orderId 订单id
+ * @return 订单详情
+ */
+ @PostMapping("/inner/testOrder/queryOrderById")
+ public R<XpTestOrder> queryOrderById(@RequestParam Long orderId){
+ XpTestOrder xpTestOrder = xpTestOrderService.getById(orderId);
+ return R.ok(xpTestOrder);
+ }
+
+
+
+ /**
+ * 修改订单状态
+ * @param orderId
+ * @param status
+ * @return
+ */
+ @PostMapping("/inner/v1/testOrder/updateOrderStatus")
+ public R<String> updateOrderStatus(@RequestParam Long orderId,
+ @RequestParam Integer status){
+ xpTestOrderService.updateOrderStatus(orderId, status);
+ return R.ok();
+ }
+
+
+
+ /**
+ * 生成订单
+ * @param query
+ * @return
+ */
+ @ApiOperation(value = "生成订单", tags = {"管理后台-测试计划"})
+ @PostMapping("/api/v1/testOrder/addTestOrder")
+ public R<?> addTestOrder(@RequestBody AddTestOrderVo query){
+ xpTestOrderService.addTestOrder(query);
+ return R.ok();
+ }
+
+
/**
@@ -102,7 +143,7 @@
* @return 订单详情
*/
@ApiOperation(value = "订单详情", tags = {"管理后台-测试计划"})
- @GetMapping("/api/v1/order/queryById")
+ @GetMapping("/api/v1/testOrder/queryById")
public R<XpTestOrderDetailVO> queryById(@ApiParam(value = "订单id", required = true) @RequestParam Long id) {
XpTestOrderDetailVO detail = xpTestOrderService.getOrderDetail(id);
return R.ok(detail);
@@ -115,7 +156,7 @@
* @return 操作结果
*/
@ApiOperation(value = "删除订单", tags = {"管理后台-测试计划"})
- @DeleteMapping("/api/v1/order/deleteById")
+ @DeleteMapping("/api/v1/testOrder/deleteById")
public R<?> deleteById(@ApiParam(value = "订单id", required = true) @RequestParam Long id) {
xpTestOrderService.deleteOrder(id);
return R.ok();
@@ -129,7 +170,7 @@
* @return 操作结果
*/
@ApiOperation(value = "取消/关闭订单", tags = {"管理后台-测试计划"})
- @PostMapping("/api/v1/order/cancelAndCloseById")
+ @PostMapping("/api/v1/testOrder/cancelAndCloseById")
public R<?> cancelAndCloseById(@Validated @RequestBody XpOrderOperateDTO dto) {
xpTestOrderService.cancelOrCloseOrder(dto.getOrderId(), dto.getType());
return R.ok();
@@ -141,10 +182,10 @@
* @param dto 改派请求参数
* @return 操作结果
*/
- @ApiOperation(value = "改派订单", tags = {"管理后台-交易管理-订单管理"}, notes = "车辆列表在vehicleConvoy服务")
- @PostMapping("/api/v1/order/reassignById")
+ @ApiOperation(value = "改派订单", tags = {"管理后台-测试计划"}, notes = "车辆列表在vehicleConvoy服务")
+ @PostMapping("/api/v1/testOrder/reassignById")
public R<?> reassignById(@Validated @RequestBody XpOrderReassignDTO dto) {
- xpOrderService.reassignOrder(
+ xpTestOrderService.reassignOrder(
dto.getOrderId(),
dto.getVehicleId(),
dto.getReassignReason()
@@ -153,276 +194,35 @@
}
- @ApiOperation(value = "订单改价", tags = {"管理后台-交易管理-订单管理"})
- @PostMapping("/api/v1/order/changeAmount")
+ @ApiOperation(value = "订单改价", tags = {"管理后台-测试计划"})
+ @PostMapping("/api/v1/testOrder/changeAmount")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "订单ID", required = true, dataType = "Long"),
@ApiImplicitParam(name = "amount", value = "新的订单金额", required = true, dataType = "BigDecimal")
})
public R<?> changeAmount(@RequestParam("id") Long id, @RequestParam("amount") BigDecimal amount) {
- xpOrderService.changeAmount(id, amount);
+ xpTestOrderService.changeAmount(id, amount);
return R.ok();
}
- /**
- * 获取用户快捷胶囊 历史 时段 终点高点
- */
- @ApiOperation(value = "获取用户快捷胶囊 历史 时段 终点高点", tags = {"小程序-获取用户快捷胶囊 历史 时段 终点高点"})
- @GetMapping("/api/v1/mini-program/order/getUserQuickCapsule")
- @XpClientCheck(checkToken = false, checkOtpToken = true)
- public R<XpPointInfoVo> getUserQuickCapsule(HttpServletRequest request) {
- // uid已通过拦截器otp校验,可以直接使用
- String uid = request.getHeader("XP-Uid");
- return R.ok(xpOrderService.getUserQuickCapsule(uid));
-
- }
-
- /**
- * 获取订单详情
- */
- @PutMapping("/api/v1/mini-program/order/orderDetail/{orderId}")
- @ApiOperation(value = "获取订单详情", tags = {"小程序-获取订单详情"})
- @XpClientCheck(checkToken = false, checkOtpToken = true)
- public R<OrderDetailVo> orderDetail(@PathVariable("orderId") Long orderId, HttpServletRequest request) {
- // uid已通过拦截器otp校验,可以直接使用
- String uid = request.getHeader("XP-Uid");
- OrderDetailVo orderDetailVo = xpOrderService.orderDetail(orderId, uid);
- BigDecimal orderMoney = orderDetailVo.getOrderMoney();
- if(orderMoney==null){
- orderDetailVo.setOrderMoneyStr("0.00");
- }else {
- orderDetailVo.setOrderMoneyStr(orderMoney.setScale(2, RoundingMode.HALF_UP).toString());
- }
- return R.ok(orderDetailVo);
- }
-
-
- /**
- * 获取历史下单成功起点10条数据列表
- */
- @ApiOperation(value = "获取历史下单成功起点10条数据列表", tags = {"小程序-获取历史下单成功起点10条数据列表"})
- @GetMapping("/base/v1/mini-program/history/startPoints")
- @XpClientCheck(checkToken = false, checkOtpToken = true)
- public R<List<XpHistoryStartPointsVo>> getHistoryStartPoints(double lon, double lat,Long electronicAreaId, HttpServletRequest request) {
- // uid已通过拦截器otp校验,可以直接使用
- String uid = request.getHeader("XP-Uid");
- return R.ok(xpOrderService.getHistoryStartPoints(uid, lon, lat,electronicAreaId));
- }
-
- /**
- * 获取历史下单成功终点点10条数据列表
- */
- @ApiOperation(value = "获取历史下单成功终点10条数据列表", tags = {"小程序-获取历史下单成功终点10条数据列表"})
- @GetMapping("/base/v1/mini-program/history/endPoints")
- @XpClientCheck(checkToken = false, checkOtpToken = true)
- public R<List<XpHistoryEndPointsVo>> getHistoryEndPoints(double lon, double lat,Long electronicAreaId, HttpServletRequest request) {
- // uid已通过拦截器otp校验,可以直接使用
- String uid = request.getHeader("XP-Uid");
- return R.ok(xpOrderService.getHistoryEndPoints(uid, lon, lat,electronicAreaId));
- }
-
-
- /**
- * 获取正在进行中的订单
- */
- @ApiOperation(value = "获取正在进行中的订单", tags = {"小程序-获取正在进行中的订单"})
- @GetMapping("/api/v1/mini-program/order/active")
- @XpClientCheck(checkToken = false, checkOtpToken = true)
- public R<XpOrderDetailVO> getActiveOrder(HttpServletRequest request) {
- // uid已通过拦截器otp校验,可以直接使用
- String uid = request.getHeader("XP-Uid");
- return R.ok(xpOrderService.getActiveOrder(uid));
- }
-
-
- /**
- * 查询历史订单列表
- */
- @ApiOperation(value = "查询历史订单列表", tags = {"小程序-查询历史订单列表"})
- @PostMapping("/api/v1/mini-program/order/history/list")
- @XpClientCheck(checkToken = false, checkOtpToken = true)
- public R<XpOrderHistoryVO> getHistoryOrderList(@RequestBody XpHistoryOrderListQuery query, HttpServletRequest request) {
- // uid已通过拦截器otp校验,可以直接使用
- String uid = request.getHeader("XP-Uid");
- return R.ok(xpOrderService.getHistoryOrderList(query, uid));
- }
-
-
- /**
- * +
- * 取消订单
- */
-
- @PutMapping("/api/v1/mini-program/order/cancel/{orderId}")
- @ApiOperation(value = "取消订单", tags = {"小程序-取消订单"})
- @XpClientCheck(checkToken = false, checkOtpToken = true)
- public R cancelOrder(@PathVariable("orderId") Long orderId, HttpServletRequest request) {
- // uid已通过拦截器otp校验,可以直接使用
- String uid = request.getHeader("XP-Uid");
- xpOrderService.cancelOrder(orderId, uid);
- return R.ok();
- }
-
- /**
- * +
- * 手动结束订单
- */
-
- @PutMapping("/api/v1/mini-program/order/endTrip/{orderId}")
- @ApiOperation(value = "结束行程", tags = {"小程序-结束行程"})
- @XpClientCheck(checkToken = false, checkOtpToken = true)
- public R<?> endTrip(@PathVariable("orderId") Long orderId, HttpServletRequest request) {
- // uid已通过拦截器otp校验,可以直接使用
- String uid = request.getHeader("XP-Uid");
- try {
- Boolean b = xpOrderService.endTrip(orderId, uid);
- return R.ok(b);
-
- } catch (Exception e) {
- return R.ok();
- }
- }
- /**
- * +
- * 获取行程费用明细
- */
- @PutMapping("/api/v1/mini-program/order/fare-breakdown/{orderId}")
- @ApiOperation(value = "获取行程费用明细", tags = {"小程序-获取行程费用明细"})
- @XpClientCheck(checkToken = false, checkOtpToken = true)
- public R<FareBreakdownVo> fareBreakdown(@PathVariable("orderId") Long orderId, HttpServletRequest request) {
- // uid已通过拦截器otp校验,可以直接使用
- String uid = request.getHeader("XP-Uid");
- return xpOrderService.fareBreakdown(orderId, uid);
- }
- /**
- * +
- * 获取行程费用明细
- */
- @PutMapping("/api/v1/mini-program/order/feeDescription/{orderId}")
- @ApiOperation(value = "获取费用说明", tags = {"小程序-获取费用说明"})
- @XpClientCheck(checkToken = false, checkOtpToken = true)
- public R<String> feeDescription(@PathVariable("orderId") Long orderId, HttpServletRequest request) {
- // uid已通过拦截器otp校验,可以直接使用
- String uid = request.getHeader("XP-Uid");
- return xpOrderService.feeDescription(orderId, uid);
- }
-
- /**
- * 订单评价
- */
- @PostMapping("/api/v1/mini-program/order/payment")
- @ApiOperation(value = "发起支付", tags = {"小程序-发起支付"})
- @XpClientCheck(checkToken = false, checkOtpToken = true)
- public R payment(@Validated @RequestBody XpOrderPayDto dto, HttpServletRequest request) {
- // uid已通过拦截器otp校验,可以直接使用
- String uid = request.getHeader("XP-Uid");
- return xpOrderService.payment(dto, uid);
- }
-
- /**
- * 订单评价
- */
- @PostMapping("/api/v1/mini-program/order/comment")
- @ApiOperation(value = "订单评价", tags = {"小程序-订单评价"})
- @XpClientCheck(checkToken = false, checkOtpToken = true)
- public R comment(@Validated @RequestBody XpOrderCommentDto dto, HttpServletRequest request) {
- // uid已通过拦截器otp校验,可以直接使用
- String uid = request.getHeader("XP-Uid");
- xpOrderService.comment(dto, uid);
- return R.ok();
- }
-
- /**
- * 订单状态修改-车控消息推送我方调用(内部接口)
- */
- @ApiOperation(value = "订单状态推送修改")
- @PostMapping("/inner/v1/order/updateOrderStatus")
- public R<String> updateOrderStatus(@RequestParam Long orderId,
- @RequestParam Integer status) {
- return xpOrderService.updateOrderStatus(orderId, status);
- }
-
- /**
- * 业务流程-通过订单id查询车辆信息
- */
- @ApiOperation(value = "通过订单id查询车辆信息", tags = {"小程序-业务流程"})
- @XpClientCheck(checkToken = false, checkOtpToken = true)
- @GetMapping("/api/v1/mini-program/order/queryVehicleByOrderId")
- public R<XpVehicle> queryVehicleByOrderId(@RequestParam Long orderId, HttpServletRequest request) {
- String uid = request.getHeader("XP-Uid");
- return R.ok(xpOrderService.queryVehicleByOrderId(orderId, uid));
- }
/**
* 订单车辆定位实时存储-订单车辆定位实时存储(内部接口)
*/
@ApiOperation(value = "订单车辆定位实时存储")
- @PostMapping("/inner/v1/order/saveVehicleLocation")
+ @PostMapping("/inner/v1/testOrder/saveVehicleLocation")
public R<String> saveVehicleLocation(@RequestBody OrderTrajectoryVo vo) {
OrderTrajectory orderTrajectory = new OrderTrajectory();
BeanUtils.copyProperties(vo, orderTrajectory);
- xpOrderService.saveVehicleLocation(orderTrajectory);
+ xpTestOrderService.saveVehicleLocation(orderTrajectory);
return R.ok();
}
- /**
- * 订单查询实时轨迹路线
- */
- @ApiOperation(value = "订单查询实时轨迹路线")
- @PostMapping("/api/v1/mini-program/order/queryOrderRoute")
- public R<RouteVo> queryOrderRoute(@Validated @RequestBody QueryOrderRouteDTO dto, HttpServletRequest request) {
- String uid = request.getHeader("XP-Uid");
- // 查询订单信息
- XpOrder xpOrder = xpOrderService.getById(dto.getOrderId());
- // 获取路线规划
-// 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);
- }
- /**
- * 订单查询轨迹路线
- */
- @ApiOperation(value = "订单查询轨迹路线")
- @GetMapping("/api/v1/mini-program/order/queryOrderTrajectory")
- public R<RouteVo> queryOrderTrajectory(@RequestParam String orderId, HttpServletRequest request) {
- String uid = request.getHeader("XP-Uid");
- List<OrderTrajectory> trajectories = mongoTemplate.find(
- new Query(Criteria.where("orderId").is(Long.valueOf(orderId)))
- .with(Sort.by(Sort.Direction.ASC, "locatetime")),
- OrderTrajectory.class
- );
- // 封装信息
- RouteVo routeVo = new RouteVo();
- List<LonLatDto> polyline = new ArrayList<>();
- if(!CollectionUtils.isEmpty(trajectories)){
- for (OrderTrajectory trajectory : trajectories) {
- LonLatDto lonLatDto = new LonLatDto();
- String[] split = trajectory.getLocation().split(",");
- lonLatDto.setLongitude(Double.valueOf(split[0]));
- lonLatDto.setLatitude(Double.valueOf(split[1]));
- polyline.add(lonLatDto);
- }
- }
- routeVo.setPolyline(polyline);
- return R.ok(routeVo);
- }
+
}
--
Gitblit v1.7.1