From 3967956bdfa8a8949a702c24c035157c6a25b318 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Thu, 31 Aug 2023 11:28:29 +0800 Subject: [PATCH] =?UTF-8?q?[6.0.0]=20=E5=88=B0=E8=BE=BE=E5=87=BA=E8=BD=A6?= =?UTF-8?q?=E7=82=B9=E8=AF=AD=E9=9F=B3=E6=92=AD=E6=8A=A5,=20=E6=8B=BF?= =?UTF-8?q?=E5=88=B0=E6=96=B0=E8=AE=A2=E5=8D=95=E8=AF=AD=E9=9F=B3=E6=92=AD?= =?UTF-8?q?=E6=8A=A5,=20=E5=8F=96=E6=B6=88=E8=AE=A2=E5=8D=95=E8=AF=AD?= =?UTF-8?q?=E9=9F=B3=E6=92=AD=E6=8A=A5=E6=96=87=E6=A1=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../taxi/ui/task/TaxiCurrentTaskFragment.kt | 5 +- .../taxi/ui/task/TaxiCurrentTaskViewModel.kt | 2 +- .../mogo/och/taxi/ui/task/TaxiTaskModel.kt | 74 ++++--------------- 3 files changed, 18 insertions(+), 63 deletions(-) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt index 865de9ea42..30f7d131b6 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskFragment.kt @@ -24,6 +24,7 @@ import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.common.module.map.AmapNaviToDestinationModel import com.mogo.och.common.module.map.ICommonNaviChangedCallback +import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.common.module.wigets.OCHCommitDialog import com.mogo.och.taxi.R import com.mogo.och.taxi.bean.OrderDetail @@ -326,6 +327,7 @@ class TaxiCurrentTaskFragment : BaseFragment(), TaskTypeEnum.VirtualTask.code -> {// 演练任务 if (order != null && currentStatus == TaskStatusEnum.CompleteTask.code) { updateOrderUI(order) + VoiceNotice.showNotice("已为您接到订单") return } if (startSite == null || endSite == null) return @@ -345,8 +347,9 @@ class TaxiCurrentTaskFragment : BaseFragment(), } TaskTypeEnum.None.code -> { - if (order != null) { + if (order != null && currentStatus == TaskStatusEnum.CompleteTask.code) { updateOrderUI(order) + VoiceNotice.showNotice("已为您接到订单") } } } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt index 5d417685ce..4268a3eb43 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt @@ -218,7 +218,7 @@ class TaxiCurrentTaskViewModel : BaseViewModel(), } override fun onOrderCancel() { - VoiceNotice.showNotice("订单已经取消") + VoiceNotice.showNotice("已取消行程") // updateTaskAndOrderUi(null) } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt index f00befbff5..6d697f7a89 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt @@ -53,6 +53,7 @@ import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceM import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager.setStationPoint import com.mogo.och.common.module.map.AmapNaviToDestinationModel import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil.coordinateConverterWgsToGcjLocations +import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.taxi.bean.PrepareTaskRespBean import com.mogo.och.taxi.bean.QueryCarOrderByNoRespBean import com.mogo.och.taxi.bean.QueryCurrentTaskRespBean @@ -71,7 +72,6 @@ import com.mogo.och.taxi.constant.TaxiOrderStatusEnum import com.mogo.och.taxi.constant.TaxiUnmannedConst import com.mogo.och.taxi.constant.TaxiUnmannedConst.Companion.BUSINESSTYPE import com.mogo.och.taxi.network.TaxiTaskWithOrderServiceManager -import com.mogo.och.taxi.ui.debug.DebugView import com.mogo.och.taxi.utils.RxJavaUtils import com.mogo.och.taxi.utils.TaxiAnalyticsManager import com.mogo.och.taxi.utils.TaxiTrajectoryManager @@ -326,7 +326,6 @@ object TaxiTaskModel { override fun onAutopilotSNRequest() {} override fun onAutopilotArriveAtStation(arrivalNotification: ArrivalNotification?) { i(TAG, "onAutopilotArriveAtStation = ${arrivalNotification.toString()}") - DebugView.printInfoMsg("[MAP到站通知] 上报到站,location=${arrivalNotification?.endLocation}") if (arrivalNotification == null || !checkCurrentTaskCondition() || mCurrentTaskWithOrder?.currentStatus == TaskStatusEnum.CompleteTask.code ) { @@ -389,7 +388,6 @@ object TaxiTaskModel { d( TAG, "getWayPointsList.Size = ${globalPathResp.wayPointsList.size}" ) - DebugView.printInfoMsg("[MAP全局规划回调] 回调,getWayPointsList.Size=${globalPathResp.wayPointsList.size}") if (it.size > 0) { // 本地计算全路径长度(实时更新剩余距离,剩余时间,预计到达时间) if (checkCurrentTaskCondition()) { @@ -419,7 +417,6 @@ object TaxiTaskModel { startFailedCode: String, startFailedMessage: String ) { - DebugView.printInfoMsg("[启自驾回调] 执行失败,code=$startFailedCode, msg=$startFailedMessage") TaxiAnalyticsManager.getInstance() .triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage) if (mADASStatusCallback != null && !FunctionBuildConfig.isDemoMode) { @@ -527,8 +524,7 @@ object TaxiTaskModel { "judgeDriveToNearestStationTaskStation() ${virtualTask.siteName} distance = $distance" ) if (distance <= TaxiUnmannedConst.ARRIVE_AT_START_STATION_DISTANCE) { // 15米内到站 - DebugView.printInfoMsg("[高德定位围栏] 触发围栏,任务类型:DriveToNearestStationTask,围栏范围:${TaxiUnmannedConst.ARRIVE_AT_START_STATION_DISTANCE}米") - submitArriveSite(virtualTask.siteId, true) + submitArriveSite(virtualTask.siteId, true, isArrivedNearestStation = true) } } @@ -565,8 +561,8 @@ object TaxiTaskModel { * @siteId : 站点id * @isArriveAtEndSite: true 终点, false 起点 */ - fun submitArriveSite(siteId: Long, isArriveAtEndSite: Boolean) { - DebugView.printInfoMsg("[上报ArriveSite] siteId=$siteId, isArriveAtEndSite=$isArriveAtEndSite") + fun submitArriveSite(siteId: Long, isArriveAtEndSite: Boolean, + isArrivedNearestStation : Boolean = false) { i(TAG, message = "submitArriveSite: siteId=$siteId isArriveAtEndSite=$isArriveAtEndSite") TaxiTaskWithOrderServiceManager.arriveSite( mContext, @@ -574,9 +570,12 @@ object TaxiTaskModel { object : OchCommonServiceCallback { override fun onSuccess(data: BaseData?) { if (data == null || data.code != 0) return - DebugView.printInfoMsg("[上报ArriveSite] success siteId=$siteId, isArriveAtEndSite=$isArriveAtEndSite") d(TAG, "submitArriveSite-onSuccess data=" + GsonUtil.jsonFromObject(data)) mDriveToNearestStationTask = null + if (isArrivedNearestStation){// 播报提醒 + VoiceNotice.showNotice("已到达出车点") + } + if (isArriveAtEndSite) { updateLocalCalculateStation() //到站后不再调用取消自驾. 原因是取消自驾,D档位会溜车 @@ -585,7 +584,6 @@ object TaxiTaskModel { } override fun onFail(code: Int, msg: String?) { - DebugView.printErrorMsg("[上报ArriveSite] failed, code=$code, msg=$msg") d(TAG, "code=$code msg=$msg") } }) @@ -641,11 +639,10 @@ object TaxiTaskModel { AbsMogoApplication.getApp().applicationContext, object : OchCommonServiceCallback { override fun onSuccess(data: QueryCurrentTaskRespBean?) { - //DebugView.printInfoMsg("[查询TaskWithOrder信息] success") if (data?.data == null) { d( TAG, - "queryCurrentTaskOnce onSuccess: data == null || data.data == null" + "queryCurrentTaskOnce onSuccess: data.code != 0 || data === null || data.data === null" ) return } @@ -699,8 +696,7 @@ object TaxiTaskModel { // 主要是解决A-B演练任务同时接到A-B订单状态流转的问题 //注意: 需要去除到达乘客上车点的节点, 这个节点不拉取任务 if (result?.currentStatus == TaskStatusEnum.CompleteTask.code - && !QueryCurrentTaskRespBean.isOrderArriveAtStart(result) - ) { + && !QueryCurrentTaskRespBean.isOrderArriveAtStart(result)) { mTaxiTaskWithOrderCallbackMap.forEach { val listener = it.value listener.onTaskCompleted( @@ -758,7 +754,6 @@ object TaxiTaskModel { override fun onFail(code: Int, msg: String?) { d(TAG, "queryCurrentTaskOnce onFail: code=$code, msg=$msg") - DebugView.printErrorMsg("[查询TaskWithOrder信息] fail, code=$code, msg=$msg") } }) } @@ -766,18 +761,15 @@ object TaxiTaskModel { /** * 取消订单 进行中/待服务 */ - fun cancelOrder(orderNo: String, cancelType: Int) { - DebugView.printInfoMsg("[取消订单] 准备发送请求") + fun cancelOrder(orderNo: String,cancelType: Int){ TaxiTaskWithOrderServiceManager.cancelOrder(AbsMogoApplication.getApp().applicationContext, orderNo, cancelType, object : OchCommonServiceCallback { override fun onSuccess(data: BaseData?) { - DebugView.printInfoMsg("[取消订单] 请求success") d(TAG, "handleCancelOrder() = onSuccess") } override fun onFail(code: Int, msg: String?) { - DebugView.printErrorMsg("[取消订单] 请求fail, code=$code, msg=$msg") d(TAG, "handleCancelOrder() $code $msg") } }) @@ -850,26 +842,22 @@ object TaxiTaskModel { } fun startTask(lineId: Long) { - DebugView.printInfoMsg("[开始任务] 准备发送请求") TaxiTaskWithOrderServiceManager.startTask( mContext, lineId, object : OchCommonServiceCallback { override fun onSuccess(data: BaseData?) { - DebugView.printInfoMsg("[开始任务] 请求success") startAutoPilot() //自驾开启 d(TAG, "startTask onSuccess: data=${GsonUtil.jsonFromObject(data)}") } override fun onFail(code: Int, msg: String?) { - DebugView.printErrorMsg("[开始任务] 请求fail, code=$code, msg=$msg") d(TAG, "startTask onFail: code=$code, msg=$msg") } }) } fun prepareNextTask(siteId: Long) { - DebugView.printInfoMsg("[PrepareNextTask] 准备发送请求") TaxiTaskWithOrderServiceManager.prepareTask( mContext, siteId, @@ -880,7 +868,6 @@ object TaxiTaskModel { "prepareNextTask onSuccess:${GsonUtil.jsonFromObject(data)}, " + "isCarServingStatus = ${TaxiCarServingStatusManager.isCarServingStatus()}" ) - DebugView.printInfoMsg("[PrepareNextTask] 请求success") if (data?.data == null) return //去下载轨迹, 下发给工控机下载 // queryTaskTrajectoryByLineIds( @@ -890,7 +877,6 @@ object TaxiTaskModel { } override fun onFail(code: Int, msg: String?) { - DebugView.printErrorMsg("[PrepareNextTask] 请求fail, code=$code ,msg=$msg") d(TAG, "prepareNextTask onFail: code=$code ,msg=$msg") if (LoginStatusManager.isLogin() && TaxiCarServingStatusManager.isCarServingStatus()) { startPrepareTaskDelay120S(siteId) @@ -900,7 +886,6 @@ object TaxiTaskModel { } fun startPrepareTaskDelay120S(siteId: Long) { - DebugView.printInfoMsg("[PrepareNextTask] 倒计时${TaxiUnmannedConst.TIMER_PREPARE_TASK_INTERVAL_120S/1000}秒后prepareNextTask") UiThreadHandler.postDelayed({ prepareNextTask(siteId) }, TaxiUnmannedConst.TIMER_PREPARE_TASK_INTERVAL_120S) @@ -910,7 +895,6 @@ object TaxiTaskModel { * 查询当前任务的轨迹 */ fun queryTaskTrajectoryByLineIds(planningLineIds: Array, currentTaskLineId: Long) { - DebugView.printInfoMsg("[查询轨迹信息] 准备发送请求") TaxiTaskWithOrderServiceManager.queryTrajectoryByLindIds( mContext, planningLineIds, @@ -920,7 +904,6 @@ object TaxiTaskModel { TAG, "queryTaskTrajectoryByLineIds onSuccess: ${GsonUtil.jsonFromObject(data?.data)}" ) - DebugView.printInfoMsg("[查询轨迹信息] 请求success") data?.data?.also { mTaskTrajectoryList.addAll(it) mCurrentTaskTrajectory = it.first { currentTaskLineId == it.lineId } @@ -932,7 +915,6 @@ object TaxiTaskModel { } override fun onFail(code: Int, msg: String?) { - DebugView.printErrorMsg("[查询轨迹信息] 请求fail, code=$code, msg=$msg") d(TAG, "queryTaskTrajectoryByLineIds onFail: code=$code, msg=$msg") } }) @@ -944,12 +926,10 @@ object TaxiTaskModel { return } if (TaxiCarServingStatusManager.isCarServingStatus()) {//接单状态下,去结束 - DebugView.printInfoMsg("[暂停接单] 准备发送请求") TaxiTaskWithOrderServiceManager.endService( mContext, object : OchCommonServiceCallback { override fun onSuccess(data: BaseData?) { - DebugView.printInfoMsg("[暂停接单] 请求success") loginService?.queryLoginStatusByNet() //需要将虚拟任务停掉, 虚拟任务会再开始接单后获取新的 mDriveToNearestStationTask = null @@ -961,24 +941,20 @@ object TaxiTaskModel { override fun onError() { mTaxiCarServiceCallback?.onCarEndServiceError() - DebugView.printErrorMsg("[暂停接单] 请求error") } override fun onFail(code: Int, msg: String) { - DebugView.printErrorMsg("[暂停接单] 请求fail, code=$code, msg=$msg") mTaxiCarServiceCallback?.onCarEndServiceFailed(code, msg) } }) } else { //暂停接单状态下,去接单 - DebugView.printInfoMsg("[开始接单] 准备发送请求") TaxiTaskWithOrderServiceManager.startService(mContext, CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02().latitude, CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02().longitude, object : OchCommonServiceCallback { override fun onSuccess(data: StartServiceRespBean?) { if (data == null) return - DebugView.printInfoMsg("[开始接单] 请求success") d(TAG, "data.data=" + GsonUtil.jsonFromObject(data.data)) loginService?.queryLoginStatusByNet() mDriveToNearestStationTask = data.data @@ -989,12 +965,10 @@ object TaxiTaskModel { } override fun onFail(code: Int, msg: String) { - DebugView.printErrorMsg("[开始接单] 请求fail, code=$code, msg=$msg") mTaxiCarServiceCallback?.onCarStartServiceFailed(code, msg) } override fun onError() { - DebugView.printErrorMsg("[开始接单] 请求error") mTaxiCarServiceCallback?.onCarStartServiceError() } }) @@ -1013,14 +987,12 @@ object TaxiTaskModel { fun startAutoPilot() { if (!checkCurrentTaskCondition()) { e(TAG, "no order or order is empty.") - DebugView.printErrorMsg("[启自驾] 当前订单不存在或异常!") ToastUtils.showShort("当前订单不存在或异常!") return } if (mCurrentTaskTrajectory == null) { e(TAG, "no order or order is empty.") - DebugView.printErrorMsg("[启自驾] 轨迹信息不存在!") ToastUtils.showShort("轨迹信息不存在!") } @@ -1031,7 +1003,6 @@ object TaxiTaskModel { && TextUtils.isEmpty(mCurrentTaskTrajectory!!.csvFileUrlDPQP) ) { ToastUtils.showLong("无发布轨迹, 请发布后重试") - DebugView.printErrorMsg("[启自驾] 无发布轨迹, 请发布后重试") e( TAG, "isPassStartAutopilotCommand = " + FunctionBuildConfig.isPassStartAutopilotCommand @@ -1049,7 +1020,6 @@ object TaxiTaskModel { OCHAdasAbilityManager.getInstance().autopilotUnAbilityReason + ", 请稍候重试" ) - DebugView.printErrorMsg("[启自驾] ${OCHAdasAbilityManager.getInstance().autopilotUnAbilityReason}") TaxiAnalyticsManager.getInstance().triggerUnableStartAPReasonEvent( mCurrentTaskWithOrder!!.startSite!!.siteName, mCurrentTaskWithOrder!!.endSite!!.siteName, @@ -1068,7 +1038,6 @@ object TaxiTaskModel { return } CallerAutoPilotControlManager.startAutoPilot(parameters) - DebugView.printInfoMsg("[启自驾] 调用成功") d( TAG, "start autopilot with parameter: %s", GsonUtil.jsonFromObject(parameters) @@ -1136,7 +1105,6 @@ object TaxiTaskModel { fun cancelAutopilot() { try { CallerAutoPilotControlManager.cancelAutoPilot() - DebugView.printInfoMsg("[取消自驾] 调用成功") d(TAG, "结束自动驾驶") } catch (e: Exception) { e.printStackTrace() @@ -1179,25 +1147,11 @@ object TaxiTaskModel { //3、刚过站且过站距离在15m内, 提交到站 if (stationAngle > 90) { i(TAG, "judgeEndStation() = 刚过站且在15m内") - DebugView.printInfoMsg( - "[高德定位围栏] 触发围栏,任务类型:${ - TaskTypeEnum.valueOf( - mCurrentTaskWithOrder?.taskType ?: 0 - )?.name - },围栏范围:${TaxiUnmannedConst.ARRIVE_AT_START_STATION_DISTANCE}米 刚过站且在15m内" - ) submitArriveSite(endSite.siteId, true) - } else { + }else{ // 4、 没有过站距离小于15m 速度小于0.5(根据M1来的模数 可能要调) if (currentLocation.gnssSpeed < 0.5) { i(TAG, "judgeEndStation() = 没有过站、速度基本为零且在15m内") - DebugView.printInfoMsg( - "[高德定位围栏] 触发围栏,任务类型:${ - TaskTypeEnum.valueOf( - mCurrentTaskWithOrder?.taskType ?: 0 - )?.name - },围栏范围:${TaxiUnmannedConst.ARRIVE_AT_START_STATION_DISTANCE}米 没有过站、速度基本为零且在15m内" - ) submitArriveSite(endSite.siteId, true) } } @@ -1261,7 +1215,6 @@ object TaxiTaskModel { ) mCurrentTaskWithOrder = null mDriveToNearestStationTask = null - DebugView.printInfoMsg("[登出] 退出登陆") } //导航去订单终点目的地 @@ -1335,13 +1288,11 @@ object TaxiTaskModel { return } d(TAG, "AutopilotControlParameters is update.") - DebugView.printInfoMsg("[启自驾] updateAutopilotControlParameters调用成功") updateAutopilotControlParameters(parameters) } private fun clearAutopilotControlParameters() { d(TAG, "AutopilotControlParameters is clear.") - DebugView.printInfoMsg("[启自驾] clearAutopilotControlParameters调用成功") updateAutopilotControlParameters(null) } @@ -1358,6 +1309,7 @@ object TaxiTaskModel { ToastUtils.showShort("无任务!") return } +// arriveSite(mCurrentTaskAndOrder?.endSite!!.siteId, true) autopilotArriveAtStation() }