From ef32f6913325bb593d537b4ff433545f73ecb79a Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 11 三月 2026 10:00:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java | 78 +++++++++++++++++++++------------------
1 files changed, 42 insertions(+), 36 deletions(-)
diff --git a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
index f6cd82c..6602ed1 100644
--- a/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
+++ b/xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
@@ -298,7 +298,9 @@
long sequence = msgContent.getHeader().getSequence();
responseMessage(sequence, vin);
//保存车辆实时位置到redis
- redisTemplate.opsForGeo().add("vehiclePosition:" + vin, new Point(longitude, latitude), vin);
+ if(0 != longitude && 0 != latitude){
+ redisTemplate.opsForGeo().add("vehiclePosition:" + vin, new Point(longitude, latitude), vin);
+ }
VehicleStatus vehicleStatus = systemRuntimeStatus.getVehicleStatus();
OrderStatusInfo runningOrderStatusInfo = systemRuntimeStatus.getRunningOrderStatusInfo();
@@ -316,44 +318,48 @@
}
}
//保存车辆实时信息到mongodb
- VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(vin)), VehiclePosition.class);
- if (null == vehiclePosition) {
- vehiclePosition = new VehiclePosition();
- vehiclePosition.setVin(vin);
- vehiclePosition.setPoint(new GeoJsonPoint(longitude, latitude));
- vehiclePosition.setCourse(course);
- vehiclePosition.setAlt(alt);
- vehiclePosition.setSpeed(dynamicStatus.getSpeed());
- vehiclePosition.setCurrentElectricity(dynamicStatus.getBmsSocDisp());
- vehiclePosition.setMileageRange(dynamicStatus.getDstBatDisp());
- vehiclePosition.setOrderId(orderId);
- mongoTemplate.save(vehiclePosition);
- }else{
- vehiclePosition.setOrderId(orderId);
- Update update = new Update()
- .set("point", new GeoJsonPoint(longitude, latitude))
- .set("course", course)
- .set("alt", alt)
- .set("speed", dynamicStatus.getSpeed())
- .set("currentElectricity", dynamicStatus.getBmsSocDisp())
- .set("mileageRange", dynamicStatus.getDstBatDisp())
- .set("hasOrder", hasOrder)
- .set("orderId", orderId);
- mongoTemplate.updateFirst(new Query(Criteria.where("vin").is(vin)), update, VehiclePosition.class);
- }
- //调用推送服务接口
- if (null != orderId) {
- RtTripInfo rtTripInfo = systemRuntimeStatus.getRtTripInfo();
- PushOrderRouteDTO dto = new PushOrderRouteDTO();
- dto.setOrderId(orderId);
- dto.setRouteType(order_id.contains("XU") ? 2 : 1);
- dto.setLongitude(longitude);
- dto.setLatitude(latitude);
- //TODO 这两个字段现在拿不到
+ if(0 != longitude && 0 != latitude){
+ VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(vin)), VehiclePosition.class);
+ if (null == vehiclePosition) {
+ vehiclePosition = new VehiclePosition();
+ vehiclePosition.setVin(vin);
+ vehiclePosition.setPoint(new GeoJsonPoint(longitude, latitude));
+ vehiclePosition.setCourse(course);
+ vehiclePosition.setAlt(alt);
+ vehiclePosition.setSpeed(dynamicStatus.getSpeed());
+ vehiclePosition.setCurrentElectricity(dynamicStatus.getBmsSocDisp());
+ vehiclePosition.setMileageRange(dynamicStatus.getDstBatDisp());
+ vehiclePosition.setOrderId(orderId);
+ mongoTemplate.save(vehiclePosition);
+ }else{
+ vehiclePosition.setOrderId(orderId);
+ Update update = new Update()
+ .set("point", new GeoJsonPoint(longitude, latitude))
+ .set("course", course)
+ .set("alt", alt)
+ .set("speed", dynamicStatus.getSpeed())
+ .set("currentElectricity", dynamicStatus.getBmsSocDisp())
+ .set("mileageRange", dynamicStatus.getDstBatDisp())
+ .set("hasOrder", hasOrder)
+ .set("orderId", orderId);
+ mongoTemplate.updateFirst(new Query(Criteria.where("vin").is(vin)), update, VehiclePosition.class);
+ }
+ //调用推送服务接口
+ if (null != orderId) {
+ RtTripInfo rtTripInfo = systemRuntimeStatus.getRtTripInfo();
+ PushOrderRouteDTO dto = new PushOrderRouteDTO();
+ dto.setOrderId(orderId);
+ dto.setRouteType(order_id.contains("XU") ? 2 : 1);
+ dto.setLongitude(longitude);
+ dto.setLatitude(latitude);
+ //TODO 这两个字段现在拿不到
// dto.setDuration(rtTripInfo.getRemaining_time());
// dto.setDistance(rtTripInfo.getRemaining_distance().intValue());
- xpPushMessageClient.pushOrderRoute(dto);
+ xpPushMessageClient.pushOrderRoute(dto);
+ }
}
+
+
}
--
Gitblit v1.7.1