xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
@@ -32,6 +32,7 @@ import com.xiaopeng.common.redis.service.RedisService; import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.data.geo.Point; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.geo.GeoJsonPoint; import org.springframework.data.mongodb.core.query.Criteria; @@ -203,6 +204,7 @@ dto3.setLatitude(startLat); dto3.setDuration(10); dto3.setDistance(2); dto3.setDirection(60); xpPushMessageClient.pushOrderRoute(dto3); return r; } @@ -236,7 +238,7 @@ Double longitude = lonLatDto.getLongitude(); //保存车辆实时位置到redis redisTemplate.opsForGeo().add("vehiclePosition:" + vin, new GeoJsonPoint(longitude, latitude), vin); redisTemplate.opsForGeo().add("vehiclePosition:" + vin, new Point(longitude, latitude), vin); //保存车辆实时信息到mongodb VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(vin)), VehiclePosition.class); @@ -262,10 +264,11 @@ dto.setLatitude(latitude); dto.setDuration(10); dto.setDistance(2); dto.setDirection(60); xpPushMessageClient.pushOrderRoute(dto); } //5秒钟循环一次 //2秒钟循环一次 try { Thread.sleep(2000); } catch (InterruptedException e) { @@ -354,7 +357,7 @@ Double longitude = lonLatDto.getLongitude(); //保存车辆实时位置到redis redisTemplate.opsForGeo().add("vehiclePosition:" + vin, new GeoJsonPoint(longitude, latitude), vin); redisTemplate.opsForGeo().add("vehiclePosition:" + vin, new Point(longitude, latitude), vin); //保存车辆实时信息到mongodb VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(vin)), VehiclePosition.class); @@ -380,6 +383,7 @@ dto.setLatitude(latitude); dto.setDuration(20); dto.setDistance(10); dto.setDirection(60); xpPushMessageClient.pushOrderRoute(dto); } xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
@@ -51,7 +51,7 @@ import com.xiaopeng.common.core.utils.uuid.UUID; import com.xiaopeng.common.redis.service.RedisService; import lombok.extern.slf4j.Slf4j; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.geo.Point;import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.geo.GeoJsonPoint; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; @@ -277,7 +277,7 @@ long sequence = msgContent.getHeader().getSequence(); responseMessage(sequence, vin); //保存车辆实时位置到redis redisTemplate.opsForGeo().add("vehiclePosition:" + vin, new GeoJsonPoint(longitude, latitude), vin); redisTemplate.opsForGeo().add("vehiclePosition:" + vin, new Point(longitude, latitude), vin); //保存车辆实时信息到mongodb VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(vin)), VehiclePosition.class); xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/service/impl/XpVehicleServiceImpl.java
@@ -38,6 +38,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.data.geo.Point; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.geo.GeoJsonPoint; import org.springframework.data.mongodb.core.query.Criteria; @@ -149,11 +150,11 @@ } for (XpVehicleVO xpVehicleVO : list) { GeoJsonPoint geoJsonPoint = redisService.getCacheObject("vehiclePosition:" + xpVehicleVO.getVehicleVin()); if (Objects.nonNull(geoJsonPoint)){ Point point = redisService.getCacheObject("vehiclePosition:" + xpVehicleVO.getVehicleVin()); if (Objects.nonNull(point)){ // 获取经纬度 xpVehicleVO.setLongitude(geoJsonPoint.getX()); xpVehicleVO.setLatitude(geoJsonPoint.getY()); xpVehicleVO.setLongitude(point.getX()); xpVehicleVO.setLatitude(point.getY()); } // 查询车辆的续航里程 VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(xpVehicleVO.getVehicleVin())), VehiclePosition.class);