From 6d5661f91731c33ebfcaa983d1e978e04387c5c4 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 30 Aug 2023 11:40:00 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[6.0.0]=20[autopilo]=20[=E5=90=90=E5=8F=B8?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8D=A2=E8=A1=8C=E5=A4=84=E7=90=86]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/manager/OCHAdasAbilityManager.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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() { From 024838abb6630b6b1a5293903b95144a7b920377 Mon Sep 17 00:00:00 2001 From: aibingbing Date: Wed, 30 Aug 2023 12:09:37 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[Taxi=E6=97=A0=E4=BA=BA=E5=8C=96]=20fix:=20?= =?UTF-8?q?=E5=8E=8B=E6=B5=8B=20ViewModel=E6=9C=AA=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E9=97=AE=E9=A2=98=EF=BC=9B=20fix:=20=E4=B9=98?= =?UTF-8?q?=E5=AE=A2=E5=B1=8F=20=E5=88=B0=E8=BE=BE=E4=B8=8A=E8=BD=A6?= =?UTF-8?q?=E7=82=B9=E5=90=8E=20=E5=90=8E=E7=AB=AF=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E7=8A=B6=E6=80=81=20=E5=BB=B6=E8=BF=9F=20=EF=BC=8C=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E6=95=B0=E6=8D=AE=EF=BC=9B=20refactor:=20=E4=B9=98?= =?UTF-8?q?=E5=AE=A2=E5=B1=8F=20=E5=A2=9E=E5=8A=A0=E6=B8=85=E9=99=A4=20?= =?UTF-8?q?=E6=A6=82=E8=A7=88=20=E4=B8=AD=E8=BD=A8=E8=BF=B9=E5=92=8CMarker?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E6=9C=BA=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../taxi/ui/task/TaxiCurrentTaskFragment.kt | 12 +++++- .../passenger/model/TaxiPassengerModel.kt | 37 +++++++++++++++---- .../presenter/BaseTaxiPassengerPresenter.kt | 2 + 3 files changed, 41 insertions(+), 10 deletions(-) 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 -> {