[m1]
[1.1.2] [rename]
This commit is contained in:
@@ -4,10 +4,10 @@ import com.mogo.eagle.core.data.BaseData
|
||||
|
||||
/**
|
||||
*/
|
||||
data class LineInfoResponse(val data: Result?) : BaseData() {
|
||||
data class Result(
|
||||
data class LineInfoResponse(val data: LineInfo?) : BaseData() {
|
||||
data class LineInfo(
|
||||
val name: String?,//线路名称
|
||||
val lineId: Int?,//线路Id
|
||||
val lineId: Long?,//线路Id
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -14,8 +14,8 @@ data class OrderInfoResponse(val data: OrderInfo?) : BaseData() {
|
||||
val lineName: String?,//线路名称
|
||||
val siteId: Long?,//站点id
|
||||
val siteName: String?,//站点名称
|
||||
val wgs84Lat: Long?,//高精地图
|
||||
val wgs84Lon: Long?,//高精地图
|
||||
val wgs84Lat: Double?,//高精地图
|
||||
val wgs84Lon: Double?,//高精地图
|
||||
val startTime: Long?,//开始时间
|
||||
val endTime: Long?,//结束时间
|
||||
val passengerPhone: String?,//乘客手机号
|
||||
|
||||
@@ -8,9 +8,9 @@ import java.util.*
|
||||
*/
|
||||
data class SiteInfoResponse(val data: List<SiteInfo>?) : BaseData(){
|
||||
data class SiteInfo(
|
||||
val lineId: Int?,//线路Id
|
||||
val lineId: Long?,//线路Id
|
||||
val lineName: String?,//线路名称
|
||||
val siteId: Int?,//线路Id
|
||||
val siteId: Long?,//线路Id
|
||||
val siteName: String?,//站点名称
|
||||
val Wgs84Lon: Double?,//高精坐标
|
||||
val Wgs84Lat: Double?,//高精坐标
|
||||
|
||||
@@ -36,13 +36,14 @@ import java.util.concurrent.ConcurrentHashMap
|
||||
* Created on 2022/3/31
|
||||
*/
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
object BusPassengerModel {
|
||||
object CharterPassengerModel {
|
||||
|
||||
private const val TAG = "BusPassengerModel"
|
||||
private const val TAGLOGIN = "BusPassengerModelLogin"
|
||||
private const val TAGORDER = "BusPassengerModelOrder"
|
||||
private const val TAGCARSTATUS = "BusPassengerModelCarStatus"
|
||||
private const val TAGCALIBRATION = "BusPassengerModelCalibration"
|
||||
|
||||
// 路距计算
|
||||
private const val TAGDISTANCE = "BusPassengerModelDistance"
|
||||
|
||||
@@ -51,21 +52,23 @@ object BusPassengerModel {
|
||||
//Model->Presenter:自动驾驶状态相关
|
||||
var mADASStatusCallback: IBusPassengerADASStatusCallback? = null
|
||||
|
||||
// bus路线信息更新
|
||||
// 定位监听
|
||||
private val mControllerStatusCallbackMap =
|
||||
ConcurrentHashMap<String, IBusPassengerControllerStatusCallback>()
|
||||
|
||||
// 当前位置坐标
|
||||
private var mLocation: MogoLocation? = null
|
||||
|
||||
// 订单信息 有订单有线路结束订单
|
||||
private var orderInfo: OrderInfoResponse.OrderInfo? = null
|
||||
|
||||
// 轨迹信息 用来启动自动驾驶
|
||||
private var locusInfo: LocusResponse.LocusInfo? = null
|
||||
|
||||
fun init() {
|
||||
AbsMogoApplication.getApp().also { this.mContext = it }
|
||||
initListeners()
|
||||
queryDriverOperationStatus()
|
||||
queryLoginStatus()
|
||||
}
|
||||
|
||||
fun release() {
|
||||
@@ -122,7 +125,7 @@ object BusPassengerModel {
|
||||
} else {
|
||||
BusPassengerModelLoopManager.setLoopFunction(
|
||||
TAGLOGIN,
|
||||
LoopInfo(3, ::queryDriverOperationStatus)
|
||||
LoopInfo(3, ::queryLoginStatus)
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -194,7 +197,7 @@ object BusPassengerModel {
|
||||
/**
|
||||
* 查询车辆登录状态、车牌、司机手机号、司机sn
|
||||
*/
|
||||
fun queryDriverOperationStatus() {
|
||||
fun queryLoginStatus() {
|
||||
BusPassengerServiceManager.queryDriverOperationStatus(
|
||||
mContext, object : OchCommonServiceCallback<M1DriverLoginStatusResponse> {
|
||||
override fun onSuccess(data: M1DriverLoginStatusResponse?) {
|
||||
@@ -211,7 +214,7 @@ object BusPassengerModel {
|
||||
CallerLogger.d(M_BUS_P + TAG, "onIntentReceived = %s", intentStr)
|
||||
if (ConnectivityManager.CONNECTIVITY_ACTION == intentStr) {
|
||||
if (NetworkUtils.isConnected(mContext)) {
|
||||
queryDriverOperationStatus()
|
||||
queryLoginStatus()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -259,10 +262,10 @@ object BusPassengerModel {
|
||||
return
|
||||
}
|
||||
// 有订单有线路后结束轮训
|
||||
orderData.let { order->
|
||||
if (order.lineId == null || order.lineId == 0L||order.siteId == null || order.siteId == 0L) {
|
||||
orderData.let { order ->
|
||||
if (order.lineId == null || order.lineId == 0L || order.siteId == null || order.siteId == 0L) {
|
||||
// 去选线路和站点
|
||||
}else{
|
||||
} else {
|
||||
this.orderInfo = orderData
|
||||
// 有订单取消轮训
|
||||
endOrderLoop()
|
||||
@@ -276,6 +279,28 @@ object BusPassengerModel {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun hasSetLineAndSite(): Pair<LineInfoResponse.LineInfo, SiteInfoResponse.SiteInfo>? {
|
||||
orderInfo?.let {
|
||||
if (it.lineId != null && it.lineId > 0 && it.siteId != null && it.siteId > 0) {
|
||||
val lineInfo = LineInfoResponse.LineInfo(it.lineName,it.lineId)
|
||||
val targetSizt = SiteInfoResponse.SiteInfo(
|
||||
lineId = it.lineId,
|
||||
lineName = it.lineName,
|
||||
siteId = it.siteId,
|
||||
siteName = it.siteName,
|
||||
Wgs84Lat = it.wgs84Lat,
|
||||
Wgs84Lon = it.wgs84Lon,
|
||||
GcjLat = null,
|
||||
GcjLon = null,
|
||||
seq = null,
|
||||
type = null
|
||||
)
|
||||
return Pair(lineInfo,targetSizt)
|
||||
}
|
||||
}
|
||||
return null
|
||||
}
|
||||
// endregion
|
||||
|
||||
// region车辆服务状态轮询
|
||||
@@ -292,6 +317,7 @@ object BusPassengerModel {
|
||||
private fun endCarStatusLoop() {
|
||||
BusPassengerModelLoopManager.removeLoopFunction(TAGCARSTATUS)
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询车辆状态 判断订单是否结束、是否显示结束业务
|
||||
*/
|
||||
@@ -308,16 +334,19 @@ object BusPassengerModel {
|
||||
}
|
||||
|
||||
private fun carStatusLogic(data: BusinessStatusResponse.Result) {
|
||||
if(data.orderNo!=null){// 订单进行中
|
||||
if (data.orderNo != null) {// 订单进行中
|
||||
return
|
||||
}
|
||||
// 结束路距计算
|
||||
endCalculateDistanceLoop()
|
||||
// 停止时间校准
|
||||
endCalibrationLoop()
|
||||
if (data.businessStatus==2) {// 订单结束 没有还车
|
||||
// 清理数据
|
||||
orderInfo = null
|
||||
locusInfo = null
|
||||
if (data.businessStatus == 2) {// 订单结束 没有还车
|
||||
// todo 还车中 需要显示 @com.mogo.och.bus.passenger.ui.view.EndOrderView 页面
|
||||
}else{
|
||||
} else {
|
||||
// 车辆空闲 订单结束已经还车
|
||||
// 结束车态轮训
|
||||
endCarStatusLoop()
|
||||
@@ -330,7 +359,10 @@ object BusPassengerModel {
|
||||
* 启动时间校准轮训
|
||||
*/
|
||||
private fun startCalibrationLoop() {
|
||||
BusPassengerModelLoopManager.setLoopFunction(TAGCALIBRATION, LoopInfo(120, ::queryBusinessTime))
|
||||
BusPassengerModelLoopManager.setLoopFunction(
|
||||
TAGCALIBRATION,
|
||||
LoopInfo(120, ::queryBusinessTime)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -339,6 +371,7 @@ object BusPassengerModel {
|
||||
private fun endCalibrationLoop() {
|
||||
BusPassengerModelLoopManager.removeLoopFunction(TAGCALIBRATION)
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询车辆状态 判断订单是否结束、是否显示结束业务
|
||||
*/
|
||||
@@ -358,7 +391,7 @@ object BusPassengerModel {
|
||||
// region 查询自动驾驶轨迹信息
|
||||
private fun queryLocusByLineId(lineId: Long) {
|
||||
BusPassengerServiceManager.queryLocusByLineId(
|
||||
mContext, lindId = lineId.toString(),object : OchCommonServiceCallback<LocusResponse> {
|
||||
mContext, lindId = lineId.toString(), object : OchCommonServiceCallback<LocusResponse> {
|
||||
override fun onSuccess(data: LocusResponse?) {
|
||||
if (data?.data == null) return
|
||||
//设置全局轨迹信息
|
||||
@@ -384,6 +417,7 @@ object BusPassengerModel {
|
||||
private fun endCalculateDistanceLoop() {
|
||||
BusPassengerModelLoopManager.removeLoopFunction(TAGDISTANCE)
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询车辆状态 判断订单是否结束、是否显示结束业务
|
||||
*/
|
||||
@@ -1,12 +1,11 @@
|
||||
package com.mogo.och.bus.passenger.presenter
|
||||
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import com.mogo.commons.mvp.IView
|
||||
import com.mogo.commons.mvp.Presenter
|
||||
import com.mogo.och.bus.passenger.model.CharterPassengerModel
|
||||
import com.mogo.och.bus.passenger.utils.RxUtils
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
abstract class BusBasePassengerFunctionDevicePresenter<V : IView?>(view: V) :
|
||||
Presenter<V>(view) {
|
||||
@@ -18,6 +17,11 @@ abstract class BusBasePassengerFunctionDevicePresenter<V : IView?>(view: V) :
|
||||
return RxUtils.createSubscribe(delay,function)
|
||||
}
|
||||
|
||||
override fun onCreate(owner: LifecycleOwner) {
|
||||
super.onCreate(owner)
|
||||
CharterPassengerModel.queryLoginStatus()
|
||||
}
|
||||
|
||||
companion object{
|
||||
const val DEVICE_ACTION_TIMEOUT=2000
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.bus.passenger.callback.IBusPassengerControllerStatusCallback
|
||||
import com.mogo.och.bus.passenger.model.BusPassengerModel
|
||||
import com.mogo.och.bus.passenger.model.CharterPassengerModel
|
||||
import com.mogo.och.bus.passenger.ui.M1DeviceFragment
|
||||
import com.mogo.och.common.module.manager.OCHM1LightAirconditionDoorStatusManager
|
||||
import io.reactivex.disposables.Disposable
|
||||
@@ -27,7 +27,7 @@ class BusPassengerFunctionDevicePresenter(view: M1DeviceFragment?) :
|
||||
override fun onCreate(owner: LifecycleOwner) {
|
||||
super.onCreate(owner)
|
||||
OCHM1LightAirconditionDoorStatusManager.addListener(TAG, this)
|
||||
BusPassengerModel.setControllerStatusCallback(TAG,object :
|
||||
CharterPassengerModel.setControllerStatusCallback(TAG,object :
|
||||
IBusPassengerControllerStatusCallback{
|
||||
|
||||
override fun onCarLocationChanged(location: MogoLocation?) {
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
package com.mogo.och.bus.passenger.presenter
|
||||
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import com.amap.api.maps.model.LatLng
|
||||
import com.mogo.eagle.core.data.map.MogoLocation
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.och.bus.passenger.callback.IBusPassengerControllerStatusCallback
|
||||
import com.mogo.och.bus.passenger.model.BusPassengerModel
|
||||
import com.mogo.och.bus.passenger.model.CharterPassengerModel
|
||||
import com.mogo.och.bus.passenger.ui.MainFragment
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.common.module.utils.NumberFormatUtil
|
||||
@@ -16,16 +15,16 @@ class BusPassengerPresenter(view: MainFragment?) :
|
||||
IBusPassengerControllerStatusCallback {
|
||||
override fun onCreate(owner: LifecycleOwner) {
|
||||
super.onCreate(owner)
|
||||
BusPassengerModel.init()
|
||||
CharterPassengerModel.init()
|
||||
// 定位监听
|
||||
BusPassengerModel.setControllerStatusCallback(TAG,this)
|
||||
CharterPassengerModel.setControllerStatusCallback(TAG,this)
|
||||
//BusPassengerModel.setMoGoAutopilotPlanningListener(this)
|
||||
|
||||
}
|
||||
|
||||
override fun onDestroy(owner: LifecycleOwner) {
|
||||
super.onDestroy(owner)
|
||||
BusPassengerModel.setControllerStatusCallback(TAG,null)
|
||||
CharterPassengerModel.setControllerStatusCallback(TAG,null)
|
||||
}
|
||||
private fun setSpeed(speed:Float){
|
||||
UiThreadHandler.post {
|
||||
|
||||
Reference in New Issue
Block a user