Merge branch 'dev_minibus-d_230425_3.2.0' of gitlab.zhidaoauto.com:SCA/L4HA/AndroidApp/MoGoEagleEye into dev_minibus-d_230425_3.2.0
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
package com.mogo.och.bus.passenger.bean.request
|
||||
|
||||
data class ArriveDestRequest(val sn:String, val lineId:Long)
|
||||
data class ArriveDestRequest(val sn:String, val lineId:Long,val writtenVersion:Long)
|
||||
@@ -18,6 +18,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationWGS84Liste
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.*
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.startAutoPilot
|
||||
import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager
|
||||
import com.mogo.eagle.core.network.utils.GsonUtil
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
@@ -31,8 +32,10 @@ import com.mogo.och.bus.passenger.constant.CharterPassengerConst
|
||||
import com.mogo.och.bus.passenger.net.BusPassengerModelLoopManager
|
||||
import com.mogo.och.bus.passenger.net.BusPassengerServiceManager
|
||||
import com.mogo.och.bus.passenger.utils.VoiceFocusManager
|
||||
import com.mogo.och.common.module.bean.dpmsg.ArriveDestMsg
|
||||
import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager
|
||||
import com.mogo.och.common.module.biz.constant.LoginStatusManager
|
||||
import com.mogo.och.common.module.biz.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.biz.constant.TaxiLoginStatusEnum
|
||||
import com.mogo.och.common.module.biz.network.OchCommonServiceCallback
|
||||
import com.mogo.och.common.module.manager.CharterSendTripInfoManager
|
||||
@@ -818,37 +821,62 @@ object CharterPassengerModel {
|
||||
|
||||
@Synchronized
|
||||
fun arriveDest() {
|
||||
orderInfo?.lineId?.let {
|
||||
orderInfo?.siteId?.let { siteId ->
|
||||
if (orderInfo!!.arriveStatus == OrderInfoResponse.ARRIVING) {
|
||||
if (broadcastList.get("${siteId}$endKey") == null || broadcastList.get("${siteId}$endKey") == false) {
|
||||
BusPassengerServiceManager.arriveDest(
|
||||
mContext, lindId = it, object : OchCommonServiceCallback<BaseData> {
|
||||
override fun onSuccess(data: BaseData?) {
|
||||
if (null != data && 0 == data.code) {
|
||||
VoiceManager.arrivedStation(
|
||||
orderInfo!!.siteName!!,
|
||||
orderInfo!!.siteNameKr ?: "",
|
||||
VoiceFocusManager.getVoiceCmdCallBack()
|
||||
)
|
||||
broadcastList["${siteId}$endKey"] = true
|
||||
// 到站结束自驾
|
||||
CallerAutoPilotControlManager.cancelAutoPilot()
|
||||
// 结束路距计算
|
||||
endCalculateDistanceLoop()
|
||||
// 到站置距离位0
|
||||
invokeStationDistanceListener(-1,-1)
|
||||
}
|
||||
}
|
||||
orderInfo?.let { order->
|
||||
order.lineId?.let {lineId->
|
||||
order.siteId?.let { siteId ->
|
||||
if (order.arriveStatus == OrderInfoResponse.ARRIVING) {
|
||||
if (broadcastList["${siteId}$endKey"] == null || broadcastList["${siteId}$endKey"] == false) {
|
||||
val currentTimeStamp = DateTimeUtil.getCurrentTimeStamp()
|
||||
BusPassengerServiceManager.arriveDest(
|
||||
mContext,
|
||||
lindId = lineId,
|
||||
writtenVersion = currentTimeStamp,
|
||||
object : OchCommonServiceCallback<BaseData> {
|
||||
override fun onSuccess(data: BaseData?) {
|
||||
if (null != data && 0 == data.code) {
|
||||
VoiceManager.arrivedStation(
|
||||
order.siteName!!,
|
||||
order.siteNameKr ?: "",
|
||||
VoiceFocusManager.getVoiceCmdCallBack()
|
||||
)
|
||||
broadcastList["${siteId}$endKey"] = true
|
||||
// 给司机端
|
||||
val msg = ArriveDestMsg(
|
||||
orderInfo?.orderNo?:"",
|
||||
lineId.toInt(),
|
||||
order.lineName?:"",
|
||||
order.startSiteId?:0,
|
||||
order.startSiteName?:"",
|
||||
siteId.toInt(),
|
||||
order.siteName,
|
||||
1,
|
||||
currentTimeStamp
|
||||
)
|
||||
CallerTelematicManager.sendMsgToServer(
|
||||
OchCommonConst.BUSINESS_STRING,
|
||||
GsonUtils.toJson(msg).toByteArray()
|
||||
)
|
||||
|
||||
override fun onFail(code: Int, msg: String) {
|
||||
ToastUtils.showShort("$code:$msg")
|
||||
}
|
||||
})
|
||||
}
|
||||
// 到站结束自驾
|
||||
CallerAutoPilotControlManager.cancelAutoPilot()
|
||||
// 结束路距计算
|
||||
endCalculateDistanceLoop()
|
||||
// 到站置距离位0
|
||||
invokeStationDistanceListener(-1,-1)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
override fun onFail(code: Int, msg: String) {
|
||||
ToastUtils.showShort("$code:$msg")
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun cleanbroadcastListInfo(){
|
||||
|
||||
@@ -107,11 +107,11 @@ object BusPassengerServiceManager {
|
||||
.subscribe(OchCommonSubscribeImpl(context, callback, "serviceEnd"))
|
||||
}
|
||||
@JvmStatic
|
||||
fun arriveDest(context: Context,lindId: Long ,callback: OchCommonServiceCallback<BaseData>?) {
|
||||
fun arriveDest(context: Context,lindId: Long ,writtenVersion:Long,callback: OchCommonServiceCallback<BaseData>?) {
|
||||
if(beforeNet()){
|
||||
return
|
||||
}
|
||||
val request = ArriveDestRequest(draiverSn,lindId)
|
||||
val request = ArriveDestRequest(draiverSn,lindId,writtenVersion)
|
||||
mBusPassengerServiceApi.arriveDest(request = request).transformTry()
|
||||
.subscribe(OchCommonSubscribeImpl(context, callback, "arriveDest"))
|
||||
}
|
||||
|
||||
@@ -2,10 +2,14 @@ package com.mogo.och.bus.passenger.presenter
|
||||
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import com.mogo.eagle.core.data.BaseData
|
||||
import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.bus.passenger.callback.ITimeCallback
|
||||
import com.mogo.och.bus.passenger.model.CharterPassengerModel
|
||||
import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.OrderInfoFragment
|
||||
import com.mogo.och.common.module.bean.dpmsg.EndOrderMsg
|
||||
import com.mogo.och.common.module.biz.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.biz.network.OchCommonServiceCallback
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
|
||||
@@ -51,6 +55,13 @@ class OrderInfoPresenter(view: OrderInfoFragment?) :
|
||||
ToastUtils.showShort("结束成功")
|
||||
CharterPassengerModel.setEndOrderStatus()
|
||||
mView?.closeDialogContaion()
|
||||
val msg = EndOrderMsg(
|
||||
CharterPassengerModel.getCurrentOrderInfo()?.orderNo?:"",
|
||||
)
|
||||
CallerTelematicManager.sendMsgToServer(
|
||||
OchCommonConst.BUSINESS_STRING,
|
||||
GsonUtils.toJson(msg).toByteArray()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,5 +10,7 @@ enum class DPMsgType(val type: Int) {
|
||||
TYPE_OPEN_CLOSE_DOOR(2),//开关门
|
||||
TYPE_ORDER_CLOSED(3), // 订单结束
|
||||
TYPE_TASK_DETAILS(4), //路线任务详情
|
||||
TYPE_LOGIN_STATUS(5) //login status
|
||||
TYPE_LOGIN_STATUS(5), //login status
|
||||
TYPE_ARRIVEDEST_STATUS(6), //到站通知 status
|
||||
TYPE_ORDER_CLOSED_BY_M1_STATUS(7) //到站通知 status
|
||||
}
|
||||
@@ -28,6 +28,22 @@ data class ChangeDestMsg(
|
||||
var writtenVersion:Long?, //版本标记
|
||||
): BaseDPMsg(DPMsgType.TYPE_CHANGE_DEST.type)
|
||||
|
||||
data class ArriveDestMsg(
|
||||
var orderNo: String, //订单id
|
||||
var lineId: Int, //线路id
|
||||
var lineName: String = "", //线路名称
|
||||
var startSiteId: Int= 0, //当前站点
|
||||
var startSiteName: String = "",
|
||||
var destSiteId: Int= 0, //目的地
|
||||
var destSiteName: String = "",
|
||||
var arriveStatus:Int?, //1:未到达 2:到达
|
||||
var writtenVersion:Long?, //版本标记
|
||||
): BaseDPMsg(DPMsgType.TYPE_ARRIVEDEST_STATUS.type)
|
||||
|
||||
data class EndOrderMsg(
|
||||
var orderNo: String, //订单id
|
||||
): BaseDPMsg(DPMsgType.TYPE_ORDER_CLOSED_BY_M1_STATUS.type)
|
||||
|
||||
data class DPCommonOperationMsg(
|
||||
var msg: String
|
||||
): BaseDPMsg(DPMsgType.TYPE_COMMON.type)
|
||||
|
||||
Reference in New Issue
Block a user