From 07b259d6233ff0cdf5a567b7a8f7811cd2ff7121 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Mon, 30 Oct 2023 18:35:23 +0800 Subject: [PATCH] =?UTF-8?q?[6.2.0]=20=E4=BC=98=E5=8C=96ViewModel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../taxi/ui/task/TaxiCurrentTaskFragment.kt | 2 +- .../taxi/ui/task/TaxiCurrentTaskViewModel.kt | 38 ++++++++----------- .../mogo/och/taxi/ui/task/TaxiTaskModel.kt | 2 +- 3 files changed, 18 insertions(+), 24 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 f8b20eb475..c591752449 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 @@ -372,7 +372,7 @@ class TaxiCurrentTaskFragment : BaseFragment(), when (taskType) { TaskTypeEnum.None.code -> { if (order != null && (currentStatus == TaskStatusEnum.CompleteTask.code - || currentStatus == TaskStatusEnum.None.code )) { //暂停接单会清空任务 + || currentStatus == TaskStatusEnum.None.code )) { //暂停接单会清空前往上车点任务 updateOrderUI(order) } } 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 32b7c8a7ce..0a852cb70c 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 @@ -154,11 +154,11 @@ class TaxiCurrentTaskViewModel : BaseViewModel(), ToastUtils.showShort("无任务!") return } - //当前订单状态若为20 , 则使用的lineId为订单信息的 + TaxiTaskModel.getCurrentTaskWithOrder()?.let { TaxiTaskModel.startTask( if (it.order != null && it.order!!.orderStatus >= TaxiOrderStatusEnum.ArriveAtStart.code) - it.order!!.orderLine + it.order!!.orderLine //当前若是启动的送驾任务 , 则使用订单信息的lineId else it.lineId ,isStartAutopilot) @@ -292,33 +292,29 @@ class TaxiCurrentTaskViewModel : BaseViewModel(), * 若当前到站的是送驾任务, 不去拉取, 需等待司机点击服务完成按钮后拉取 */ - if (result?.order != null){ - if (QueryCurrentTaskRespBean.isOrderOnTheWayToStart(result)){ + if (result?.order != null){ //接到订单情况下 + if (QueryCurrentTaskRespBean.isOrderOnTheWayToStart(result)){ //接驾任务拉取 TaxiTaskModel.startPrepareTaskDelay(TaxiUnmannedConst.START_PREPARE_TO_START_TASK_INTERVAL, result?.endSite!!.siteId) - }else if (QueryCurrentTaskRespBean.isOrderUserArriveAtStart(result)) { + }else if (QueryCurrentTaskRespBean.isOrderUserArriveAtStart(result)) { //送驾任务拉取 TaxiTaskModel.startPrepareTaskDelay(0, result?.endSite!!.siteId) + }else{ // 在已经接到订单的其他情况下, 取消倒计时任务拉取 + TaxiTaskModel.removePrepareTaskDelay() } - }else{ - if (result?.taskType == TaskTypeEnum.None.code){ - TaxiTaskModel.startPrepareTaskDelay( - TaxiUnmannedConst.TIMER_PREPARE_VIRTUAL_TASK_INTERVAL, result?.endSite!!.siteId) - }else{ - TaxiTaskModel.startPrepareTaskDelay( - TaxiUnmannedConst.TIMER_PREPARE_VIRTUAL_TASK_INTERVAL, result?.endSite!!.siteId) - } + }else{ //演练任务拉取 + TaxiTaskModel.startPrepareTaskDelay( + TaxiUnmannedConst.TIMER_PREPARE_VIRTUAL_TASK_INTERVAL, result?.endSite!!.siteId) } clearDemoModeAndACParameters() } override fun onTaskTrajectoryDataChanged(data: TrajectoryListRespBean?) { - TaxiTrajectoryManager.getInstance().syncTrajectoryInfo() + TaxiTrajectoryManager.getInstance().syncTrajectoryInfo() //同步轨迹信息 } override fun onOrderCancel() { VoiceNotice.showNotice("已取消行程") -// updateTaskAndOrderUi(null) //取消自驾,D档位会溜车 map3.6.0 修改 TaxiTaskModel.cancelAutopilot() } @@ -389,17 +385,15 @@ class TaxiCurrentTaskViewModel : BaseViewModel(), driveToNearestStationTask: StartServiceRespBean.Result?, currentTaskWithOrder: QueryCurrentTaskRespBean.Result? ) { - if (currentTaskWithOrder?.endSite != null - && (currentTaskWithOrder.currentStatus < TaskStatusEnum.CompleteTask.code - || currentTaskWithOrder.order != null) - ) { + if (currentTaskWithOrder == null) return + if (currentTaskWithOrder.currentStatus < TaskStatusEnum.CompleteTask.code //任务未完成 + && currentTaskWithOrder.currentStatus > TaskStatusEnum.None.code // 暂停接单后查询到任务状态是0, 代表没任务 + || currentTaskWithOrder.order != null) {// 有订单未完成 VoiceNotice.showNotice("暂停接单啦!要完成当前订单哦") - return } else { VoiceNotice.showNotice("暂停接单啦") + updateDriveToNearestStationTaskUI(driveToNearestStationTask) } - - updateDriveToNearestStationTaskUI(driveToNearestStationTask) } override fun onCarEndServiceFailed(code: Int, msg: String) { 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 36f625ae8b..31d11263ae 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 @@ -996,7 +996,7 @@ object TaxiTaskModel { ) } - private fun removePrepareTaskDelay() { + fun removePrepareTaskDelay() { if (mPrepareTaskDelayRunnable != null) { DebugView.printInfoMsg("[PrepareNextTask] removeCallbacks, 取消prepareNextTask倒计时") UiThreadHandler.removeCallbacks(mPrepareTaskDelayRunnable)