[Taxi无人化] fix: 压测 ViewModel未初始化问题;
fix: 乘客屏 到达上车点后 后端返回状态 延迟 ,过滤数据; refactor: 乘客屏 增加清除 概览 中轨迹和Marker的时机;
This commit is contained in:
@@ -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
|
||||
@@ -232,7 +233,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")
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -420,7 +425,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
|
||||
|
||||
|
||||
@@ -156,12 +156,19 @@ object TaxiPassengerModel {
|
||||
TaxiPassengerServiceManager.queryOrdersInAndWaitService(
|
||||
object : OchCommonServiceCallback<TaxiPassengerOrdersInServiceQueryRespBean> {
|
||||
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<TaxiPassengerOrderQueryRespBean> {
|
||||
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
|
||||
|
||||
@@ -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 -> {
|
||||
|
||||
Reference in New Issue
Block a user