puzhibing
2026-04-12 cb45e85658797b8c235de713e22755ca3de4b4cf
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;
    }