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 28bc5b0071..a6e755832d 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 @@ -14,7 +14,9 @@ data class OrderDetail( var orderEndSite: Site?, var planningLines: Array, var phone: String, - var passengerNum: Int + var passengerNum: Int, + var fullMinutes: Long, //单独接口查询到 + var mileage: Long // 单独接口查询到 ) { override fun equals(other: Any?): Boolean { if (this === other) return true @@ -108,10 +110,14 @@ data class QueryCarOrderByNoRespBean( data class ContrailListRespBean(var data: MutableList?) //轨迹路线集合 : BaseData() { data class Result( - var lineId: Long, var csvFileUrl: String, var csvFileMd5: String, + var lineId: Long,var lineName: String, var csvFileUrl: String, var csvFileMd5: String, var txtFileUrl: String, var txtFileMd5: String, var contrailSaveTime: Long, var csvFileUrlDPQP: String, var csvFileMd5DPQP: String, var txtFileUrlDPQP: String, var txtFileMd5DPQP: String, var contrailSaveTimeDPQP: Long ) } +data class QueryLineInfoRespBean( + var id: Long, var fullMinutes: Long, var mileage: Long +): BaseData() + 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 cc31be43a2..606173c2d6 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 @@ -20,6 +20,7 @@ import com.mogo.och.taxi.base.IUiIntent import com.mogo.och.taxi.bean.ContrailListRespBean import com.mogo.och.taxi.bean.QueryCarOrderByNoRespBean import com.mogo.och.taxi.bean.QueryCurrentTaskRespBean +import com.mogo.och.taxi.bean.QueryLineInfoRespBean import com.mogo.och.taxi.bean.StartServiceRespBean import com.mogo.och.taxi.constant.TaxiOrderStatusEnum import com.mogo.och.taxi.constant.TaxiUnmannedConst @@ -28,6 +29,7 @@ import com.mogo.och.taxi.network.CarServiceManager import com.mogo.och.taxi.network.CarServiceManager.cancelOrder import com.mogo.och.taxi.network.CarServiceManager.contrailList import com.mogo.och.taxi.network.CarServiceManager.queryCarOrderByOrderNo +import com.mogo.och.taxi.network.CarServiceManager.queryLineInfo import com.mogo.och.taxi.ui.unmanned.TaskAndOrderUiState import com.mogo.och.taxi.ui.unmanned.UnmannedIntent import com.mogo.och.taxi.ui.unmanned.UnmannedState @@ -74,7 +76,7 @@ class TaxiUnmannedViewModel : BaseViewModel(){ is UnmannedIntent.CloseOrderByDriver -> { if (mCurrentTaskAndOrder != null && mCurrentTaskAndOrder!!.order != null){ - val site = mCurrentTaskAndOrder!!.order!!.orderEndSite; + val site = mCurrentTaskAndOrder!!.order!!.orderEndSite TaxiModel.arriveSite(site!!.siteId,true) } } @@ -320,6 +322,10 @@ class TaxiUnmannedViewModel : BaseViewModel(){ if (data!!.orderStatus == TaxiOrderStatusEnum.Cancel.code){ VoiceNotice.showNotice("乘客已经取消") updateNoTaskAndOrderCancelUi() + return + } + if (data.orderStatus == TaxiOrderStatusEnum.ArriveAtEnd.code){//到站 + queryRouteInfo() } } @@ -330,6 +336,28 @@ class TaxiUnmannedViewModel : BaseViewModel(){ }) } + /** + * 到站后查询总里程和总用时 + */ + private fun queryRouteInfo() { + if (mCurrentTaskAndOrder != null && mCurrentTaskAndOrder!!.endSite != null) + queryLineInfo(mContext, mCurrentTaskAndOrder!!.lineId, + object : OchCommonServiceCallback{ + override fun onSuccess(data: QueryLineInfoRespBean?) { + if (data == null || data.code != 0) return + mCurrentTaskAndOrder?.order?.orderStatus = TaxiOrderStatusEnum.ArriveAtEnd.code + mCurrentTaskAndOrder?.order?.fullMinutes = data.fullMinutes + mCurrentTaskAndOrder?.order?.mileage = data.mileage + updateTaskAndOrderUi() + } + + override fun onFail(code: Int, msg: String?) { + TODO("Not yet implemented") + } + + }) + } + private fun startInAndWaitCurrentTaskLoop() { if (mInAndWaitServiceDisposable != null && !mInAndWaitServiceDisposable!!.isDisposed) { diff --git a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/network/CarServiceManager.kt b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/network/CarServiceManager.kt index 6abfc6f8d9..1c42fce722 100644 --- a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/network/CarServiceManager.kt +++ b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/network/CarServiceManager.kt @@ -172,4 +172,14 @@ object CarServiceManager { ).transformTry() .subscribe(OchCommonSubscribeImpl(context, callback, "contrailList")) } + + /** + * 到站查询总里程和总用时 + */ + fun queryLineInfo(context: Context,lineId: Long,callback: OchCommonServiceCallback?){ + mOCHTaxiServiceApi.queryTaxiLineInfoById(lineId = lineId) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "contrailList")) + + } } \ No newline at end of file diff --git a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/network/UnmannedTaskServiceApi.kt b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/network/UnmannedTaskServiceApi.kt index 65f6620305..3d74cba5ba 100644 --- a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/network/UnmannedTaskServiceApi.kt +++ b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/network/UnmannedTaskServiceApi.kt @@ -13,6 +13,7 @@ import com.mogo.och.taxi.bean.PrepareTaskRespBean import com.mogo.och.taxi.bean.QueryCarOrderByNoReqBean import com.mogo.och.taxi.bean.QueryCarOrderByNoRespBean import com.mogo.och.taxi.bean.QueryCurrentTaskRespBean +import com.mogo.och.taxi.bean.QueryLineInfoRespBean import com.mogo.och.taxi.bean.StartServiceReqBean import com.mogo.och.taxi.bean.StartServiceRespBean import com.mogo.och.taxi.bean.StartTaskReqBean @@ -149,4 +150,15 @@ interface UnmannedTaskServiceApi { @Header("ticket") ticket: String = MoGoAiCloudClientConfig.getInstance().token, @Body data: QueryCarOrderByNoReqBean? ): Observable + + /** + * 查询总用时和里程 + */ + @Headers("Content-type:application/json;charset=UTF-8") + @GET("/och-taxi-cabin/api/business/v1/queryTaxiLineById") + fun queryTaxiLineInfoById( + @Header("appId") appId: String = MoGoAiCloudClientConfig.getInstance().serviceAppId, + @Header("ticket") ticket: String = MoGoAiCloudClientConfig.getInstance().token, + @Query("id") lineId: Long? + ): Observable } \ No newline at end of file diff --git a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/ui/TaxiBeingTaskFragment.kt b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/ui/TaxiBeingTaskFragment.kt index f694fef628..4e5505ed0a 100644 --- a/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/ui/TaxiBeingTaskFragment.kt +++ b/OCH/taxi/mogo-och-taxi-unmanned/src/main/java/com/mogo/och/taxi/ui/TaxiBeingTaskFragment.kt @@ -125,7 +125,6 @@ class TaxiBeingTaskFragment : BaseFragment(), return@collect } - isHaveBeingOrder(true) if (taskAndOrderUiState.untruthTask != null){ updateUntruthTask(taskAndOrderUiState.untruthTask) }else{ @@ -149,6 +148,7 @@ class TaxiBeingTaskFragment : BaseFragment(), private fun updateUntruthTask(untruthTask: StartServiceRespBean.Result?) { if (untruthTask == null) return + isHaveBeingOrder(true) updateUntruthTaskView() updateUntruthTaskUIData(untruthTask.siteName) updateUntruthTaskOtherInfo() @@ -169,7 +169,7 @@ class TaxiBeingTaskFragment : BaseFragment(), private fun updateUntruthTaskView() { taskStatus.visibility = View.VISIBLE - taskTypeTv.visibility = View.VISIBLE + taskTypeTv.visibility = View.GONE orderPhoneAndNum.visibility = View.GONE startStationName.visibility = View.VISIBLE endStationName.visibility = View.VISIBLE diff --git a/OCH/taxi/mogo-och-taxi-unmanned/src/main/res/drawable-xhdpi/taxi_driver_circle_blue_big.png b/OCH/taxi/mogo-och-taxi-unmanned/src/main/res/drawable-xhdpi/taxi_driver_circle_blue_big.png index 0c73689e8e..db99b30702 100644 Binary files a/OCH/taxi/mogo-och-taxi-unmanned/src/main/res/drawable-xhdpi/taxi_driver_circle_blue_big.png and b/OCH/taxi/mogo-och-taxi-unmanned/src/main/res/drawable-xhdpi/taxi_driver_circle_blue_big.png differ diff --git a/OCH/taxi/mogo-och-taxi-unmanned/src/main/res/drawable-xhdpi/taxi_driver_circle_green_big.png b/OCH/taxi/mogo-och-taxi-unmanned/src/main/res/drawable-xhdpi/taxi_driver_circle_green_big.png index 650c5132c2..a3b5174e55 100644 Binary files a/OCH/taxi/mogo-och-taxi-unmanned/src/main/res/drawable-xhdpi/taxi_driver_circle_green_big.png and b/OCH/taxi/mogo-och-taxi-unmanned/src/main/res/drawable-xhdpi/taxi_driver_circle_green_big.png differ diff --git a/OCH/taxi/mogo-och-taxi-unmanned/src/main/res/layout/unmanned_being_order.xml b/OCH/taxi/mogo-och-taxi-unmanned/src/main/res/layout/unmanned_being_order.xml index 80e9dcfd34..f656b46094 100644 --- a/OCH/taxi/mogo-och-taxi-unmanned/src/main/res/layout/unmanned_being_order.xml +++ b/OCH/taxi/mogo-och-taxi-unmanned/src/main/res/layout/unmanned_being_order.xml @@ -140,7 +140,7 @@ android:id="@+id/greenPoint" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:src="@drawable/green_point" + android:src="@drawable/taxi_driver_circle_green_big" app:layout_constraintTop_toTopOf="@+id/startStationName" app:layout_constraintBottom_toBottomOf="@+id/startStationName" app:layout_constraintLeft_toLeftOf="@+id/taskStatus"/>