Merge remote-tracking branch 'origin/dev_robotaxi-d_230809_6.0.0' into dev_robotaxi-d_230809_6.0.0

This commit is contained in:
wangmingjun
2023-08-30 12:22:28 +08:00
4 changed files with 55 additions and 11 deletions

View File

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

View File

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

View File

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

View File

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