[Taxi无人化] fix: 运营单 达到终点后需要立即清除轨迹,同时不能多次触发避免多次弹出页面;

fix: 空指针问题;
This commit is contained in:
aibingbing
2023-09-06 20:13:43 +08:00
committed by zhongchao
parent a3080ed5ec
commit 3a329de9f0
2 changed files with 13 additions and 2 deletions

View File

@@ -70,6 +70,9 @@ object TaxiPassengerModel {
@Volatile
var currentTrajectoryInfo: TaxiPassengerGetTrajectoryByLineIdRespBean.TrajectoryInfo? = null
// 当前任务的状态
var currentTaskStatus: Int = -1
private val mOrderStatusCallbackMap: MutableMap<String, IOCHTaxiPassengerOrderStatusCallback> =
ConcurrentHashMap()
@@ -171,6 +174,7 @@ object TaxiPassengerModel {
currentOCHOrder = null
currentLineId = null
currentTrajectoryInfo = null
currentTaskStatus = -1
orderStatusChange()
} else {
// 当前一直是演练,到终点后清除轨迹信息
@@ -219,9 +223,13 @@ object TaxiPassengerModel {
currentOCHOrder = currentOrder
// 到终点后需要清除轨迹信息
if (data.data.currentStatus == TaxiPassengerConst.TaskStatus_CompleteTask) {
orderStatusChange()
if (data.data.currentStatus != currentTaskStatus) {
currentTaskStatus = data.data.currentStatus
orderStatusChange()
}
}
}
currentTaskStatus = data.data.currentStatus
} else {
if (currentOCHOrder != null) {
queryCurrentOrderStatus()
@@ -270,6 +278,7 @@ object TaxiPassengerModel {
currentOCHOrder = null
currentLineId = null
currentTrajectoryInfo = null
currentTaskStatus = -1
} else {
currentOCHOrder = data.data
orderStatusChange()

View File

@@ -73,7 +73,9 @@ object TaxiPassengerServiceManager {
if (ordersInServiceQueryResp.data == null
|| ordersInServiceQueryResp.data.lineId == -1L
) {
ordersInServiceQueryResp.data.trajectoryInfoByQuery = null
if (ordersInServiceQueryResp.data != null) {
ordersInServiceQueryResp.data.trajectoryInfoByQuery = null
}
return@flatMap Observable.just(ordersInServiceQueryResp)
}
val lineId = ordersInServiceQueryResp.data.lineId