From c96fbe6b0aeb413a17c429133ee6d81d138144b9 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 09 六月 2026 10:58:52 +0800
Subject: [PATCH] Merge branch '1.0' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0
---
xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleOperationsController.java | 49 ++++++++++++++++++++++++++-----------------------
1 files changed, 26 insertions(+), 23 deletions(-)
diff --git a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleOperationsController.java b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleOperationsController.java
index 887a82a..d105420 100644
--- a/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleOperationsController.java
+++ b/xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleOperationsController.java
@@ -82,12 +82,12 @@
// 判断是否有正在进行的正常订单
// 查询车辆
XpVehicle xpVehicle = xpVehicleClient.queryById(dto.getVehicleId()).getData();
- if(xpVehicle.getState()==1){
+ if (xpVehicle.getState() == 1) {
return R.fail("车辆正在接单中");
}
String vin = SensitiveDataCryptoUtil.decryptIfPossible(xpVehicle.getVehicleVin());
VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(vin)), VehiclePosition.class);
- if(vehiclePosition==null || vehiclePosition.getPoint()==null){
+ if (vehiclePosition == null || vehiclePosition.getPoint() == null) {
return R.fail("车辆位置信息不存在");
}
Integer departureStatus = dto.getDepartureStatus();
@@ -103,33 +103,36 @@
vehicleEventDTO.setOrderId("");
vehicleEventDTO.setEventKey("RT_web_vehicle_status_changed");
vehicleEventDTO.setEventTime(System.currentTimeMillis());
- Map<String,Object> attributes = new HashMap<>();
+ Map<String, Object> attributes = new HashMap<>();
attributes.put("vin", vin);
- attributes.put("order_id","");
- attributes.put("timestamp",vehicleEventDTO.getEventTime());
- if(departureStatus == 1){
- attributes.put("main_status","ONLINE");
- // TODO 预留位置 目前无状态
- attributes.put("sub_status","");
- attributes.put("prev_sub_status","");
+ attributes.put("order_id", "");
+ attributes.put("timestamp", vehicleEventDTO.getEventTime());
- }else {
- attributes.put("main_status","OFFLINE");
+ // 1.0埋点新增
+ attributes.put("odometer_km", vehiclePosition.getTotalOdometer());
+
+ if (departureStatus == 1) {
+ attributes.put("main_status", "ONLINE");
// TODO 预留位置 目前无状态
- attributes.put("sub_status","");
- attributes.put("prev_sub_status","");
+ attributes.put("sub_status", "");
+ attributes.put("prev_sub_status", "");
+
+ } else {
+ attributes.put("main_status", "OFFLINE");
+ // TODO 预留位置 目前无状态
+ attributes.put("sub_status", "");
+ attributes.put("prev_sub_status", "");
}
vehicleEventDTO.setAttributes(attributes);
vehicleBuriedPointClient.sendVehicleEvent(vehicleEventDTO);
// 发车
- if(dto.getDepartureStatus()==1){
+ if (dto.getDepartureStatus() == 1) {
// 找车辆的任务 生成巡游单子 下发命令
//发车之前,检查所有之前没终止的数据,将其终止
xpCruiseOrderClient.stopAllCruiseOrder(vin);
- R<XpCruiseOrder> newCruiseOrder = xpCruisePlanClient.getNewCruiseOrder(new NewCruiseOrderDto(xpVehicle.getId(), vin, xpVehicle.getFleetId(),vehiclePosition.getPoint()));
- if(newCruiseOrder.getData()!=null){
- //标记订单为返程类型巡游单
+ R<XpCruiseOrder> newCruiseOrder = xpCruisePlanClient.getNewCruiseOrder(new NewCruiseOrderDto(xpVehicle.getId(), vin, xpVehicle.getFleetId(), vehiclePosition.getPoint()));
+ if (newCruiseOrder.getData() != null && 200 == newCruiseOrder.getCode()) {
//方向为正向
XpCruiseOrder cruiseOrder = newCruiseOrder.getData();
cruiseOrder.setOrderType(2);
@@ -137,16 +140,16 @@
//不停车替换新任务
cruiseOrder.setTaskActionType(TaskActionType.kTerminateForNewTask);
R<Long> longR = xpCruiseOrderClient.addCruiseOrder(cruiseOrder);
- if(200 != longR.getCode()){
+ if (200 != longR.getCode()) {
return R.fail(longR.getMsg());
}
}
- }else if(dto.getDepartureStatus()==3){
+ } else if (dto.getDepartureStatus() == 3) {
// 收车 关闭当前巡游单子 生成新的返程单子 找到收车站点
XpCruiseOrder oldCruiseOrder = xpCruiseOrderClient.cancelCruiseOrderByVin(vin).getData();
XpCruiseOrder xpCruiseOrder = new XpCruiseOrder();
- if(vehiclePosition!=null){
+ if (vehiclePosition != null) {
double x = vehiclePosition.getPoint().getX();
double y = vehiclePosition.getPoint().getY();
xpCruiseOrder.setStartLon(x);
@@ -163,7 +166,7 @@
// 找到收车站点
XpCruiseOrder returnCruisePoint = xpCruisePlanClient.findReturnCruisePoint(xpCruiseOrder).getData();
- if(returnCruisePoint!=null){
+ if (returnCruisePoint != null) {
//不停车替换新任务
returnCruisePoint.setLastOrderId1("XU" + oldCruiseOrder.getId());
returnCruisePoint.setLastXpuTaskId(oldCruiseOrder.getXpuTaskId());
@@ -202,7 +205,7 @@
if (StringUtils.isNotBlank(vehiclePictures)) {
JSONObject jsonObject = JSONObject.parseObject(vehiclePictures);
// 1
- String downloadUrl = jsonObject.getString("url");;
+ String downloadUrl = jsonObject.getString("url");
try {
downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
} catch (UnsupportedEncodingException e) {
--
Gitblit v1.7.1