From e7ddb55abe6998771498d808bb26a1f0e7fe777a Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期六, 14 二月 2026 17:25:57 +0800
Subject: [PATCH] 修改点位查询
---
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java
index eb9d86d..80bcca2 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java
@@ -59,11 +59,6 @@
@Override
public NearestVo nearest(NearestDto dto) {
- // 获取所有的站点信息
- List<XpPoint> list = list(new LambdaQueryWrapper<XpPoint>().eq(XpPoint::getOperationStatus, 2).eq(XpPoint::getPointType,1).isNotNull(XpPoint::getElectronicAreaId));
- NearestVo nearestVo = new NearestVo();
- List<NearestNextVo> nearestNextVos = new ArrayList<>();
- LocalTime now = LocalTime.now();
// 走缓存
Object orderDistanceObj = redisService.getCacheObject(CacheConstants.NEAR_POINT_DISTANCE);
Integer orderDistance;
@@ -73,6 +68,15 @@
XpSystemSetting xpSystemSetting = xpSystemSettingMapper.selectOne(null);
orderDistance = xpSystemSetting.getNearPointDistance();
}
+ // 获取所有的站点信息
+ List<XpPoint> list = list(new LambdaQueryWrapper<XpPoint>().eq(XpPoint::getOperationStatus, 2).eq(XpPoint::getPointType,1).isNotNull(XpPoint::getElectronicAreaId)
+ // 添加距离计算字段
+ .apply("ST_Distance_Sphere(point({0}, {1}), point(point_lon, point_lat)) <= {2}",
+ dto.getLongitude(), dto.getLatitude(), orderDistance));
+ NearestVo nearestVo = new NearestVo();
+ List<NearestNextVo> nearestNextVos = new ArrayList<>();
+ LocalTime now = LocalTime.now();
+
for (XpPoint xpPoint : list) {
// 判断是否在时间段内
--
Gitblit v1.7.1