From e197f8f7777d98f0bd80d76d997298e0814a6e88 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 27 Sep 2023 17:24:30 +0800 Subject: [PATCH] =?UTF-8?q?[6.1.0]=20[charter]=20[=E5=88=B0=E7=AB=99?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../passenger/model/CharterPassengerModel.kt | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt index cf692f1253..780c5b7d98 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt @@ -18,6 +18,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager import com.mogo.eagle.core.network.utils.GsonUtil +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant @@ -416,7 +417,7 @@ object CharterPassengerModel { // 小于15m到站 if (calculateLineDistance < CharterPassengerConst.ARRIVE_AT_START_STATION_DISTANCE && calculateLineDistance > 0) { d(M_BUS_P + TAG, "小于15米到站1") - arriveDest() + checkArriveDesk(currentInfo) } if (calculateLineDistance < CharterPassengerConst.ARRIVE_SOON_AT_START_STATION_DISTANCE && calculateLineDistance > 0) { d(M_BUS_P + TAG, "小于100米到站") @@ -717,7 +718,7 @@ object CharterPassengerModel { } if (lastSumLength < CharterPassengerConst.ARRIVE_AT_START_STATION_DISTANCE && lastSumLength > 0) { d(M_BUS_P + TAG, "小于15米到站2") - arriveDest() + checkArriveDesk(it) return } if (order.arriveStatus == OrderInfoResponse.ARRIVING) { @@ -883,6 +884,27 @@ object CharterPassengerModel { BusPassengerServiceManager.queryLineLocation(mContext, lineId = lineId.toString(), callback) } + private fun checkArriveDesk(currentLocation:MogoLocation){ + //2、开始计算当前位置和站点的向量角度 < 90度 未经过 >90度 经过 + orderInfo?.let { + val stationAngle = DrivingDirectionUtils.getDegreeOfCar2Poi( + currentLocation.longitude, + currentLocation.latitude, + it.gcj02Lon!!, + it.gcj02Lat!!, currentLocation.heading.toInt() + ).toDouble() + if(stationAngle>90){ + d(M_BUS_P + TAG, "过站触发到站") + arriveDest() + }else{ + if (currentLocation.gnssSpeed < 0.3) { + d(M_BUS_P + TAG, "距离站点15m 未到站速度为0触发到站") + arriveDest() + } + } + } + } + @Synchronized fun arriveDest() { val (order, lineId, siteId) = getOrderInfo()