From a0192d4e092d0330745bfb0b8f83d9039d53c57c Mon Sep 17 00:00:00 2001
From: 刘帅 <rr.iii@qq.com>
Date: 星期日, 20 九月 2026 09:55:45 +0800
Subject: [PATCH] bug:加载问题
---
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 38 +++++++++++++++++++++++++++++---------
1 files changed, 29 insertions(+), 9 deletions(-)
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
index a71f887..388efe3 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -829,6 +829,9 @@
Store s = null;
Double d = 0D;
for (Store store : stores) {
+ if (store == null || !isValidCoordinate(store.getLon(), store.getLat())) {
+ continue;
+ }
Map<String, Double> distance = GeodesyUtil.getDistance(lon + "," + lat, store.getLon() + "," + store.getLat());
Double wgs84 = distance.get("WGS84");
if (s == null || d > wgs84) {
@@ -836,19 +839,36 @@
d = wgs84;
}
}
- joinPlayPaiVo.setName(s.getName());
- joinPlayPaiVo.setLon(s.getLon());
- joinPlayPaiVo.setLat(s.getLat());
- joinPlayPaiVo.setStoreId(s.getId());
- joinPlayPaiVo.setPhone(s.getPhone());
- joinPlayPaiVo.setProvince(s.getProvince());
- joinPlayPaiVo.setProvinceCode(s.getProvinceCode());
- joinPlayPaiVo.setCity(s.getCity());
- joinPlayPaiVo.setCityCode(s.getCityCode());
+ if (s != null) {
+ joinPlayPaiVo.setName(s.getName());
+ joinPlayPaiVo.setLon(s.getLon());
+ joinPlayPaiVo.setLat(s.getLat());
+ joinPlayPaiVo.setStoreId(s.getId());
+ joinPlayPaiVo.setPhone(s.getPhone());
+ joinPlayPaiVo.setProvince(s.getProvince());
+ joinPlayPaiVo.setProvinceCode(s.getProvinceCode());
+ joinPlayPaiVo.setCity(s.getCity());
+ joinPlayPaiVo.setCityCode(s.getCityCode());
+ }
}
return joinPlayPaiVo;
}
+ private boolean isValidCoordinate(String lon, String lat) {
+ if (ToolUtil.isEmpty(lon) || ToolUtil.isEmpty(lat)) {
+ return false;
+ }
+ try {
+ double longitude = Double.parseDouble(lon.trim());
+ double latitude = Double.parseDouble(lat.trim());
+ return Double.isFinite(longitude) && Double.isFinite(latitude)
+ && longitude >= -180 && longitude <= 180
+ && latitude >= -90 && latitude <= 90;
+ } catch (NumberFormatException e) {
+ return false;
+ }
+ }
+
@Override
public IndexOfUserBenefirVo queryBenefitDetails(Integer appUserId, String lon, String lat) {
IndexOfUserBenefirVo benefirVo = new IndexOfUserBenefirVo();
--
Gitblit v1.7.1