From 1699eb7af3c0da73dbc936d87bac9ea8307fabd5 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Mon, 21 Aug 2023 19:43:47 +0800 Subject: [PATCH] =?UTF-8?q?[6.0.0]=201=E3=80=81=E5=BC=80=E5=90=AF=E8=87=AA?= =?UTF-8?q?=E9=A9=BE=E5=9D=90=E6=A0=87=E9=94=99=E8=AF=AF=E5=A4=84=E7=90=86?= =?UTF-8?q?=202=E3=80=81=E5=9C=B0=E5=9B=BEmarker=E5=9D=90=E6=A0=87?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/taxi/base/BaseUiFragment.kt | 18 --------------- .../mogo/och/taxi/bean/UnmannedTaskBean.kt | 7 ++++-- .../java/com/mogo/och/taxi/model/TaxiModel.kt | 22 ++++++++++++------- .../och/taxi/model/TaxiUnmannedViewModel.kt | 21 +++++++++++++----- 4 files changed, 34 insertions(+), 34 deletions(-) delete mode 100644 OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/base/BaseUiFragment.kt diff --git a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/base/BaseUiFragment.kt b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/base/BaseUiFragment.kt deleted file mode 100644 index 2e21b7ca97..0000000000 --- a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/base/BaseUiFragment.kt +++ /dev/null @@ -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?) - -} diff --git a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/bean/UnmannedTaskBean.kt b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/bean/UnmannedTaskBean.kt index daaf6230e0..893e68040b 100644 --- a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/bean/UnmannedTaskBean.kt +++ b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/bean/UnmannedTaskBean.kt @@ -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 diff --git a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/model/TaxiModel.kt b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/model/TaxiModel.kt index 3da0aed47a..af7fff7577 100644 --- a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/model/TaxiModel.kt +++ b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/model/TaxiModel.kt @@ -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内") diff --git a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/model/TaxiUnmannedViewModel.kt b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/model/TaxiUnmannedViewModel.kt index f82c0e48ba..aec65e3446 100644 --- a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/model/TaxiUnmannedViewModel.kt +++ b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/model/TaxiUnmannedViewModel.kt @@ -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(){ 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(){ 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(){ siteId, object : OchCommonServiceCallback { 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再次调用获取下一任务 + } } })