From 883fbff5fbca080cface079f34a99a67b31aa686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?LI-CCONG=5C=E6=9D=8E=E8=81=AA=E8=81=AA?= <1441652193@qq.com> Date: Sat, 9 Mar 2024 16:43:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=9D=E7=A6=BB=E8=AE=A1=E7=AE=97=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E5=A4=84=E7=90=86=E3=80=81=E8=AE=A2=E5=8D=95=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cc/yunxi/common/utils/CommonUtil.java | 18 +++++++++++------- .../controller/RecycleOrderController.java | 2 +- 2 files changed, 12 insertions(+), 8 deletions(-) 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.订单距离计算