From cb45e85658797b8c235de713e22755ca3de4b4cf Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期日, 12 四月 2026 18:27:25 +0800
Subject: [PATCH] 新增加运维APP点位管理、巡游打卡功能接口

---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 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 b3e8b42..2bdec5e 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
@@ -17,6 +17,7 @@
 import com.xiaopeng.api.vo.order.XpPointsListVo;
 import com.xiaopeng.api.vo.order.XpPointsSearchVo;
 import com.xiaopeng.common.core.constant.CacheConstants;
+import com.xiaopeng.common.core.utils.GeodesyUtil;
 import com.xiaopeng.common.core.web.page.PageInfo;
 import com.xiaopeng.common.redis.service.RedisService;
 import com.xiaopeng.evi.oss.service.AliOssService;
@@ -274,10 +275,16 @@
                 }
                 xpPoint.setPointPictures(JSONArray.toJSONString(jsonArray));
             }
-
+            if(null != query.getLongitude() && null != query.getLatitude()){
+                Map<String, Double> distance = GeodesyUtil.getDistance(query.getLongitude() + "," + query.getLatitude(), xpPoint.getPointLon() + "," + xpPoint.getPointLat());
+                xpPoint.setDistance(new BigDecimal(distance.get("WGS84")));
+            }
         }
 
-
+        if(null != query.getLongitude() && null != query.getLatitude()){
+            //对距离进行排序
+            list.sort((o1, o2) -> o1.getDistance().compareTo(o2.getDistance()) * -1);
+        }
 
         return list;
     }

--
Gitblit v1.7.1