diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt index 16af968b61..de8e63a465 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.kt @@ -15,6 +15,7 @@ import com.mogo.eagle.core.function.call.order.CallerOrderListenerManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI_P +import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.common.module.biz.network.OchCommonServiceCallback @@ -155,13 +156,18 @@ object TaxiPassengerModel { override fun onSuccess(data: TaxiPassengerOrdersInServiceQueryRespBean) { if (data.data == null) { if (currentOCHOrder != null) { + d(M_TAXI_P + TAG, "queryInAndWaitOrders queryCurrentOrderStatus()") queryCurrentOrderStatus() } return } + d(M_TAXI_P + TAG, "queryInAndWaitOrders data.data=${GsonUtils.toJson(data.data)}") //目前后端将一个订单拆分成了多个任务,乘客屏只关心 送驾 类型的任务,这里过滤其他任务避免干扰 if (data.data.taskType != TaskType_DRIVE_TO_END) { d(M_TAXI_P + TAG, "queryInAndWaitOrders data.taskType=${data.data.taskType}, discard data") + // 如果上一个是 接驾或送驾任务 下一个是演练任务,需要reset页面状态 + currentOCHOrder = null + orderStatusChange() return } //1. 处理进行中订单 @@ -186,11 +192,11 @@ object TaxiPassengerModel { } override fun onError() { - e(M_TAXI_P + TAG, "queryInAndWaitOrders onError") + e(M_TAXI_P + TAG, "queryInAndWaitOrders: onError") } override fun onFail(code: Int, msg: String) { - e(M_TAXI_P + TAG, "queryInAndWaitOrders$code$msg") + e(M_TAXI_P + TAG, "queryInAndWaitOrders: code=$code, msg=$msg") } }) } @@ -199,12 +205,14 @@ object TaxiPassengerModel { * 仅用于轮询时查到本地有mCurrentOCHOrder但请求结果无进行中单or orderId不一致是复查本地currentOrder */ private fun queryCurrentOrderStatus() { + d(M_TAXI_P + TAG, "queryCurrentOrderStatus: currentOCHOrder.orderNo=${currentOCHOrder?.orderNo}") currentOCHOrder?.orderNo?.let { TaxiPassengerServiceManager.queryOrderById( mContext!!, it, object : OchCommonServiceCallback { override fun onSuccess(data: TaxiPassengerOrderQueryRespBean) { + d(M_TAXI_P + TAG, "queryCurrentOrderStatus: onSuccess data=${GsonUtils.toJson(data)}") if (data.data != null && currentOCHOrder != null && currentOCHOrder!!.orderNo == data.data.orderNo @@ -326,7 +334,7 @@ object TaxiPassengerModel { fun orderStatusChange() { orderStatusChangeInner() if (mOrderStatusCallbackMap.isNotEmpty()) { - d(M_TAXI_P + TAG, "最新的状态${curOrderStatus}") + d(M_TAXI_P + TAG, "最新的状态-->${curOrderStatus}") for (callback in mOrderStatusCallbackMap.values) { callback.onCurrentOrderStatusChanged(currentOCHOrder) } diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt index c2b640385f..9f58353d33 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.kt @@ -73,6 +73,7 @@ object TaxiPassengerServiceManager { if (ordersInServiceQueryResp.data == null || ordersInServiceQueryResp.data.lineId == -1L ) { + ordersInServiceQueryResp.data.trajectoryInfoByQuery = null return@flatMap Observable.just(ordersInServiceQueryResp) } val lineId = ordersInServiceQueryResp.data.lineId diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt index 75c700f443..8afb17216f 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.kt @@ -109,6 +109,13 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) : mView?.showOrHideArrivedEndLayout(isShow = false) overMapViewClear() } + TaxiPassengerOrderStatusEnum.None -> { + // 00 默认状态,在不同任务之间切换时使用 + mView?.showOrHideStartAutopilotView(isShow = false) + mView?.showOrHidePressengerCheckPager(isShow = false) + mView?.showOrHideArrivedEndLayout(isShow = false) + overMapViewClear() + } else -> {} } }