[6.1.0] 任务完成逻辑整理

This commit is contained in:
wangmingjun
2023-10-17 14:48:36 +08:00
parent f71f73a44d
commit 2418847fe2
2 changed files with 28 additions and 9 deletions

View File

@@ -282,15 +282,34 @@ class TaxiCurrentTaskViewModel : BaseViewModel<UnmannedState, TaskUiIntent>(),
}
}
if (QueryCurrentTaskRespBean.isUserArriveAtStart(result)) {
TaxiTaskModel.removePrepareTaskDelay()
TaxiTaskModel.prepareNextTask(0,result?.endSite!!.siteId)
}else if (!QueryCurrentTaskRespBean.isOrderArriveAtStart(result)
|| !QueryCurrentTaskRespBean.isOrderArriveAtEnd(result)){
/**
* 如果当前任务是演练任务/到达上车点的情况, 则120s去拉取下一个任务
* 如果当前任务是接驾任务, 且订单没有到乘客已上车状态, 则10s去拉取下一个任务
* 如果当前任务是接驾任务,且订单到达乘客已上车状态, 则立马拉取下一个任务
* 如果当前任务是送驾任务, 且订单已经到站状态, 则不拉取任务, 等司机点击服务完成后再拉取任务
*/
// if (QueryCurrentTaskRespBean.isUserArriveAtStart(result)) {
// TaxiTaskModel.removePrepareTaskDelay()
// TaxiTaskModel.prepareNextTask(0,result?.endSite!!.siteId)
// }else if (!QueryCurrentTaskRespBean.isOrderArriveAtStart(result)
// || !QueryCurrentTaskRespBean.isOrderArriveAtEnd(result)){
// TaxiTaskModel.startPrepareTaskDelay(
// if (TaskTypeEnum.isToOrderStartTask(result))
// TaxiUnmannedConst.START_AUTOPILOT_COUNTDOWN_INTERVAL
// else TaxiUnmannedConst.TIMER_PREPARE_TASK_INTERVAL_120S,
// result?.endSite!!.siteId)
// }
if (result?.taskType == TaskTypeEnum.ToOrderStartTask.code){
TaxiTaskModel.startPrepareTaskDelay(
if (TaskTypeEnum.isToOrderStartTask(result))
TaxiUnmannedConst.START_AUTOPILOT_COUNTDOWN_INTERVAL
else TaxiUnmannedConst.TIMER_PREPARE_TASK_INTERVAL_120S,
if (QueryCurrentTaskRespBean.isOrderArriveAtStart(result))
0
else TaxiUnmannedConst.START_AUTOPILOT_COUNTDOWN_INTERVAL,
result?.endSite!!.siteId)
}else if (result?.taskType != TaskTypeEnum.ToOrderEndTask.code){
TaxiTaskModel.startPrepareTaskDelay(
TaxiUnmannedConst.TIMER_PREPARE_TASK_INTERVAL_120S,
result?.endSite!!.siteId)
}

View File

@@ -744,7 +744,7 @@ object TaxiTaskModel {
queryTaskTrajectoryByLineIds(linesIds.toTypedArray(), result.lineId)
//自动去启动自驾, 拿到任务并且任务类型是演练和接驾任务
if (result.currentStatus == TaskStatusEnum.GetTask.code &&
if (QueryCurrentTaskRespBean.isGetTaskType(result) &&
result.taskType <= TaskTypeEnum.ToOrderStartTask.code
) {
if (result.order == null || result.order!!.orderStatus < TaxiOrderStatusEnum.ArriveAtStart.code) {