From 4dede8f67c7dbeb2d12b3f265f556ef426c6c290 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 23 May 2023 18:24:43 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=B7=BB=E5=8A=A0=E7=BD=91=E7=BB=9C=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E4=B8=AD=E7=8A=B6=E6=80=81]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../passenger/model/CharterPassengerModel.kt | 38 ++++++++++++++----- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt index 08e8267759..66bf9861f4 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt @@ -108,6 +108,7 @@ object CharterPassengerModel { private var broadcastList : MutableMap = HashMap() // 到站仅一次 private val endKey = "arrivedLine" + private val endKeyRequestIng = "arrivedLineRequestIng" private val ending100Key = "arrivingLine" private val min5Speak = "min5Speak" @@ -850,24 +851,37 @@ object CharterPassengerModel { fun arriveDest() { val (order, lineId, siteId) = getOrderInfo() if(order!=null&&lineId!=null&&siteId!=null){ + val requestSuccessSign = "${siteId}$endKey" + val requestIngSign = "${siteId}$endKeyRequestIng"//正在请求中 + CallerLogger.d(M_BUS_P + BaseDPMsg.TAG, + "requestSuccessSign${isSuccess(requestSuccessSign)}---requestIngSign${isSuccess(requestIngSign)}") if (order.arriveStatus == OrderInfoResponse.ARRIVING) { - if (broadcastList["${siteId}$endKey"] == null || broadcastList["${siteId}$endKey"] == false) { + if (isSuccess(requestSuccessSign)&&//true 请求还没有成功 false 请求成功 + isSuccess(requestIngSign)) {// true 还没有正在请求 false 正在请求中 val currentTimeStamp = DateTimeUtil.getCurrentTimeStamp() + broadcastList[requestIngSign] = true //正在请求中 BusPassengerServiceManager.arriveDest( mContext, lindId = lineId, writtenVersion = currentTimeStamp, object : OchCommonServiceCallback { - override fun onSuccess(data: BaseData?) { - if (null != data && 0 == data.code) { - arrivedDeskSuccess(currentTimeStamp,true) + override fun onSuccess(data: BaseData?) { + if (null != data && 0 == data.code) { + arrivedDeskSuccess(currentTimeStamp,true) + broadcastList[requestIngSign] = false + } } - } - override fun onFail(code: Int, msg: String) { - ToastUtils.showShort("$code:$msg") - } - }) + override fun onFail(code: Int, msg: String) { + ToastUtils.showShort("$code:$msg") + broadcastList[requestIngSign] = false + } + + override fun onError() { + super.onError() + broadcastList[requestIngSign] = false + } + }) } } } @@ -884,6 +898,7 @@ object CharterPassengerModel { order.siteNameKr ?: "", VoiceFocusManager.getVoiceCmdCallBack() ) + // 请求成功了 broadcastList["${siteId}$endKey"] = true // 给司机端 if (needSendDriver) { @@ -937,7 +952,7 @@ object CharterPassengerModel { orderInfo?.let { order -> order.siteId?.let { siteId -> if (order.arriveStatus == OrderInfoResponse.ARRIVING) { - if (broadcastList["${siteId}$ending100Key"] == null || broadcastList["${siteId}$ending100Key"] == false) { + if (isSuccess("${siteId}$ending100Key")) { val string = mContext.getString(R.string.arrived_station_left_100,order.siteName) VoiceNotice.showNotice(string) broadcastList["${siteId}$ending100Key"] = true @@ -947,6 +962,9 @@ object CharterPassengerModel { } } + private fun isSuccess(requestSuccessSign: String) = + broadcastList[requestSuccessSign] == null || broadcastList[requestSuccessSign] == false + fun cleanbroadcastListInfo(){ broadcastList.clear() }