[6.0.0] 1、开启自驾坐标错误处理 2、地图marker坐标处理
This commit is contained in:
@@ -1,18 +0,0 @@
|
||||
package com.mogo.och.taxi.base
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
|
||||
abstract class BaseUiFragment : Fragment() {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
initView(view, savedInstanceState)
|
||||
initData(savedInstanceState)
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
}
|
||||
|
||||
abstract fun initView(view: View, savedInstanceState: Bundle?)
|
||||
abstract fun initData(savedInstanceState: Bundle?)
|
||||
|
||||
}
|
||||
@@ -44,7 +44,8 @@ data class OrderDetail(
|
||||
}
|
||||
}
|
||||
|
||||
data class Site(var siteId: Long, var siteName: String, var gcjLat: Double, var gcjLon: Double) {
|
||||
data class Site(var siteId: Long, var siteName: String, var gcjLat: Double, var gcjLon: Double,
|
||||
var wgs84Lon: Double, var wgs84Lat: Double) {
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (this === other) return true
|
||||
if (javaClass != other?.javaClass) return false
|
||||
@@ -55,6 +56,8 @@ data class Site(var siteId: Long, var siteName: String, var gcjLat: Double, var
|
||||
if (siteName != other.siteName) return false
|
||||
if (gcjLat != other.gcjLat) return false
|
||||
if (gcjLon != other.gcjLon) return false
|
||||
if (wgs84Lon != other.wgs84Lon) return false
|
||||
if (wgs84Lat != other.wgs84Lat) return false
|
||||
return true
|
||||
}
|
||||
}
|
||||
@@ -92,7 +95,7 @@ data class StartTaskReqBean(var sn: String, var lineId: Long)
|
||||
|
||||
data class ArriveSiteReqBean(var sn: String, var siteId: Long)
|
||||
data class PrepareTaskReqBean(var sn: String, var siteId: Long)
|
||||
data class PrepareTaskRespBean(var data: Result): BaseData(){ //taskType 1:虚拟任务 2:接驾任务3:送驾任务
|
||||
data class PrepareTaskRespBean(var data: Result?): BaseData(){ //taskType 1:虚拟任务 2:接驾任务3:送驾任务
|
||||
data class Result(
|
||||
var lineId: Long, var cityCode: Int, var taskType: Int,
|
||||
var startSite: Site, var endSite: Site
|
||||
|
||||
@@ -65,6 +65,7 @@ import com.mogo.och.common.module.voice.VoiceNotice
|
||||
import com.mogo.och.taxi.bean.ContrailListRespBean
|
||||
import com.mogo.och.taxi.bean.OrderDetail
|
||||
import com.mogo.och.taxi.bean.QueryCurrentTaskRespBean
|
||||
import com.mogo.och.taxi.bean.Site
|
||||
import com.mogo.och.taxi.bean.StartServiceRespBean
|
||||
import com.mogo.och.taxi.callback.IOCHTaxiAutopilotPlanningCallback
|
||||
import com.mogo.och.taxi.callback.ITaxiADASStatusCallback
|
||||
@@ -271,6 +272,11 @@ object TaxiModel {
|
||||
return valueOf(order.orderStatus)
|
||||
}
|
||||
|
||||
fun getCurTaskStatus(): Int? {
|
||||
if (mCurrentTaskAndOrder == null) TaskStatusEnum.None
|
||||
return mCurrentTaskAndOrder?.currentStatus
|
||||
}
|
||||
|
||||
fun getCurTaskAndOrder(): QueryCurrentTaskRespBean.Result? {
|
||||
return mCurrentTaskAndOrder
|
||||
}
|
||||
@@ -371,7 +377,7 @@ object TaxiModel {
|
||||
}
|
||||
}
|
||||
|
||||
//检测当前订单
|
||||
//检测当前任务
|
||||
fun checkCurrentTask(): Boolean {
|
||||
return mCurrentTaskAndOrder != null && mCurrentTaskAndOrder!!.startSite != null
|
||||
&& mCurrentTaskAndOrder!!.endSite != null
|
||||
@@ -477,10 +483,10 @@ object TaxiModel {
|
||||
|
||||
val parameters = AutopilotControlParameters()
|
||||
|
||||
val startWgsLon = mCurrentTaskAndOrder!!.startSite!!.gcjLon
|
||||
val startWgsLat = mCurrentTaskAndOrder!!.startSite!!.gcjLat
|
||||
val endWgsLon = mCurrentTaskAndOrder!!.endSite!!.gcjLon
|
||||
val endWgsLat = mCurrentTaskAndOrder!!.endSite!!.gcjLat
|
||||
val startWgsLon = mCurrentTaskAndOrder!!.startSite!!.wgs84Lon
|
||||
val startWgsLat = mCurrentTaskAndOrder!!.startSite!!.wgs84Lat
|
||||
val endWgsLon = mCurrentTaskAndOrder!!.endSite!!.wgs84Lon
|
||||
val endWgsLat = mCurrentTaskAndOrder!!.endSite!!.wgs84Lat
|
||||
parameters.vehicleType = BUSINESSTYPE
|
||||
parameters.startName = mCurrentTaskAndOrder!!.startSite!!.siteName // 8.10 拼音首字母大写 改为直接传中文
|
||||
parameters.endName = mCurrentTaskAndOrder!!.endSite!!.siteName // 8.10 拼音首字母大写 改为直接传中文
|
||||
@@ -679,10 +685,10 @@ object TaxiModel {
|
||||
|
||||
//3、刚过站且过站距离在15m内, 提交到站
|
||||
if (stationAngle > 90 && distance <= TaxiUnmannedConst.ARRIVE_AT_START_STATION_DISTANCE) {
|
||||
if ((!checkCurrentOrder()
|
||||
|| (getCurOrderStatus() === TaxiOrderStatusEnum.ArriveAtEnd))
|
||||
if ((!checkCurrentTask()
|
||||
|| (getCurTaskStatus() == TaskStatusEnum.StartTask.code))
|
||||
) {
|
||||
i(SceneConstant.M_TAXI + TAG, "order exception or order ArriveAtEnd")
|
||||
i(SceneConstant.M_TAXI + TAG, "task null or TaskStatus = ${getCurTaskStatus()}")
|
||||
return
|
||||
}
|
||||
i(SceneConstant.M_TAXI + TAG, "judgeEndStation() = 刚过站且在15m内")
|
||||
|
||||
@@ -13,6 +13,7 @@ import com.mogo.eagle.core.utilcode.util.NetworkUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.och.common.module.biz.constant.LoginStatusManager
|
||||
import com.mogo.och.common.module.biz.constant.LoginStatusManager.isLogin
|
||||
import com.mogo.och.common.module.biz.network.OchCommonServiceCallback
|
||||
import com.mogo.och.common.module.utils.ToastUtilsOch
|
||||
import com.mogo.och.common.module.voice.VoiceNotice
|
||||
@@ -29,6 +30,7 @@ import com.mogo.och.taxi.constant.TaskTypeEnum
|
||||
import com.mogo.och.taxi.constant.TaxiOrderStatusEnum
|
||||
import com.mogo.och.taxi.constant.TaxiUnmannedConst
|
||||
import com.mogo.och.taxi.constant.TaxtServingStatusManager
|
||||
import com.mogo.och.taxi.constant.TaxtServingStatusManager.isOpeningOrderStatus
|
||||
import com.mogo.och.taxi.network.CarServiceManager
|
||||
import com.mogo.och.taxi.network.CarServiceManager.cancelOrder
|
||||
import com.mogo.och.taxi.network.CarServiceManager.contrailList
|
||||
@@ -388,10 +390,12 @@ class TaxiUnmannedViewModel : BaseViewModel<UnmannedState, UnmannedIntent>(){
|
||||
if (data.data.orderStatus == TaxiOrderStatusEnum.Cancel.code){
|
||||
VoiceNotice.showNotice("乘客已经取消")
|
||||
mCurrentTaskAndOrder = null
|
||||
updateTaskAndOrderUi()
|
||||
updateNoTaskAndOrderUi()
|
||||
TaxiModel.cancelAutopilot()
|
||||
return
|
||||
}
|
||||
if (data.data.orderStatus == TaxiOrderStatusEnum.ArriveAtEnd.code){//到站
|
||||
//结束导航
|
||||
updateOrderMileAndDur(data.data.mileage,data.data.duration.toInt())
|
||||
return
|
||||
}
|
||||
@@ -426,7 +430,9 @@ class TaxiUnmannedViewModel : BaseViewModel<UnmannedState, UnmannedIntent>(){
|
||||
|
||||
private fun startPrepareTask30S(siteId: Long) {
|
||||
UiThreadHandler.postDelayed({
|
||||
pullTask(siteId)
|
||||
if (isLogin() && isOpeningOrderStatus()){
|
||||
pullTask(siteId)
|
||||
}
|
||||
}, TaxiUnmannedConst.TIMER_PREPARE_TASK_INTERVAL)
|
||||
}
|
||||
|
||||
@@ -436,15 +442,18 @@ class TaxiUnmannedViewModel : BaseViewModel<UnmannedState, UnmannedIntent>(){
|
||||
siteId,
|
||||
object : OchCommonServiceCallback<PrepareTaskRespBean> {
|
||||
override fun onSuccess(data: PrepareTaskRespBean?) {
|
||||
d(SceneConstant.M_TAXI + TAG, "prepareTask = " + GsonUtil.jsonFromObject(data))
|
||||
if (data == null || data.code != 0) return
|
||||
d(SceneConstant.M_TAXI + TAG, "prepareTask = " + GsonUtil.jsonFromObject(data)
|
||||
+ ", isOpeningOrderStatus = ${isOpeningOrderStatus()}")
|
||||
if (data?.data == null || data.code != 0) return
|
||||
//去下载轨迹, 下发给工控机下载
|
||||
TaxiModel.queryTaskContrail(Array(1) {data.data.lineId})
|
||||
TaxiModel.queryTaskContrail(Array(1) {data.data!!.lineId})
|
||||
}
|
||||
|
||||
override fun onFail(code: Int, msg: String?) {
|
||||
d(SceneConstant.M_TAXI + TAG, "$code $msg")
|
||||
startPrepareTask30S(siteId) //失败后30s再次调用获取下一任务
|
||||
if (isLogin() && isOpeningOrderStatus()){
|
||||
startPrepareTask30S(siteId) //失败后30s再次调用获取下一任务
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user