[6.5.0]
[fea] [taxi order change listener]
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
package com.mogo.och.taxi.passenger.ui.model.order;
|
||||
package com.mogo.och.common.module.biz.order;
|
||||
|
||||
public class BaseOrderBean {
|
||||
public String orderNo;// 订单号
|
||||
@@ -1,4 +1,6 @@
|
||||
package com.mogo.och.taxi.passenger.ui.model.order
|
||||
package com.mogo.och.common.module.biz.order
|
||||
|
||||
import com.mogo.och.common.module.biz.order.BaseOrderBean
|
||||
|
||||
interface OrderListener {
|
||||
// 当前进行单状态变更:新到进行中订单、进行中单状态变更
|
||||
@@ -1,15 +1,14 @@
|
||||
package com.mogo.och.taxi.passenger.ui.model.order
|
||||
package com.mogo.och.common.module.biz.order
|
||||
|
||||
import com.mogo.och.taxi.passenger.ui.model.music.MusicModel
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
|
||||
object OrderModel {
|
||||
private val mOrderStatusCallbackMap: MutableMap<String, OrderListener> = ConcurrentHashMap()
|
||||
|
||||
var orderBean:BaseOrderBean?=null
|
||||
var orderBean: BaseOrderBean?=null
|
||||
|
||||
init {
|
||||
MusicModel.load()
|
||||
|
||||
}
|
||||
|
||||
fun setOrderStatusCallback(tag: String?, callback: OrderListener?) {
|
||||
@@ -22,7 +21,23 @@ object OrderModel {
|
||||
}
|
||||
|
||||
fun <T: BaseOrderBean?>invokeListener(orderBean: T?){
|
||||
this.orderBean = orderBean
|
||||
|
||||
|
||||
|
||||
if(this.orderBean==null){
|
||||
this.orderBean = orderBean
|
||||
}else {
|
||||
if(orderBean==null){
|
||||
this.orderBean = orderBean
|
||||
}else{
|
||||
if (this.orderBean!!.orderNo == orderBean.orderNo && this.orderBean!!.orderStatus == orderBean.orderStatus) {
|
||||
return
|
||||
}else{
|
||||
this.orderBean = orderBean
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (callback in mOrderStatusCallbackMap.values) {
|
||||
callback.onCurrentOrderStatusChanged(orderBean)
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.mogo.och.taxi.bean;
|
||||
|
||||
import com.mogo.eagle.core.data.BaseData;
|
||||
import com.mogo.och.common.module.biz.order.BaseOrderBean;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
@@ -13,13 +14,11 @@ import java.util.Objects;
|
||||
public class OrderQueryRespBean extends BaseData {
|
||||
public Result data;
|
||||
|
||||
public static class Result implements Comparable<Result>{
|
||||
// 订单no
|
||||
public String orderNo;
|
||||
public static class Result extends BaseOrderBean implements Comparable<Result>{
|
||||
|
||||
// 订单类型
|
||||
public int orderType; //1即时单 2预约单
|
||||
// 订单状态
|
||||
public int orderStatus;
|
||||
|
||||
// 订单运营类型 (9出租车,10小巴)
|
||||
public int businessType;
|
||||
// 起始站点id
|
||||
@@ -68,6 +67,11 @@ public class OrderQueryRespBean extends BaseData {
|
||||
// !!!接口中暂无此字段,仅用于本地实现逻辑使用:起始站目的站距离km
|
||||
public double travelDistance;
|
||||
|
||||
@Override
|
||||
public String getEndSiteAddr() {
|
||||
return endSiteAddr;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param distance
|
||||
*/
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.mogo.och.common.module.biz.login.ILoginCallback;
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusEnum;
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager;
|
||||
import com.mogo.och.common.module.biz.login.OpenOrderStatusEnum;
|
||||
import com.mogo.och.common.module.biz.order.OrderModel;
|
||||
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager;
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager;
|
||||
import com.mogo.och.common.module.manager.autopilot.line.LineManager;
|
||||
@@ -286,6 +287,7 @@ public class TaxiPresenter extends Presenter<TaxiFragment> implements ITaxiADASS
|
||||
@Override
|
||||
public void onCurrentOrderStatusChanged(OrderQueryRespBean.Result order) {
|
||||
OchChainLogManager.writeChainLog("订单信息变化",order.toString());
|
||||
OrderModel.INSTANCE.invokeListener(order);
|
||||
CallerLogger.d(M_TAXI + TAG, "order = " + order.toString());
|
||||
LineManager.setLineId(order.lineId);
|
||||
if (TaxiOrderStatusEnum.UserArriveAtStart.getCode() == order.orderStatus) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.mogo.och.taxi.passenger.bean;
|
||||
|
||||
import com.mogo.eagle.core.data.BaseData;
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.BaseOrderBean;
|
||||
import com.mogo.och.common.module.biz.order.BaseOrderBean;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -36,7 +36,7 @@ import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst
|
||||
import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
|
||||
import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum.Companion.valueOf
|
||||
import com.mogo.och.taxi.passenger.network.TaxiPassengerServiceManager
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderModel
|
||||
import com.mogo.och.common.module.biz.order.OrderModel
|
||||
import com.mogo.och.taxi.passenger.utils.TaxiPassengerAnalyticsManager
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
|
||||
|
||||
@@ -14,9 +14,9 @@ import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
|
||||
import com.mogo.och.taxi.passenger.model.AutopilotManager
|
||||
import com.mogo.och.taxi.passenger.model.TaxiPassengerModel
|
||||
import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.BaseOrderBean
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderListener
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderModel
|
||||
import com.mogo.och.common.module.biz.order.BaseOrderBean
|
||||
import com.mogo.och.common.module.biz.order.OrderListener
|
||||
import com.mogo.och.common.module.biz.order.OrderModel
|
||||
|
||||
/**
|
||||
* @author: wangmingjun
|
||||
|
||||
@@ -2,9 +2,9 @@ package com.mogo.och.taxi.passenger.ui.checkstartautopilot
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.BaseOrderBean
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderListener
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderModel
|
||||
import com.mogo.och.common.module.biz.order.BaseOrderBean
|
||||
import com.mogo.och.common.module.biz.order.OrderListener
|
||||
import com.mogo.och.common.module.biz.order.OrderModel
|
||||
|
||||
class ChekAndStartAutopilotViewModel : ViewModel(), OrderListener {
|
||||
|
||||
|
||||
@@ -9,9 +9,9 @@ import com.mogo.och.taxi.passenger.R
|
||||
import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback
|
||||
import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
|
||||
import com.mogo.och.taxi.passenger.model.TaxiPassengerModel
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.BaseOrderBean
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderListener
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderModel
|
||||
import com.mogo.och.common.module.biz.order.BaseOrderBean
|
||||
import com.mogo.och.common.module.biz.order.OrderListener
|
||||
import com.mogo.och.common.module.biz.order.OrderModel
|
||||
import kotlin.math.ceil
|
||||
|
||||
class OrderInfoViewModel: ViewModel(), IOCHTaxiPassengerOrderStatusCallback, OrderListener {
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.mogo.och.taxi.passenger.ui.arrived
|
||||
import androidx.lifecycle.ViewModel
|
||||
import com.mogo.och.common.module.manager.distance.IDistanceListener
|
||||
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderModel
|
||||
import com.mogo.och.common.module.biz.order.OrderModel
|
||||
|
||||
class ArrivedViewModel : ViewModel(), IDistanceListener {
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.och.common.module.manager.distance.IDistanceListener
|
||||
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderModel
|
||||
import com.mogo.och.common.module.biz.order.OrderModel
|
||||
|
||||
class EvaluateViewModel : ViewModel(), IDistanceListener {
|
||||
|
||||
|
||||
@@ -7,9 +7,9 @@ import com.mogo.och.common.module.manager.audition.AuditionManager
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.BaseOrderBean
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderListener
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderModel
|
||||
import com.mogo.och.common.module.biz.order.BaseOrderBean
|
||||
import com.mogo.och.common.module.biz.order.OrderListener
|
||||
import com.mogo.och.common.module.biz.order.OrderModel
|
||||
import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
|
||||
import io.reactivex.disposables.Disposable
|
||||
|
||||
@@ -21,7 +21,7 @@ object MusicModel : OrderListener, IOchAutopilotStatusListener {
|
||||
}
|
||||
|
||||
private var stopMusicDisposable: Disposable? = null
|
||||
private var orderInfo:BaseOrderBean? = null
|
||||
private var orderInfo: BaseOrderBean? = null
|
||||
|
||||
private const val startMusicWithOrderKey = "STARTMUSICWITHORDER"
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.mogo.och.taxi.passenger.ui.music
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
import com.mogo.och.taxi.passenger.ui.model.music.MusicModel
|
||||
|
||||
class MusicViewModel: ViewModel() {
|
||||
|
||||
@@ -9,7 +10,7 @@ class MusicViewModel: ViewModel() {
|
||||
private var viewCallback: IMusicViewCallback?=null
|
||||
|
||||
init {
|
||||
|
||||
MusicModel.load()
|
||||
}
|
||||
|
||||
fun setDistanceCallback(viewCallback: IMusicViewCallback){
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.mogo.och.unmanned.taxi.bean
|
||||
|
||||
import com.mogo.eagle.core.data.BaseData
|
||||
import com.mogo.och.common.module.biz.order.BaseOrderBean
|
||||
import com.mogo.och.unmanned.taxi.constant.TaskStatusEnum
|
||||
import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
|
||||
|
||||
@@ -10,8 +11,6 @@ import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
|
||||
*/
|
||||
|
||||
data class OrderDetail(
|
||||
var orderNo: String,
|
||||
var orderStatus: Int,
|
||||
var orderStartSite: Site?,
|
||||
var orderEndSite: Site?,
|
||||
var planningLines: Array<Long>, //返回的是接驾任务的id集合
|
||||
@@ -20,7 +19,7 @@ data class OrderDetail(
|
||||
var fullMinutes: Int, //到站后返回的总里程 /公里
|
||||
var fullMileage: Float, // 到站后返回的总用时 /分钟
|
||||
var orderLine: Long // 订单路线id
|
||||
) {
|
||||
): BaseOrderBean() {
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (this === other) return true
|
||||
if (javaClass != other?.javaClass) return false
|
||||
@@ -238,14 +237,12 @@ data class QueryCarOrderByNoReqBean(
|
||||
data class QueryCarOrderByNoRespBean(var data: Result) : BaseData() {
|
||||
data class Result(
|
||||
var sn: String,
|
||||
var orderNo: String,
|
||||
var orderStatus: Int,
|
||||
var bookingUserPhone: String,
|
||||
var businessType: String,
|
||||
var mileage: Float,
|
||||
var duration: Float,
|
||||
var passengerSize: Int
|
||||
)
|
||||
):BaseOrderBean()
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -40,6 +40,7 @@ import com.mogo.och.common.module.manager.socket.cloud.data.OCHOperationalMessag
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||
import com.mogo.och.common.module.biz.login.LoginService
|
||||
import com.mogo.och.common.module.biz.order.OrderModel
|
||||
import com.mogo.och.common.module.callback.OchAdasStartFailureCallback
|
||||
import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager
|
||||
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
|
||||
@@ -772,6 +773,7 @@ object TaxiTaskModel {
|
||||
if (newOrderStatus!=mCurrentTaskWithOrder?.order?.orderStatus) {
|
||||
// 订单状态发生改变
|
||||
orderStatusChange = true
|
||||
OrderModel.invokeListener(mCurrentTaskWithOrder!!.order)
|
||||
}
|
||||
}
|
||||
//订单或者伪任务更新, 都去刷新下界面
|
||||
@@ -911,6 +913,7 @@ object TaxiTaskModel {
|
||||
TaxiOrderStatusEnum.Cancel.code -> {
|
||||
//更新本地标志位
|
||||
mCurrentTaskWithOrder = null
|
||||
OrderModel.invokeListener(data.data)
|
||||
mTaxiTaskWithOrderCallbackMap.forEach {
|
||||
val listener = it.value
|
||||
listener.onOrderCancel()
|
||||
@@ -918,6 +921,7 @@ object TaxiTaskModel {
|
||||
}
|
||||
|
||||
TaxiOrderStatusEnum.ArriveAtEnd.code -> {
|
||||
OrderModel.invokeListener(data.data)
|
||||
mTaxiTaskWithOrderCallbackMap.forEach {
|
||||
val listener = it.value
|
||||
listener.onOrderTripInfoChanged(
|
||||
@@ -930,6 +934,7 @@ object TaxiTaskModel {
|
||||
TaxiOrderStatusEnum.JourneyCompleted.code -> {
|
||||
//更新本地标志位
|
||||
mCurrentTaskWithOrder = null
|
||||
OrderModel.invokeListener(data.data)
|
||||
mTaxiTaskWithOrderCallbackMap.forEach {
|
||||
val listener = it.value
|
||||
listener.onOrderJourneyCompleted()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.mogo.och.unmanned.passenger.bean;
|
||||
|
||||
import com.mogo.eagle.core.data.BaseData;
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.BaseOrderBean;
|
||||
import com.mogo.och.common.module.biz.order.BaseOrderBean;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -31,7 +31,7 @@ import com.mogo.och.common.module.utils.RxUtils
|
||||
import com.mogo.och.common.module.voice.VoiceNotice
|
||||
import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
|
||||
import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum.Companion.valueOf
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderModel
|
||||
import com.mogo.och.common.module.biz.order.OrderModel
|
||||
import com.mogo.och.unmanned.passenger.bean.TaxiPassengerBaseRespBean
|
||||
import com.mogo.och.unmanned.passenger.bean.TaxiPassengerGetTrajectoryByLineIdRespBean
|
||||
import com.mogo.och.unmanned.passenger.bean.TaxiPassengerOrderQueryRespBean
|
||||
|
||||
@@ -10,9 +10,9 @@ import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.och.common.module.manager.autopilot.OCHAdasAbilityManager
|
||||
import com.mogo.och.unmanned.passenger.bean.TaxiPassengerOrdersInServiceQueryRespBean
|
||||
import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.BaseOrderBean
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderListener
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderModel
|
||||
import com.mogo.och.common.module.biz.order.BaseOrderBean
|
||||
import com.mogo.och.common.module.biz.order.OrderListener
|
||||
import com.mogo.och.common.module.biz.order.OrderModel
|
||||
import com.mogo.och.unmanned.passenger.callback.IOCHTaxiPassengerOrderStatusCallback
|
||||
import com.mogo.och.unmanned.passenger.model.TaxiPassengerModel
|
||||
import com.mogo.och.unmanned.passenger.ui.TaxiPassengerBaseFragment
|
||||
|
||||
@@ -2,9 +2,9 @@ package com.mogo.och.unmanned.passenger.ui.checkstartautopilot
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.BaseOrderBean
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderListener
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderModel
|
||||
import com.mogo.och.common.module.biz.order.BaseOrderBean
|
||||
import com.mogo.och.common.module.biz.order.OrderListener
|
||||
import com.mogo.och.common.module.biz.order.OrderModel
|
||||
|
||||
class ChekAndStartAutopilotViewModel : ViewModel(), OrderListener {
|
||||
|
||||
|
||||
@@ -7,9 +7,9 @@ import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.common.module.utils.NumberFormatUtil
|
||||
import com.mogo.och.unmanned.taxi.passenger.R
|
||||
import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.BaseOrderBean
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderListener
|
||||
import com.mogo.och.taxi.passenger.ui.model.order.OrderModel
|
||||
import com.mogo.och.common.module.biz.order.BaseOrderBean
|
||||
import com.mogo.och.common.module.biz.order.OrderListener
|
||||
import com.mogo.och.common.module.biz.order.OrderModel
|
||||
import com.mogo.och.unmanned.passenger.callback.IOCHTaxiPassengerOrderStatusCallback
|
||||
import com.mogo.och.unmanned.passenger.model.TaxiPassengerModel
|
||||
import kotlin.math.ceil
|
||||
|
||||
Reference in New Issue
Block a user