From 52e608d6d37bfcf541193143eefae6e3933f5cb5 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 24 三月 2026 17:07:06 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi

---
 xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleOperationsController.java |   38 +++++++++++++++++++++++++++++++++++---
 1 files changed, 35 insertions(+), 3 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 c0d51bd..4cc90af 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
@@ -1,7 +1,9 @@
 package com.xiaopeng.maintenance.controller;
 
 import com.alibaba.fastjson2.JSONObject;
+import com.xiaopeng.api.dto.automaticPilot.VehicleEventDTO;
 import com.xiaopeng.api.dto.operation.NewCruiseOrderDto;
+import com.xiaopeng.api.feignClient.automaticPilot.VehicleBuriedPointClient;
 import com.xiaopeng.api.feignClient.operation.XpCruisePlanClient;
 import com.xiaopeng.api.feignClient.order.XpCruiseOrderClient;
 import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
@@ -32,6 +34,8 @@
 
 import javax.annotation.Resource;
 import java.io.UnsupportedEncodingException;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * <p>
@@ -58,6 +62,8 @@
     private AliOssService aliOssService;
     @Autowired
     private XpCruisePlanClient xpCruisePlanClient;
+    @Autowired
+    private VehicleBuriedPointClient vehicleBuriedPointClient;
 
     /**
      * 车辆详情-车辆调度-发车 收车
@@ -77,11 +83,38 @@
         if(vehiclePosition==null || vehiclePosition.getPoint()==null){
             return R.fail("车辆位置信息不存在");
         }
-
+        Integer departureStatus = dto.getDepartureStatus();
         XpVehicle vehicle1 = new XpVehicle();
-        vehicle1.setOperatingStatus(dto.getDepartureStatus());
+        vehicle1.setOperatingStatus(departureStatus);
         vehicle1.setId(xpVehicle.getId());
         xpVehicleClient.updateVehicleById(vehicle1);
+
+        // 封装埋点消息实体
+        VehicleEventDTO vehicleEventDTO = new VehicleEventDTO();
+        vehicleEventDTO.setVin(xpVehicle.getVehicleVin());
+        vehicleEventDTO.setXpuId("");
+        vehicleEventDTO.setOrderId("");
+        vehicleEventDTO.setEventKey("RT_web_vehicle_status_changed");
+        vehicleEventDTO.setEventTime(System.currentTimeMillis());
+        Map<String,Object> attributes = new HashMap<>();
+        attributes.put("vin",xpVehicle.getVehicleVin());
+        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","");
+
+        }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){
             // 找车辆的任务  生成巡游单子 下发命令
@@ -123,7 +156,6 @@
             if(returnCruisePoint!=null){
                 xpCruiseOrderClient.addCruiseOrder(returnCruisePoint);
             }
-
         }
         return R.ok();
     }

--
Gitblit v1.7.1