[3.2.0] 包车司机端增加到站接口、同步报站屏信息
This commit is contained in:
@@ -5,3 +5,5 @@ package com.magic.mogo.och.charter.bean
|
||||
* @date: 2023/2/23
|
||||
*/
|
||||
data class Station(var siteId: Int, var siteName: String, var seq: Int)
|
||||
|
||||
data class ArriveDestRequest(val sn:String, val lineId:Long,val writtenVersion:Long)
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.magic.mogo.och.charter.R
|
||||
import com.magic.mogo.och.charter.base.CharterBaseFragment
|
||||
import com.magic.mogo.och.charter.bean.QueryCurrentOrderResponse
|
||||
import com.magic.mogo.och.charter.bean.QueryCurrentOrderResponse.Result.Companion.ARRIVED
|
||||
import com.magic.mogo.och.charter.bean.QueryCurrentOrderResponse.Result.Companion.ARRIVING
|
||||
import com.magic.mogo.och.charter.constant.CharterConst.Companion.LOOP_PERIOD_60S
|
||||
import com.magic.mogo.och.charter.net.login.LoginDriverM1Impl
|
||||
import com.magic.mogo.och.charter.presenter.DriverM1Presenter
|
||||
@@ -91,7 +92,7 @@ class DriverM1Fragment : CharterBaseFragment<DriverM1Fragment?, DriverM1Presente
|
||||
driverm1StationName1Tv.text = orderStatus.startSiteName
|
||||
driverm1StationName2Tv.text = orderStatus.siteName
|
||||
}
|
||||
if (orderStatus.arriveStatus == ARRIVED){
|
||||
if (orderStatus.arriveStatus == ARRIVING){
|
||||
setArrivedClickable(true)
|
||||
}else{
|
||||
setArrivedClickable(false)
|
||||
|
||||
@@ -229,14 +229,13 @@ class DriverM1Model {
|
||||
val changeDestMsg = GsonUtils.fromJson(String(byteArray),
|
||||
ChangeDestMsg::class.java) as ChangeDestMsg
|
||||
currentChangeDestMsg = changeDestMsg
|
||||
showChangerDestCommitDialog(changeDestMsg)
|
||||
}else if (msg.type == DPMsgType.TYPE_ARRIVEDEST_STATUS.type){ //乘客屏到站同步
|
||||
val arriveDestMsg = GsonUtils.fromJson(String(byteArray),
|
||||
ArriveDestMsg::class.java) as ArriveDestMsg
|
||||
|
||||
// 2、到站同步
|
||||
sendMsgToClient(arriveDestMsg)
|
||||
}
|
||||
if (changeDestMsg.arriveStatus == 2){//到站
|
||||
// 2、到站同步
|
||||
sendMsgToClient(changeDestMsg)
|
||||
}else{ //切换目的地
|
||||
showChangerDestCommitDialog(changeDestMsg)
|
||||
}
|
||||
}
|
||||
d(SceneConstant.M_CHARTER_D,"onReceivedMsg = "+ GsonUtils.toJson(msg))
|
||||
}catch (e: Exception){
|
||||
d(SceneConstant.M_CHARTER_D,"onReceivedMsg = "+"消息解析错误")
|
||||
@@ -397,11 +396,53 @@ class DriverM1Model {
|
||||
}
|
||||
|
||||
private fun onArriveAt() {
|
||||
isArrivedStation = true
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "onArriveAt = " + GsonUtil.jsonFromObject(mCurrentOrder))
|
||||
|
||||
if (isArrivedStation) return
|
||||
|
||||
if (mCurrentOrder == null) return
|
||||
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "onArriveAt = " + GsonUtil.jsonFromObject(mCurrentOrder))
|
||||
//到站接口请求
|
||||
|
||||
mContext?.let {
|
||||
DriverM1ServiceManager.arriveDest(
|
||||
it, mCurrentOrder!!.lineId.toLong(),DateTimeUtil.getCurrentTimeStamp()
|
||||
,object :OchCommonServiceCallback<BaseData>{
|
||||
override fun onSuccess(data: BaseData?) {
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "onArriveAt = " + GsonUtil.jsonFromObject(data))
|
||||
if (data?.code == 0){
|
||||
onArriveAtSuccess()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onFail(code: Int, msg: String?) {
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "onArriveAt = onFail= $code,$msg" )
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
private fun onArriveAtSuccess() {
|
||||
isArrivedStation = true
|
||||
CharterSendTripInfoManager.sendCharterTripInfo(ARRIVE_STATION,mCurrentOrder?.lineName!!
|
||||
,mCurrentOrder?.startSiteName!!,mCurrentOrder?.siteName!!,false)
|
||||
|
||||
if (currentChangeDestMsg == null){
|
||||
mCurrentOrder?.let {
|
||||
currentChangeDestMsg = ChangeDestMsg(
|
||||
mCurrentOrder!!.lineId
|
||||
,mCurrentOrder!!.lineName
|
||||
, mCurrentOrder!!.startSiteId
|
||||
,mCurrentOrder!!.startSiteName
|
||||
,mCurrentOrder!!.siteId
|
||||
,mCurrentOrder!!.siteName
|
||||
,true
|
||||
,2
|
||||
,DateTimeUtil.getCurrentTimeStamp())
|
||||
}
|
||||
}
|
||||
currentChangeDestMsg?.arriveStatus = 2
|
||||
sendMsgToClient(currentChangeDestMsg)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -554,6 +595,7 @@ class DriverM1Model {
|
||||
}
|
||||
|
||||
private fun sendMsgToClient(msg: BaseDPMsg?){
|
||||
d(SceneConstant.M_CHARTER_D + TAG, "sendMsgToClient" + GsonUtils.toJson(msg))
|
||||
sendMsgToAllClients(
|
||||
OchCommonConst.BUSINESS_STRING,
|
||||
GsonUtils.toJson(msg).toByteArray()
|
||||
@@ -744,7 +786,6 @@ class DriverM1Model {
|
||||
}
|
||||
|
||||
fun onAutopilotArriveAtStation() {
|
||||
if (isArrivedStation) return
|
||||
onArriveAt()
|
||||
}
|
||||
|
||||
|
||||
@@ -75,6 +75,15 @@ object DriverM1ServiceManager {
|
||||
?.subscribe(OchCommonSubscribeImpl(context!!, callback, "changeDest"))
|
||||
}
|
||||
|
||||
fun arriveDest(context: Context,lindId: Long ,writtenVersion:Long
|
||||
,callback: OchCommonServiceCallback<BaseData>?){
|
||||
mDriverM1ServiceApi.arriveDest(MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
MoGoAiCloudClientConfig.getInstance().token,
|
||||
ArriveDestRequest(MoGoAiCloudClientConfig.getInstance().sn,lindId,writtenVersion)
|
||||
).transformTry()
|
||||
.subscribe(OchCommonSubscribeImpl(context!!, callback, "arriveDest"))
|
||||
}
|
||||
|
||||
fun checkoutContrail(context: Context?,lineId: Int,
|
||||
callback: OchCommonServiceCallback<QueryRoutesResponse>?){
|
||||
mDriverM1ServiceApi.checkoutContrail(MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.magic.mogo.och.charter.net
|
||||
|
||||
import com.magic.mogo.och.charter.bean.*
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||
import com.mogo.eagle.core.data.BaseData
|
||||
import io.reactivex.Observable
|
||||
import retrofit2.http.*
|
||||
@@ -56,4 +57,13 @@ interface IDriverM1Service {
|
||||
@Query("sn") sn: String?
|
||||
,@Query("lineId") lineId:Int): Observable<QueryRoutesResponse>?
|
||||
|
||||
/**
|
||||
* 到达目的地
|
||||
*/
|
||||
@POST("/och-rental-cabin/api/flow/v1/driver/arriveDest")
|
||||
fun arriveDest(
|
||||
@Header("appId") appId: String,
|
||||
@Header("ticket") ticket: String,
|
||||
@Body request: ArriveDestRequest
|
||||
): Observable<BaseData>
|
||||
}
|
||||
@@ -6,7 +6,7 @@ package com.mogo.och.common.module.bean.dpmsg
|
||||
*/
|
||||
enum class DPMsgType(val type: Int) {
|
||||
TYPE_COMMON(0), //常规
|
||||
TYPE_CHANGE_DEST(1),// 变更目的地确认
|
||||
TYPE_CHANGE_DEST(1),// 变更目的地确认/到站
|
||||
TYPE_OPEN_CLOSE_DOOR(2),//开关门
|
||||
TYPE_ORDER_CLOSED(3), // 订单结束
|
||||
TYPE_TASK_DETAILS(4), //路线任务详情
|
||||
|
||||
@@ -28,18 +28,6 @@ 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)
|
||||
@@ -53,7 +41,7 @@ data class DPOperateDoorMsg(
|
||||
): BaseDPMsg(DPMsgType.TYPE_OPEN_CLOSE_DOOR.type)
|
||||
|
||||
data class DPOrderClosedMsg(
|
||||
var closed: Boolean = true // true: 开门, false: 关门
|
||||
var closed: Boolean = true // true: 结束
|
||||
): BaseDPMsg(DPMsgType.TYPE_ORDER_CLOSED.type)
|
||||
|
||||
data class AppConnectMsg(var isViewShow: Boolean, var isPlay: Boolean, var msg: String,
|
||||
|
||||
Reference in New Issue
Block a user