[6.0.0] 增加订单号查询接口

This commit is contained in:
wangmingjun
2023-08-09 19:07:36 +08:00
parent f9b0937f62
commit 710e182a78
7 changed files with 152 additions and 152 deletions

View File

@@ -12,7 +12,6 @@ import com.mogo.och.common.module.biz.constant.OchCommonConst
import com.mogo.och.common.module.biz.network.OchCommonServiceCallback
import com.mogo.och.common.module.biz.network.OchCommonSubscribeImpl
import com.mogo.och.common.module.biz.network.interceptor.transformTry
import retrofit2.http.Body
/**
* Created on 2022/3/31

View File

@@ -7,14 +7,15 @@ import com.mogo.eagle.core.data.BaseData
* @date: 2023/8/4
*/
data class OrderDetail(var orderNo: String,
var orderStatus: Int,
var orderStartSite: Site?,
var orderEndSite: Site?,
var planningLines: Array<Int>,
var phone: String,
var passengerNum: Int
) {
data class OrderDetail(
var orderNo: String,
var orderStatus: Int,
var orderStartSite: Site?,
var orderEndSite: Site?,
var planningLines: Array<Int>,
var phone: String,
var passengerNum: Int
) {
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (javaClass != other?.javaClass) return false
@@ -40,7 +41,7 @@ data class OrderDetail(var orderNo: String,
}
}
data class Site(var siteId: Int,var siteName: String,var gcjLat: Double, var gcjLon: Double) {
data class Site(var siteId: Int, var siteName: String, var gcjLat: Double, var gcjLon: Double) {
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (javaClass != other?.javaClass) return false
@@ -55,52 +56,62 @@ data class Site(var siteId: Int,var siteName: String,var gcjLat: Double, var gcj
}
}
data class QueryCurrentTaskRespBean(var data: Result?)
:BaseData(){
data class Result(var sn: String, var lineId: Int, var servingStatus: Int,
var currentStatus: Int, var taskType: Int,
var startSite: Site?, var endSite: Site?,
var order: OrderDetail?){
// servingStatus = 0 //暂停接单 = 1 //开始接单
//taskType = 1 //虚拟任务 = 2 //接驾任务 = 3 //送驾任务
//currentStatus 0空闲 1:获取任务 2:开始任务 3:到达目的地
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (javaClass != other?.javaClass) return false
data class QueryCurrentTaskRespBean(var data: Result?) : BaseData() {
data class Result(
var sn: String, var lineId: Int, var servingStatus: Int,
var currentStatus: Int, var taskType: Int,
var startSite: Site?, var endSite: Site?,
var order: OrderDetail?
) {
// servingStatus = 0 //暂停接单 = 1 //开始接单
//taskType = 1 //虚拟任务 = 2 //接驾任务 = 3 //送驾任务
//currentStatus 0空闲 1:获取任务 2:开始任务 3:到达目的地
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (javaClass != other?.javaClass) return false
other as Result
other as Result
if (lineId != other.lineId) return false
if (servingStatus != other.servingStatus) return false
if (currentStatus != other.currentStatus) return false
if (taskType != other.taskType) return false
if (startSite != other.startSite) return false
if (endSite != other.endSite) return false
if (order != other.order) return false
if (lineId != other.lineId) return false
if (servingStatus != other.servingStatus) return false
if (currentStatus != other.currentStatus) return false
if (taskType != other.taskType) return false
if (startSite != other.startSite) return false
if (endSite != other.endSite) return false
if (order != other.order) return false
return true
}
}
return true
}
}
}
data class StartTaskReqBean(var sn: String,var lineId: Int)
data class StartTaskReqBean(var sn: String, var lineId: Int)
data class ArriveSiteReqBean(var sn: String,var siteId: Int)
data class PrepareTaskReqBean(var sn: String,var siteId: Int)
data class PrepareTaskRespBean(var lineId: Int,var cityCode: Int,var taskType: Int,
var startSite: Site, var endSite: Site) //taskType 1:虚拟任务 2:接驾任务3:送驾任务
:BaseData()
data class ArriveSiteReqBean(var sn: String, var siteId: Int)
data class PrepareTaskReqBean(var sn: String, var siteId: Int)
data class PrepareTaskRespBean(
var lineId: Int, var cityCode: Int, var taskType: Int,
var startSite: Site, var endSite: Site
) //taskType 1:虚拟任务 2:接驾任务3:送驾任务
: BaseData()
data class JumpPassengerCheckReqBean(var sn: String,var orderNo: String)
data class CancelOrderReqBean(var sn: String,var orderNo: String)
data class OrderCompletedReqBean(var sn: String,var orderNo: String)
data class ContrailListReqBean(var sn: MutableList<Int>)
data class JumpPassengerCheckReqBean(var sn: String, var orderNo: String)
data class CancelOrderReqBean(var sn: String, var orderNo: String)
data class OrderCompletedReqBean(var sn: String, var orderNo: String)
data class ContrailListReqBean(var lineIds: MutableList<Int>)
data class QueryCarOrderByNoReqBean(var sn: String, var orderNo: String)
data class QueryCarOrderByNoRespBean(
var sn: String, var orderNo: String, var orderStatus: Int,
var bookingUserPhone: String, var businessType: String
): BaseData()
data class ContrailListRespBean(var data: MutableList<Result>) //轨迹路线集合
:BaseData(){
data class Result(var lineId: Int, 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)
: BaseData() {
data class Result(
var lineId: Int, 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
)
}

View File

@@ -17,11 +17,14 @@ import com.mogo.och.taxi.R
import com.mogo.och.taxi.base.BaseViewModel
import com.mogo.och.taxi.base.IUiIntent
import com.mogo.och.taxi.bean.PrepareTaskRespBean
import com.mogo.och.taxi.bean.QueryCarOrderByNoRespBean
import com.mogo.och.taxi.bean.QueryCurrentTaskRespBean
import com.mogo.och.taxi.bean.StartServiceRespBean
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.network.CarServiceManager
import com.mogo.och.taxi.network.CarServiceManager.queryCarOrderByOrderNo
import com.mogo.och.taxi.ui.unmanned.TaskAndOrderUiState
import com.mogo.och.taxi.ui.unmanned.UnmannedIntent
import com.mogo.och.taxi.ui.unmanned.UnmannedState
@@ -58,26 +61,10 @@ class TaxiUnmannedViewModel : BaseViewModel<UnmannedState, UnmannedIntent>(){
updateCarStatus()
}
is UnmannedIntent.GetNextTask -> {
getNextTask()
}
is UnmannedIntent.StartTask -> { //
startTask()
}
is UnmannedIntent.ArrivedOrderStartStation -> {//围栏触发
arrivedSite()
}
is UnmannedIntent.JumpPassengerCheckDone -> { //手动点击跳过乘客验证
jumpPassengerCheckDone()
}
is UnmannedIntent.ArrivedOrderEndStation -> {// 自动驾驶触发
arrivedSite()
}
is UnmannedIntent.JourneyCompleted -> { //点击服务完成
journeyCompleted()
}
@@ -147,65 +134,16 @@ class TaxiUnmannedViewModel : BaseViewModel<UnmannedState, UnmannedIntent>(){
}
}
private fun getNextTask() {
if (mCurrentTaskAndOrder != null && mCurrentTaskAndOrder!!.endSite != null){
CarServiceManager.prepareTask(AbsMogoApplication.getApp().applicationContext,
mCurrentTaskAndOrder!!.endSite!!.siteId, object : OchCommonServiceCallback<PrepareTaskRespBean>{
override fun onSuccess(data: PrepareTaskRespBean?) {
TODO("Not yet implemented")
}
override fun onFail(code: Int, msg: String?) {
TODO("Not yet implemented")
}
})
}
}
private fun arrivedSite() {
if (mCurrentTaskAndOrder != null && mCurrentTaskAndOrder!!.endSite != null){
CarServiceManager.arriveSite(AbsMogoApplication.getApp().applicationContext,
mCurrentTaskAndOrder!!.endSite!!.siteId,
object : OchCommonServiceCallback<BaseData>{
override fun onSuccess(data: BaseData?) {
TODO("Not yet implemented")
}
override fun onFail(code: Int, msg: String?) {
TODO("Not yet implemented")
}
})
}
}
private fun startTask() {
if (mCurrentTaskAndOrder != null && mCurrentTaskAndOrder!!.endSite != null){
CarServiceManager.startTask(AbsMogoApplication.getApp().applicationContext,
mCurrentTaskAndOrder!!.lineId, object : OchCommonServiceCallback<BaseData>{
override fun onSuccess(data: BaseData?) {
TODO("Not yet implemented")
}
override fun onFail(code: Int, msg: String?) {
TODO("Not yet implemented")
}
})
}
}
private fun journeyCompleted() {
if (mCurrentTaskAndOrder != null && mCurrentTaskAndOrder!!.order != null){
CarServiceManager.orderCompleted(AbsMogoApplication.getApp().applicationContext,
mCurrentTaskAndOrder!!.order!!.orderNo,object : OchCommonServiceCallback<BaseData>{
override fun onSuccess(data: BaseData?) {
TODO("Not yet implemented")
// TODO("Not yet implemented")
}
override fun onFail(code: Int, msg: String?) {
TODO("Not yet implemented")
// TODO("Not yet implemented")
}
})
}
@@ -216,11 +154,11 @@ class TaxiUnmannedViewModel : BaseViewModel<UnmannedState, UnmannedIntent>(){
CarServiceManager.jumpPassengerCheck(AbsMogoApplication.getApp().applicationContext,
mCurrentTaskAndOrder!!.order!!.orderNo,object : OchCommonServiceCallback<BaseData>{
override fun onSuccess(data: BaseData?) {
TODO("Not yet implemented")
// TODO("Not yet implemented")
}
override fun onFail(code: Int, msg: String?) {
TODO("Not yet implemented")
// TODO("Not yet implemented")
}
})
}
@@ -254,6 +192,15 @@ class TaxiUnmannedViewModel : BaseViewModel<UnmannedState, UnmannedIntent>(){
}
}
private fun updateNoTaskAndOrderCancelUi() {
sendUiState {
copy(
taskAndOrderUiState = TaskAndOrderUiState.ORDERCANCEL(true)
)
}
}
private fun startOrStopOrderLoop(start: Boolean) {
CallerLogger.d(SceneConstant.M_TAXI + TAG, "startOrStopOrderLoop() $start")
if (start) {
@@ -286,7 +233,7 @@ class TaxiUnmannedViewModel : BaseViewModel<UnmannedState, UnmannedIntent>(){
result!!.order!!.orderNo)
) {
//本地根据订单 orderNo 去查询下(乘客取消订单)
queryCurrentOrderStatusById(mCurrentTaskAndOrder!!.order!!.orderNo)
queryCurrentOrderStatusByNo(mCurrentTaskAndOrder!!.order!!.orderNo)
return
}
@@ -306,8 +253,21 @@ class TaxiUnmannedViewModel : BaseViewModel<UnmannedState, UnmannedIntent>(){
})
}
private fun queryCurrentOrderStatusById(orderNo: String) {
TODO("Not yet implemented")
private fun queryCurrentOrderStatusByNo(orderNo: String) {
queryCarOrderByOrderNo(mContext,orderNo,
object : OchCommonServiceCallback<QueryCarOrderByNoRespBean>{
override fun onSuccess(data: QueryCarOrderByNoRespBean?) {
if (data != null && data.code != 0) return
if (data!!.orderStatus == TaxiOrderStatusEnum.Cancel.code){
updateNoTaskAndOrderCancelUi()
}
}
override fun onFail(code: Int, msg: String?) {
// TODO("Not yet implemented")
}
})
}

View File

@@ -25,11 +25,11 @@ object CarServiceManager {
*/
@JvmStatic
fun startService(
context: Context,gcjLat: Double,gcjLon: Double,
context: Context, gcjLat: Double, gcjLon: Double,
callback: OchCommonServiceCallback<StartServiceRespBean>?
){
) {
mOCHTaxiServiceApi.startService(
data = StartServiceReqBean(MoGoAiCloudClientConfig.getInstance().sn,gcjLat, gcjLon)
data = StartServiceReqBean(MoGoAiCloudClientConfig.getInstance().sn, gcjLat, gcjLon)
).transformTry()
.subscribe(OchCommonSubscribeImpl(context, callback, "startService"))
}
@@ -38,9 +38,10 @@ object CarServiceManager {
* 暂停接单
*/
@JvmStatic
fun endService(context: Context,callback: OchCommonServiceCallback<BaseData>?){
fun endService(context: Context, callback: OchCommonServiceCallback<BaseData>?) {
mOCHTaxiServiceApi.endService(
sn = MoGoAiCloudClientConfig.getInstance().sn)
sn = MoGoAiCloudClientConfig.getInstance().sn
)
.transformTry()
.subscribe(OchCommonSubscribeImpl(context, callback, "endService"))
}
@@ -49,9 +50,13 @@ object CarServiceManager {
* 查询当前任务或者订单
*/
@JvmStatic
fun queryCurrentTask(context: Context,callback: OchCommonServiceCallback<QueryCurrentTaskRespBean>?){
fun queryCurrentTask(
context: Context,
callback: OchCommonServiceCallback<QueryCurrentTaskRespBean>?
) {
mOCHTaxiServiceApi.queryCurrentTask(
sn = MoGoAiCloudClientConfig.getInstance().sn)
sn = MoGoAiCloudClientConfig.getInstance().sn
)
.transformTry()
.subscribe(OchCommonSubscribeImpl(context, callback, "queryCurrentTask"))
}
@@ -61,11 +66,11 @@ object CarServiceManager {
*/
@JvmStatic
fun startTask(
context: Context,lineId: Int,
context: Context, lineId: Int,
callback: OchCommonServiceCallback<BaseData>?
){
) {
mOCHTaxiServiceApi.startTask(
data = StartTaskReqBean(MoGoAiCloudClientConfig.getInstance().sn,lineId)
data = StartTaskReqBean(MoGoAiCloudClientConfig.getInstance().sn, lineId)
).transformTry()
.subscribe(OchCommonSubscribeImpl(context, callback, "startTask"))
}
@@ -75,11 +80,11 @@ object CarServiceManager {
*/
@JvmStatic
fun arriveSite(
context: Context,siteId: Int,
context: Context, siteId: Int,
callback: OchCommonServiceCallback<BaseData>?
){
) {
mOCHTaxiServiceApi.arriveSite(
data = ArriveSiteReqBean(MoGoAiCloudClientConfig.getInstance().sn,siteId)
data = ArriveSiteReqBean(MoGoAiCloudClientConfig.getInstance().sn, siteId)
).transformTry()
.subscribe(OchCommonSubscribeImpl(context, callback, "arriveSite"))
}
@@ -89,11 +94,11 @@ object CarServiceManager {
*/
@JvmStatic
fun prepareTask(
context: Context,siteId: Int,
context: Context, siteId: Int,
callback: OchCommonServiceCallback<PrepareTaskRespBean>?
){
) {
mOCHTaxiServiceApi.prepareTask(
data = PrepareTaskReqBean(MoGoAiCloudClientConfig.getInstance().sn,siteId)
data = PrepareTaskReqBean(MoGoAiCloudClientConfig.getInstance().sn, siteId)
).transformTry()
.subscribe(OchCommonSubscribeImpl(context, callback, "prepareTask"))
}
@@ -103,11 +108,25 @@ object CarServiceManager {
*/
@JvmStatic
fun jumpPassengerCheck(
context: Context,orderNo: String,
context: Context, orderNo: String,
callback: OchCommonServiceCallback<BaseData>?
){
) {
mOCHTaxiServiceApi.jumpPassengerCheck(
data = JumpPassengerCheckReqBean(MoGoAiCloudClientConfig.getInstance().sn,orderNo)
data = JumpPassengerCheckReqBean(MoGoAiCloudClientConfig.getInstance().sn, orderNo)
).transformTry()
.subscribe(OchCommonSubscribeImpl(context, callback, "jumpPassengerCheck"))
}
/**
* 根据订单号查询订单, 主要是拿完成或者被乘客取消的订单状态
*/
@JvmStatic
fun queryCarOrderByOrderNo(
context: Context, orderNo: String,
callback: OchCommonServiceCallback<QueryCarOrderByNoRespBean>?
) {
mOCHTaxiServiceApi.queryCarOrderByOrderNo(
data = QueryCarOrderByNoReqBean(MoGoAiCloudClientConfig.getInstance().sn, orderNo)
).transformTry()
.subscribe(OchCommonSubscribeImpl(context, callback, "jumpPassengerCheck"))
}
@@ -117,11 +136,11 @@ object CarServiceManager {
*/
@JvmStatic
fun orderCompleted(
context: Context,orderNo: String,
context: Context, orderNo: String,
callback: OchCommonServiceCallback<BaseData>?
){
) {
mOCHTaxiServiceApi.orderCompleted(
data = OrderCompletedReqBean(MoGoAiCloudClientConfig.getInstance().sn,orderNo)
data = OrderCompletedReqBean(MoGoAiCloudClientConfig.getInstance().sn, orderNo)
).transformTry()
.subscribe(OchCommonSubscribeImpl(context, callback, "orderCompleted"))
}
@@ -131,23 +150,23 @@ object CarServiceManager {
*/
@JvmStatic
fun cancelOrder(
context: Context,orderNo: String,
context: Context, orderNo: String,
callback: OchCommonServiceCallback<BaseData>?
){
) {
mOCHTaxiServiceApi.cancelOrder(
data = CancelOrderReqBean(MoGoAiCloudClientConfig.getInstance().sn,orderNo)
data = CancelOrderReqBean(MoGoAiCloudClientConfig.getInstance().sn, orderNo)
).transformTry()
.subscribe(OchCommonSubscribeImpl(context, callback, "cancelOrder"))
}
/**
* 取消订单
* 批量获取轨迹信息
*/
@JvmStatic
fun contrailList(
context: Context,linIds: MutableList<Int>,
context: Context, linIds: MutableList<Int>,
callback: OchCommonServiceCallback<ContrailListRespBean>?
){
) {
mOCHTaxiServiceApi.contrailList(
data = ContrailListReqBean(linIds)
).transformTry()

View File

@@ -10,6 +10,8 @@ import com.mogo.och.taxi.bean.JumpPassengerCheckReqBean
import com.mogo.och.taxi.bean.OrderCompletedReqBean
import com.mogo.och.taxi.bean.PrepareTaskReqBean
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.StartServiceReqBean
import com.mogo.och.taxi.bean.StartServiceRespBean
@@ -139,4 +141,12 @@ interface UnmannedTaskServiceApi {
@Header("ticket") ticket: String = MoGoAiCloudClientConfig.getInstance().token,
@Body data: JumpPassengerCheckReqBean?
): Observable<BaseData>
@Headers("Content-type:application/json;charset=UTF-8")
@POST("/och-taxi-cabin/api/business/v1/queryCarOrder")
fun queryCarOrderByOrderNo(
@Header("appId") appId: String = MoGoAiCloudClientConfig.getInstance().serviceAppId,
@Header("ticket") ticket: String = MoGoAiCloudClientConfig.getInstance().token,
@Body data: QueryCarOrderByNoReqBean?
): Observable<QueryCarOrderByNoRespBean>
}

View File

@@ -130,6 +130,10 @@ class TaxiBeingTaskFragment : BaseFragment(),
isHaveBeingOrder(true)
updateUntruthTask(state.untruthTask)
}
is TaskAndOrderUiState.ORDERCANCEL -> {
// TODO 任务要跑完, 更新btn: 乘客已取消
}
}
}
}
@@ -812,10 +816,6 @@ class TaxiBeingTaskFragment : BaseFragment(),
}
}
fun updateOrderBottomBtnUI() {
mViewModel.sendUiIntent(UnmannedIntent.StartTask)
}
private fun updateOrderBottomBtn(txt: String?, txtColorId: Int, bgColorId: Int, isClickable: Boolean) {
taskClickBtn.text = txt
taskClickBtn.setTextColor(txtColorId)

View File

@@ -21,6 +21,7 @@ sealed class TaskAndOrderUiState {
data class TASKANDORDER(val model: QueryCurrentTaskRespBean.Result?) : TaskAndOrderUiState()//演练、接驾、送驾任务
data class UNTRUTHTASK(val untruthTask: StartServiceRespBean.Result?) : TaskAndOrderUiState()//伪任务
data class ORDERCANCEL(var isCancel: Boolean) : TaskAndOrderUiState()//伪任务
}
data class UnmannedState(val taskAndOrderUiState: TaskAndOrderUiState) : IUiState