diff --git a/nxhs-common/src/main/java/cc/yunxi/common/utils/CommonUtil.java b/nxhs-common/src/main/java/cc/yunxi/common/utils/CommonUtil.java index a28cc3d..1170371 100644 --- a/nxhs-common/src/main/java/cc/yunxi/common/utils/CommonUtil.java +++ b/nxhs-common/src/main/java/cc/yunxi/common/utils/CommonUtil.java @@ -66,14 +66,18 @@ public class CommonUtil { * @return 距离 (km) */ public static BigDecimal getDistance(String lon1, String lat1, String lon2, String lat2) { - GlobalCoordinates source = new GlobalCoordinates(Double.parseDouble(lat1), Double.parseDouble(lon1)); - GlobalCoordinates target = new GlobalCoordinates(Double.parseDouble(lat2), Double.parseDouble(lon2)); - GeodeticCurve geoCurve = new GeodeticCalculator().calculateGeodeticCurve(Ellipsoid.Sphere, source, target); - double distance = geoCurve.getEllipsoidalDistance(); - BigDecimal distanceBig = new BigDecimal(distance).setScale(2, RoundingMode.UP); - distanceBig = distanceBig.multiply(new BigDecimal("0.001")).setScale(2, RoundingMode.UP); + try { + GlobalCoordinates source = new GlobalCoordinates(Double.parseDouble(lat1), Double.parseDouble(lon1)); + GlobalCoordinates target = new GlobalCoordinates(Double.parseDouble(lat2), Double.parseDouble(lon2)); + GeodeticCurve geoCurve = new GeodeticCalculator().calculateGeodeticCurve(Ellipsoid.Sphere, source, target); + double distance = geoCurve.getEllipsoidalDistance(); + BigDecimal distanceBig = new BigDecimal(distance).setScale(2, RoundingMode.UP); + distanceBig = distanceBig.multiply(new BigDecimal("0.001")).setScale(2, RoundingMode.UP); // return distanceBig.toString().concat("km"); - return distanceBig; + return distanceBig; + } catch (Exception e) { + return new BigDecimal("99999.99"); + } } diff --git a/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java b/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java index f7c9c66..e585d5f 100644 --- a/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java +++ b/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java @@ -51,7 +51,7 @@ public class RecycleOrderController { // 1.解析用户上下文 UserDTO userDTO = UserContext.getUser(); // recycleOrderQuery.setUserType(userDTO.getUserType()).setStationId(userDTO.getStationId()); - recycleOrderQuery.setUserType(userDTO.getUserType()); // 默认先从前端获取回收站Id todo + recycleOrderQuery.setUserId(userDTO.getId()).setUserType(userDTO.getUserType()); // 默认先从前端获取回收站Id todo // 2.分页查询 Page result = recycleOrderService.queryOrderByPage(recycleOrderQuery); // 3.订单距离计算