[6.2.0] 优化ViewModel

This commit is contained in:
wangmingjun
2023-10-30 18:35:23 +08:00
parent d9598e6340
commit 07b259d623
3 changed files with 18 additions and 24 deletions

View File

@@ -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)
}
}

View File

@@ -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) {

View File

@@ -996,7 +996,7 @@ object TaxiTaskModel {
)
}
private fun removePrepareTaskDelay() {
fun removePrepareTaskDelay() {
if (mPrepareTaskDelayRunnable != null) {
DebugView.printInfoMsg("[PrepareNextTask] removeCallbacks, 取消prepareNextTask倒计时")
UiThreadHandler.removeCallbacks(mPrepareTaskDelayRunnable)