From 560be817c1342d4da523760ba38433c4c0f52983 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 12 五月 2026 10:56:09 +0800
Subject: [PATCH] Merge branch '1.1' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.1
---
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 47 insertions(+), 12 deletions(-)
diff --git a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
index cad290a..612ff48 100644
--- a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
+++ b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
@@ -79,7 +79,7 @@
taskBuilder.setTaskId(StringUtils.isNotEmpty(dto.getEndTaskId()) ? dto.getEndTaskId() : snowflake.nextId() + "");
taskBuilder.setTaskType(OrderType.ORDER_TYPE_CRUISE);
//构建起点坐标数据
- pointBuilderStart.setWaypointId(dto.getOrderId() + "-001");
+ pointBuilderStart.setWaypointId(dto.getStartWaypointId() + "");
pointBuilderStart.setPointType(PointType.START_POINT);
pointBuilderStart.setSequence(1);
pointBuilderStart.setActionType(ActionType.ACTION_UNSPECIFIED);
@@ -90,7 +90,7 @@
taskBuilder.addPoints(pointBuilderStart);
//构建终点数据
- pointBuilderEnd.setWaypointId(dto.getOrderId() + "-002");
+ pointBuilderEnd.setWaypointId(dto.getEndWaypointId() + "");
pointBuilderEnd.setPointType(PointType.CRUISE_END_POINT);
pointBuilderEnd.setSequence(2);
pointBuilderEnd.setActionType(ActionType.DRIVE_THROUGH);
@@ -121,7 +121,6 @@
taskBuilder.setTaskType(OrderType.ORDER_TYPE_ROBOTAXI);
VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(dto.getVin())), VehiclePosition.class);
//构建车辆当前位置数据
- pointBuilderStart.setWaypointId(dto.getOrderId() + "-JJ-001");
pointBuilderStart.setPointType(PointType.START_POINT);
pointBuilderStart.setActionType(ActionType.ACTION_UNSPECIFIED);
pointBuilderStart.setSequence(1);
@@ -132,7 +131,7 @@
taskBuilder.addPoints(pointBuilderStart);
//构建上车点位置信息
- pointBuilderEnd.setWaypointId(dto.getOrderId() + "-JJ-002");
+ pointBuilderEnd.setWaypointId(dto.getStartWaypointId() + "");
pointBuilderEnd.setPointType(PointType.PICK_UP_POINT);
pointBuilderEnd.setActionType(ActionType.PICK_UP);
pointBuilderEnd.setSequence(2);
@@ -159,7 +158,7 @@
taskBuilder.setTaskId(StringUtils.isNotEmpty(dto.getEndTaskId()) ? dto.getEndTaskId() : snowflake.nextId() + "");
taskBuilder.setTaskType(OrderType.ORDER_TYPE_ROBOTAXI);
//构建上车点位置信息
- pointBuilderStart.setWaypointId(dto.getOrderId() + "-SD-001");
+ pointBuilderStart.setWaypointId(dto.getStartWaypointId() + "");
pointBuilderStart.setPointType(PointType.PICK_UP_POINT);
pointBuilderStart.setActionType(ActionType.PICK_UP);
pointBuilderStart.setSequence(1);
@@ -170,7 +169,7 @@
taskBuilder.addPoints(pointBuilderStart);
//构建下车点位置信息
- pointBuilderEnd.setWaypointId(dto.getOrderId() + "-SD-002");
+ pointBuilderEnd.setWaypointId(dto.getEndWaypointId() + "");
pointBuilderEnd.setPointType(PointType.END_POINT);
pointBuilderEnd.setActionType(ActionType.DROP_OFF);
pointBuilderEnd.setSequence(2);
@@ -204,7 +203,6 @@
taskBuilder.setTaskType(OrderType.ORDER_TYPE_ROBOTAXI);
VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(dto.getVin())), VehiclePosition.class);
//构建车辆当前位置数据
- pointBuilderStart.setWaypointId(dto.getOrderId() + "-JJ-001");
pointBuilderStart.setPointType(PointType.START_POINT);
pointBuilderStart.setActionType(ActionType.ACTION_UNSPECIFIED);
pointBuilderStart.setSequence(1);
@@ -215,7 +213,7 @@
taskBuilder.addPoints(pointBuilderStart);
//构建上车点位置信息
- pointBuilderEnd.setWaypointId(dto.getOrderId() + "-JJ-002");
+ pointBuilderEnd.setWaypointId(dto.getStartWaypointId() + "");
pointBuilderEnd.setPointType(PointType.PICK_UP_POINT);
pointBuilderEnd.setActionType(ActionType.PICK_UP);
pointBuilderEnd.setSequence(2);
@@ -243,7 +241,7 @@
taskBuilder.setTaskId(StringUtils.isNotEmpty(dto.getEndTaskId()) ? dto.getEndTaskId() : snowflake.nextId() + "");
taskBuilder.setTaskType(OrderType.ORDER_TYPE_ROBOTAXI);
//构建上车点位置信息
- pointBuilderStart.setWaypointId(dto.getOrderId() + "-SD-001");
+ pointBuilderStart.setWaypointId(dto.getStartWaypointId() + "");
pointBuilderStart.setPointType(PointType.PICK_UP_POINT);
pointBuilderStart.setActionType(ActionType.PICK_UP);
pointBuilderStart.setSequence(1);
@@ -254,7 +252,7 @@
taskBuilder.addPoints(pointBuilderStart);
//构建下车点位置信息
- pointBuilderEnd.setWaypointId(dto.getOrderId() + "-SD-002");
+ pointBuilderEnd.setWaypointId(dto.getEndWaypointId() + "");
pointBuilderEnd.setPointType(PointType.END_POINT);
pointBuilderEnd.setActionType(ActionType.DROP_OFF);
pointBuilderEnd.setSequence(2);
@@ -284,7 +282,7 @@
taskBuilder.setTaskId(StringUtils.isNotEmpty(dto.getEndTaskId()) ? dto.getEndTaskId() : snowflake.nextId() + "");
taskBuilder.setTaskType(OrderType.ORDER_TYPE_CRUISE);
//构建起点坐标数据
- pointBuilderStart.setWaypointId(dto.getOrderId() + "-001");
+ pointBuilderStart.setWaypointId(dto.getStartWaypointId() + "");
pointBuilderStart.setPointType(PointType.START_POINT);
pointBuilderStart.setSequence(1);
pointBuilderStart.setActionType(ActionType.ACTION_UNSPECIFIED);
@@ -295,7 +293,7 @@
taskBuilder.addPoints(pointBuilderStart);
//构建终点数据
- pointBuilderEnd.setWaypointId(dto.getOrderId() + "-002");
+ pointBuilderEnd.setWaypointId(dto.getEndWaypointId() + "");
pointBuilderEnd.setPointType(PointType.CRUISE_END_POINT);
pointBuilderEnd.setSequence(2);
pointBuilderEnd.setActionType(ActionType.DRIVE_THROUGH);
@@ -474,6 +472,41 @@
if(StringUtils.isNotEmpty(code)){
xpOrder = xpOrderClient.queryOrderByOrderNo(code).getData();
}
+
+ //保存车辆实时信息到mongodb
+ VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), VehiclePosition.class);
+ if (null == vehiclePosition) {
+ log.info("【模拟接单】MongoDB无车辆位置记录,新建,vin={}", xpVehicle.getVehicleVin());
+ vehiclePosition = new VehiclePosition();
+ vehiclePosition.setVin(xpVehicle.getVehicleVin());
+ vehiclePosition.setPoint(new GeoJsonPoint(startLon, startLat));
+ vehiclePosition.setCourse(60D);
+ vehiclePosition.setAlt(100F);
+ vehiclePosition.setSpeed(50F);
+ vehiclePosition.setCurrentElectricity(80);
+ vehiclePosition.setMileageRange(300f);
+ vehiclePosition.setHasOrder(0);
+ vehiclePosition.setOrderId(orderId);
+ vehiclePosition.setTotalOdometer(10000L);
+ vehiclePosition.setAddTime(System.currentTimeMillis());
+ mongoTemplate.save(vehiclePosition);
+ }else{
+ log.info("【模拟接单】更新MongoDB车辆位置记录,vin={}", xpVehicle.getVehicleVin());
+ vehiclePosition.setOrderId(orderId);
+ Update update = new Update()
+ .set("point", new GeoJsonPoint(startLon, startLat))
+ .set("course", 60D)
+ .set("alt", 100F)
+ .set("speed", 50F)
+ .set("currentElectricity", 80)
+ .set("mileageRange", 300f)
+ .set("hasOrder", 0)
+ .set("orderId", orderId)
+ .set("totalOdometer", 10000L)
+ .set("addTime", System.currentTimeMillis());
+ mongoTemplate.updateFirst(new Query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), update, VehiclePosition.class);
+ }
+
orderId = xpOrder.getId();
OrderRouteAndFareDto dto = new OrderRouteAndFareDto();
dto.setOrderId(orderId);
@@ -619,6 +652,7 @@
dto.setLatitude(latitude);
dto.setDuration(10.0);
dto.setDistance(2.0);
+ dto.setSpeed(2.0f);
dto.setDirection(60);
dto.setMessageType(PushMessageTypeEnum.ORDER_ROUTE.getDesc());
xpPushMessageClient.pushOrderRoute(dto);
@@ -801,6 +835,7 @@
dto.setLatitude(latitude);
dto.setDuration(20.0);
dto.setDistance(10.0);
+ dto.setSpeed(10.0f);
dto.setDirection(60);
dto.setMessageType(PushMessageTypeEnum.ORDER_ROUTE.getDesc());
R<String> stringR = xpPushMessageClient.pushOrderRoute(dto);
--
Gitblit v1.7.1