[6.0.0] 1、开启自驾坐标错误处理 2、地图marker坐标处理

This commit is contained in:
wangmingjun
2023-08-21 19:43:47 +08:00
committed by zhongchao
parent c8c0a1a0c4
commit 1699eb7af3
4 changed files with 34 additions and 34 deletions

View File

@@ -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?)
}

View File

@@ -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

View File

@@ -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内")

View File

@@ -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再次调用获取下一任务
}
}
})