diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java index a3d85fbfd8..0c8b505082 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHAdasAbilityManager.java @@ -54,7 +54,20 @@ public class OCHAdasAbilityManager implements IMoGoAutopilotActionsListener, IMo } public String getAutopilotUnAbilityReason(){ - return unableAutopilotReasons == null ? "" : unableAutopilotReasons.toString();//TODO 临时toString 需要拼接数据 + try { + if(unableAutopilotReasons==null||unableAutopilotReasons.isEmpty()){ + return "未知异常"; + }else { + StringBuilder stringBuilder = new StringBuilder(); + for (UnableAutopilotReason unableAutopilotReason : unableAutopilotReasons) { + stringBuilder.append(unableAutopilotReason.toString()).append("\n"); + } + return stringBuilder.toString(); + } + }catch (Exception e){ + e.printStackTrace(); + return "未知异常"; + } } public String getStartFailedCode() { 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 5ececda8c5..327a135867 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 @@ -16,6 +16,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02Lis import com.mogo.eagle.core.function.main.MainMoGoApplication import com.mogo.eagle.core.network.utils.GsonUtil 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.CallerLogger.i import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_TAXI import com.mogo.eagle.core.utilcode.util.ClickUtils @@ -231,7 +232,11 @@ class TaxiCurrentTaskFragment : BaseFragment(), } fun onCarTakeOrderStatusChanged() { - mViewModel.sendUiIntent(TaskUiIntent.StartOrEndTakeOrder) + if (this::mViewModel.isInitialized) { + mViewModel.sendUiIntent(TaskUiIntent.StartOrEndTakeOrder) + } else { + e(TAG, "onCarTakeOrderStatusChanged: mViewModel is not Initialized") + } } /** @@ -419,7 +424,10 @@ class TaxiCurrentTaskFragment : BaseFragment(), MainMoGoApplication.getApp().applicationContext, R.drawable.task_order_type_btn_bg ) - orderPhoneAndNum.text = TaskUtils.getCurrentTaskPhoneNumAndPassengerCountHtml(order.bookingUserPhone, order.passengerSize) + orderPhoneAndNum.text = TaskUtils.getCurrentTaskPhoneNumAndPassengerCountHtml( + order.bookingUserPhone, + order.passengerSize + ) startStationName.text = order.orderStartSite?.siteName endStationName.text = order.orderEndSite?.siteName 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 161ac6e44e..6e5a910e77 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 @@ -156,12 +156,19 @@ object TaxiPassengerModel { TaxiPassengerServiceManager.queryOrdersInAndWaitService( object : OchCommonServiceCallback { override fun onSuccess(data: TaxiPassengerOrdersInServiceQueryRespBean) { - d(M_TAXI_P + TAG, "queryInAndWaitOrders data.data=${GsonUtils.toJson(data.data)}") + d( + M_TAXI_P + TAG, + "queryInAndWaitOrders data.data=${GsonUtils.toJson(data.data)}" + ) //目前后端将一个订单拆分成了多个任务,乘客屏只关心 送驾 类型的任务 //20230829 后端修改了逻辑,在乘客屏startTask后taskType才会变成3 if (data.data.taskType == TaskType_NONE || - data.data.taskType == TaskType_VIRTUAL) { - d(M_TAXI_P + TAG, "queryInAndWaitOrders data.taskType=${data.data.taskType}, discard data") + data.data.taskType == TaskType_VIRTUAL + ) { + d( + M_TAXI_P + TAG, + "queryInAndWaitOrders data.taskType=${data.data.taskType}, discard data" + ) // 如果上一个是 接驾或送驾任务 下一个是演练任务,需要reset页面状态 currentOCHOrder = null orderStatusChange() @@ -180,11 +187,19 @@ object TaxiPassengerModel { val currentOrder = data.data.order currentLineId = data.data.lineId currentTrajectoryInfo = data.data.trajectoryInfoByQuery - if (currentOCHOrder == null - || currentOCHOrder?.orderStatus != currentOrder.orderStatus - ) { + if (currentOCHOrder == null) { currentOCHOrder = currentOrder orderStatusChange() + } else if (currentOCHOrder?.orderStatus != currentOrder.orderStatus) { + if (currentOCHOrder?.orderStatus == TaxiPassengerOrderStatusEnum.UserArriveAtStart.code + && currentOrder.orderStatus < TaxiPassengerOrderStatusEnum.UserArriveAtStart.code + ) { + // 0830 UserArriveAtStart 状态是乘客屏本地在用户验证后本地设置,而且因为后端查询数据有延迟 + // 这里过下过滤,如果当前是UserArriveAtStart 且后端返回是之前状态,不更新数据 + } else { + currentOCHOrder = currentOrder + orderStatusChange() + } } else { currentOCHOrder = currentOrder } @@ -209,14 +224,20 @@ object TaxiPassengerModel { * 仅用于轮询时查到本地有mCurrentOCHOrder但请求结果无进行中单or orderId不一致是复查本地currentOrder */ private fun queryCurrentOrderStatus() { - d(M_TAXI_P + TAG, "queryCurrentOrderStatus: currentOCHOrder.orderNo=${currentOCHOrder?.orderNo}") + 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)}") + d( + M_TAXI_P + TAG, + "queryCurrentOrderStatus: onSuccess data=${GsonUtils.toJson(data)}" + ) if (data.data != null && currentOCHOrder != null && currentOCHOrder!!.orderNo == data.data.orderNo 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 8afb17216f..88c3ad387a 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 @@ -71,6 +71,7 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) : mView?.showOrHideArrivedEndLayout(isShow = false) mView?.showOrHidePressengerCheckPager(true) mView?.showOrHideStartAutopilotView(isShow = false) + overMapViewClear() } TaxiPassengerOrderStatusEnum.UserArriveAtStart -> { @@ -78,6 +79,7 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) : mView?.showOrHideArrivedEndLayout(isShow = false) mView?.showOrHidePressengerCheckPager(isShow = false) mView?.showOrHideStartAutopilotView(isShow = true) + overMapViewClear() } TaxiPassengerOrderStatusEnum.OnTheWayToEnd -> {