[6.1.2优化] 偶现无法到站问题处理
This commit is contained in:
@@ -118,7 +118,9 @@ object TaxiTaskModel {
|
||||
|
||||
private var mPrepareTaskDelayRunnable: Runnable? = null
|
||||
|
||||
private var mIsArrivedSiteStartTag = false //到站接口请求标志位,防止围栏触发多次调用到站接口, true 接口请求, false : 接口请求完成
|
||||
private var mLastArrivedSiteId = -1L //上一次成功提交到站的siteId
|
||||
|
||||
private var mIsSubmitArrivedSiteRequesting = false //到站接口请求标志位, true 接口请求中, false : 当前接口没有请求
|
||||
|
||||
private var isPrepareingNextTask = false // 拉取任务接口标志位
|
||||
|
||||
@@ -576,14 +578,22 @@ object TaxiTaskModel {
|
||||
siteId: Long, isArriveAtEndSite: Boolean,
|
||||
isArrivedNearestStation: Boolean = false
|
||||
) {
|
||||
if (mIsArrivedSiteStartTag) {
|
||||
DebugView.printInfoMsg("[上报ArriveSite] arriveSite接口正在调用中, 跳过本次请求" +
|
||||
if (mLastArrivedSiteId == siteId) {
|
||||
DebugView.printWarnMsg("[上报ArriveSite] 此站点已成功上报到站, 跳过本次请求, isArrivedNearestStation=$isArrivedNearestStation" +
|
||||
", siteId=$siteId, isArriveAtEndSite=$isArriveAtEndSite")
|
||||
i(TAG, message = "arriveSite接口正在调用中, 跳过本次请求 mIsArrivedSite = $mIsArrivedSiteStartTag" +
|
||||
i(TAG, message = "此站点已成功上报到站, 跳过本次请求 isArrivedNearestStation=$isArrivedNearestStation" +
|
||||
", siteId=$siteId, isArriveAtEndSite=$isArriveAtEndSite")
|
||||
return
|
||||
}
|
||||
mIsArrivedSiteStartTag = true
|
||||
|
||||
if (mIsSubmitArrivedSiteRequesting) {
|
||||
DebugView.printWarnMsg("[上报ArriveSite] arriveSite接口正在调用中, 跳过本次请求" +
|
||||
", siteId=$siteId, isArriveAtEndSite=$isArriveAtEndSite")
|
||||
i(TAG, message = "arriveSite接口正在调用中, 跳过本次请求 isArrivedNearestStation = $isArrivedNearestStation" +
|
||||
", siteId=$siteId, isArriveAtEndSite=$isArriveAtEndSite")
|
||||
return
|
||||
}
|
||||
mIsSubmitArrivedSiteRequesting = true
|
||||
DebugView.printInfoMsg("[上报ArriveSite] siteId=$siteId, isArriveAtEndSite=$isArriveAtEndSite")
|
||||
i(TAG, message = "submitArriveSite: siteId=$siteId isArriveAtEndSite=$isArriveAtEndSite")
|
||||
TaxiTaskWithOrderServiceManager.arriveSite(
|
||||
@@ -591,10 +601,6 @@ object TaxiTaskModel {
|
||||
siteId,
|
||||
object : OchCommonServiceCallback<BaseData> {
|
||||
override fun onSuccess(data: BaseData?) {
|
||||
if (data == null || data.code != 0) {
|
||||
mIsArrivedSiteStartTag = false
|
||||
return
|
||||
}
|
||||
DebugView.printInfoMsg("[上报ArriveSite] success siteId=$siteId, isArriveAtEndSite=$isArriveAtEndSite")
|
||||
d(TAG, "submitArriveSite-onSuccess data=" + GsonUtil.jsonFromObject(data))
|
||||
mDriveToNearestStationTask = null
|
||||
@@ -606,11 +612,13 @@ object TaxiTaskModel {
|
||||
//取消自驾,D档位会溜车 map3.6.0 修改
|
||||
cancelAutopilot()
|
||||
}
|
||||
mLastArrivedSiteId = siteId
|
||||
mIsSubmitArrivedSiteRequesting = false
|
||||
}
|
||||
|
||||
override fun onError() {
|
||||
super.onError()
|
||||
mIsArrivedSiteStartTag = false
|
||||
mIsSubmitArrivedSiteRequesting = false
|
||||
if (!NetworkUtils.isConnected(mContext)) { // 网络异常,接口重试
|
||||
ToastUtils.showShort("网络出现异常,请稍后重试")
|
||||
DebugView.printErrorMsg("[上报ArriveSite] 网络出现异常,请稍后重试")
|
||||
@@ -621,7 +629,7 @@ object TaxiTaskModel {
|
||||
}
|
||||
|
||||
override fun onFail(code: Int, msg: String?) {
|
||||
mIsArrivedSiteStartTag = false
|
||||
mIsSubmitArrivedSiteRequesting = false
|
||||
DebugView.printErrorMsg("[上报ArriveSite] failed, code=$code, msg=$msg")
|
||||
d(TAG, "code=$code msg=$msg")
|
||||
ToastUtils.showShort("到站接口请求出现异常,请稍后重试,code=$code msg=$msg")
|
||||
@@ -736,6 +744,7 @@ object TaxiTaskModel {
|
||||
|
||||
//开始任务处理
|
||||
if (QueryCurrentTaskRespBean.isTaskStartTaskType(result)){
|
||||
mLastArrivedSiteId = -1L // 司机或者乘客屏startTask后需要重置标志位
|
||||
mTaxiTaskWithOrderCallbackMap.forEach {
|
||||
val listener = it.value
|
||||
listener.onTaskStarted(result)
|
||||
@@ -747,7 +756,6 @@ object TaxiTaskModel {
|
||||
// 主要是解决A-B演练任务同时接到A-B订单状态流转的问题
|
||||
//注意: 需要去除到达乘客上车点的节点, 这个节点不拉取任务
|
||||
if (QueryCurrentTaskRespBean.isTaskCompleteTaskType(result)) {
|
||||
mIsArrivedSiteStartTag = false //任务完成说明到站, 更新到站标识位, 不再到站接口请求成功更新
|
||||
mADASStatusCallback?.updateAutopilotStatus()
|
||||
mTaxiTaskWithOrderCallbackMap.forEach {
|
||||
val listener = it.value
|
||||
@@ -763,7 +771,6 @@ object TaxiTaskModel {
|
||||
setStationPoint(null, null, -1L)
|
||||
AmapNaviToDestinationModel.getInstance(mContext).destroyAmaNavi()
|
||||
|
||||
mIsArrivedSiteStartTag = false
|
||||
mTaxiTaskWithOrderCallbackMap.forEach {
|
||||
val listener = it.value
|
||||
listener.onOrderArriveAtEnd(result.order!!.orderNo)
|
||||
@@ -886,6 +893,7 @@ object TaxiTaskModel {
|
||||
|
||||
fun startTask(lineId: Long, isStartAutopilot: Boolean) {
|
||||
DebugView.printInfoMsg("[开始任务] 准备发送请求,lindId=$lineId")
|
||||
mLastArrivedSiteId = -1L
|
||||
TaxiTaskWithOrderServiceManager.startTask(
|
||||
mContext,
|
||||
lineId,
|
||||
@@ -1100,6 +1108,7 @@ object TaxiTaskModel {
|
||||
}
|
||||
}
|
||||
mDriveToNearestStationTask = data.data
|
||||
mLastArrivedSiteId = -1L //开始标定站点任务时, 到达站点标志位需复位
|
||||
mTaxiCarServiceCallback?.onCarStartServiceSuccess(
|
||||
mDriveToNearestStationTask,
|
||||
mCurrentTaskWithOrder
|
||||
@@ -1367,7 +1376,9 @@ object TaxiTaskModel {
|
||||
*/
|
||||
fun clearCurrentOCHOrder() {
|
||||
clearAutopilotControlParameters()
|
||||
mIsArrivedSiteStartTag = false
|
||||
mLastArrivedSiteId = -1L
|
||||
mIsSubmitArrivedSiteRequesting = false
|
||||
isPrepareingNextTask = false
|
||||
isRestartAutopilot = false
|
||||
setBeautificationMode(false)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user