From 1109917f73335d76c53f8646b5fcca8530585b00 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Wed, 19 Oct 2022 11:24:09 +0800 Subject: [PATCH] =?UTF-8?q?[2.11.0=20fix]=20bus=E5=8F=B8=E6=9C=BA=E7=AB=AF?= =?UTF-8?q?=E8=A7=A3=E5=86=B3Map280=E7=89=88=E6=9C=AC=E5=88=B0=E7=AB=99?= =?UTF-8?q?=E5=AF=86=E9=9B=86=E9=97=AE=E9=A2=98=EF=BC=8C=20=E5=8F=AA?= =?UTF-8?q?=E6=AF=94=E5=AF=B9=E5=9D=90=E6=A0=87=E5=89=8D=E4=BA=94=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/bus/model/BusOrderModel.java | 13 +++++++++---- .../common/module/utils/NumberFormatUtil.java | 16 ++++++++++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java index 04cbb1573a..84550d31d3 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java @@ -56,6 +56,7 @@ import com.mogo.och.common.module.biz.provider.LoginService; import com.mogo.och.common.module.manager.OCHAdasAbilityManager; import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; import com.mogo.och.common.module.utils.DateTimeUtil; +import com.mogo.och.common.module.utils.NumberFormatUtil; import com.mogo.och.common.module.utils.PinYinUtil; import com.mogo.och.common.module.utils.SoundPoolHelper; import com.mogo.service.statusmanager.IMogoStatusChangedListener; @@ -858,12 +859,16 @@ public class BusOrderModel { //MAP 280 每隔100ms左右返回一次到站, 导致在到达中间站后再次滑动出发后会有时间差,收到一次到站,出现问题 //此处比对 自驾告诉的到站站点坐标和本地应到站站点坐标, 一致时才能到站 if (data != null && data.getEndLocation() != null){ - double latitude = data.getEndLocation().getLatitude(); //wgs - double longitude = data.getEndLocation().getLongitude(); + + String latitude = NumberFormatUtil.cutOutNumber(data.getEndLocation().getLatitude(),5); //wgs + String longitude = NumberFormatUtil.cutOutNumber(data.getEndLocation().getLongitude(),5); + int arrivedStationIndex = backgroundCurrentStationIndex + 1; BusStationBean arriveStation = stationList.get(arrivedStationIndex); - if (Double.doubleToLongBits(latitude) != Double.doubleToLongBits(arriveStation.getLat()) - || Double.doubleToLongBits(longitude) != Double.doubleToLongBits(arriveStation.getLon())){ + String arriveLat = NumberFormatUtil.cutOutNumber(arriveStation.getLat(),5); + String arriveLon = NumberFormatUtil.cutOutNumber(arriveStation.getLon(),5); + + if (!latitude.equals(arriveLat) || !longitude.equals(arriveLon)){ CallerLogger.INSTANCE.e( M_BUS + TAG, "行程日志-到站拦截,到站坐标不一致" ); return; } diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/NumberFormatUtil.java b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/NumberFormatUtil.java index 4c626a4659..1af162ef26 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/NumberFormatUtil.java +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/NumberFormatUtil.java @@ -21,4 +21,20 @@ public class NumberFormatUtil { } return String.valueOf(num); } + + /** + * 截取小数点后cutNum位, 不进行四舍五入 + * @param num + * @param cutNum + * @return + */ + public static String cutOutNumber(double num,int cutNum){ + try{ + BigDecimal bg = new BigDecimal(num).setScale(cutNum, RoundingMode.DOWN); + return String.valueOf(bg.doubleValue()); + }catch (Exception e){ + + } + return ""; + } }