[6.2.0] 优化ViewModel
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -154,11 +154,11 @@ class TaxiCurrentTaskViewModel : BaseViewModel<UnmannedState, TaskUiIntent>(),
|
||||
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<UnmannedState, TaskUiIntent>(),
|
||||
* 若当前到站的是送驾任务, 不去拉取, 需等待司机点击服务完成按钮后拉取
|
||||
*/
|
||||
|
||||
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<UnmannedState, TaskUiIntent>(),
|
||||
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) {
|
||||
|
||||
@@ -996,7 +996,7 @@ object TaxiTaskModel {
|
||||
)
|
||||
}
|
||||
|
||||
private fun removePrepareTaskDelay() {
|
||||
fun removePrepareTaskDelay() {
|
||||
if (mPrepareTaskDelayRunnable != null) {
|
||||
DebugView.printInfoMsg("[PrepareNextTask] removeCallbacks, 取消prepareNextTask倒计时")
|
||||
UiThreadHandler.removeCallbacks(mPrepareTaskDelayRunnable)
|
||||
|
||||
Reference in New Issue
Block a user