[taxi/bus 2.5.1] 调整订单轮询开始时机修复NPE
This commit is contained in:
@@ -133,11 +133,15 @@ public class MogoOCHTaxiModelNew {
|
||||
}
|
||||
|
||||
if (NetworkUtils.isConnected(mContext)) {
|
||||
startOrStopOrderLoop(mOCHCarStatus == 1);
|
||||
// startOrStopOrderLoop(mOCHCarStatus == 1);
|
||||
queryCarStatus();
|
||||
}
|
||||
}
|
||||
|
||||
public void startOrStopOrderLoop(){
|
||||
startOrStopOrderLoop(mOCHCarStatus == 1);
|
||||
}
|
||||
|
||||
public void release() {
|
||||
startOrStopOrderLoop(false);
|
||||
releaseListeners();
|
||||
@@ -275,70 +279,70 @@ public class MogoOCHTaxiModelNew {
|
||||
public void queryInAndWaitOrders() {
|
||||
OCHTaxiServiceManagerNew.getInstance().queryOrdersInAndWaitService(mContext,
|
||||
new OCHTaxiServiceCallback<OrdersInServiceQueryRespBean>() {
|
||||
@Override
|
||||
public void onSuccess(OrdersInServiceQueryRespBean data) {
|
||||
if (data == null || data.data == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
//1. 处理进行中订单
|
||||
mInServiceList = data.data.servicing;
|
||||
if (data.data.servicing != null && !data.data.servicing.isEmpty()) {
|
||||
// 1.1. 当存在进行中单时:对本地currentOrder进行更新
|
||||
if (mCurrentOCHOrder == null) {
|
||||
//1.1.1. 当本地无currentOrder(已经完成or取消),则更新currentOrder,并通知ui更新
|
||||
updateNativeCurrentOrder(data.data.servicing.get(0));
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onCurrentOrderStatusChanged(mCurrentOCHOrder);
|
||||
@Override
|
||||
public void onSuccess(OrdersInServiceQueryRespBean data) {
|
||||
if (data == null || data.data == null) {
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
//1.1.2. 当本地有currentOrder:
|
||||
//orderId不一致时:通过currentOrder.orderId查询订单状态,并通知ui更新
|
||||
//orderId一致且orderStatus不一致时:则更新currentOrder,并通知ui更新
|
||||
if (mCurrentOCHOrder.orderId != data.data.servicing.get(0).orderId) {
|
||||
queryCurOrderStatus();
|
||||
} else if (mCurrentOCHOrder.orderStatus != data.data.servicing.get(0).orderStatus) {
|
||||
updateNativeCurrentOrder(data.data.servicing.get(0));
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onCurrentOrderStatusChanged(mCurrentOCHOrder);
|
||||
|
||||
//1. 处理进行中订单
|
||||
mInServiceList = data.data.servicing;
|
||||
if (data.data.servicing != null && !data.data.servicing.isEmpty()) {
|
||||
// 1.1. 当存在进行中单时:对本地currentOrder进行更新
|
||||
if (mCurrentOCHOrder == null) {
|
||||
//1.1.1. 当本地无currentOrder(已经完成or取消),则更新currentOrder,并通知ui更新
|
||||
updateNativeCurrentOrder(data.data.servicing.get(0));
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onCurrentOrderStatusChanged(mCurrentOCHOrder);
|
||||
}
|
||||
} else {
|
||||
//1.1.2. 当本地有currentOrder:
|
||||
//orderId不一致时:通过currentOrder.orderId查询订单状态,并通知ui更新
|
||||
//orderId一致且orderStatus不一致时:则更新currentOrder,并通知ui更新
|
||||
if (mCurrentOCHOrder.orderId != data.data.servicing.get(0).orderId) {
|
||||
queryCurOrderStatus();
|
||||
} else if (mCurrentOCHOrder.orderStatus != data.data.servicing.get(0).orderStatus) {
|
||||
updateNativeCurrentOrder(data.data.servicing.get(0));
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onCurrentOrderStatusChanged(mCurrentOCHOrder);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 1.2. 当无进行中订单时:如果本地也无则跳过;如果本地仍存在currentOrder,查询此单(完成or取消)并通知ui更新
|
||||
if (mCurrentOCHOrder != null) {
|
||||
queryCurOrderStatus();
|
||||
}
|
||||
}
|
||||
|
||||
//2. 处理待服务订单列表
|
||||
if (data.data.waitService != null && !data.data.waitService.isEmpty()) {
|
||||
//2.1. 当存在待服务订单列表:跟本地待服务列表比较
|
||||
if (mWaitServiceList.isEmpty()
|
||||
|| (mWaitServiceList.size() != data.data.waitService.size())
|
||||
|| !OrderUtil.haveSameOrders(mWaitServiceList, data.data.waitService)) {
|
||||
// 2.1.1. 当本地无待服务单,或数量和内容不一致,更新本地待服务列表,并通知ui更新
|
||||
mWaitServiceList = data.data.waitService;
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onOrdersWaitServiceChanged(mWaitServiceList);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//2.2. 当无待服务单时:如果本地也无则跳过;如果本地有,则清除并通知ui更新
|
||||
if (!mWaitServiceList.isEmpty()) {
|
||||
mWaitServiceList.clear();
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onOrdersWaitServiceChanged(mWaitServiceList);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 1.2. 当无进行中订单时:如果本地也无则跳过;如果本地仍存在currentOrder,查询此单(完成or取消)并通知ui更新
|
||||
if (mCurrentOCHOrder != null) {
|
||||
queryCurOrderStatus();
|
||||
}
|
||||
}
|
||||
|
||||
//2. 处理待服务订单列表
|
||||
if (data.data.waitService != null && !data.data.waitService.isEmpty()) {
|
||||
//2.1. 当存在待服务订单列表:跟本地待服务列表比较
|
||||
if (mWaitServiceList.isEmpty()
|
||||
|| (mWaitServiceList.size() != data.data.waitService.size())
|
||||
|| !OrderUtil.haveSameOrders(mWaitServiceList, data.data.waitService)) {
|
||||
// 2.1.1. 当本地无待服务单,或数量和内容不一致,更新本地待服务列表,并通知ui更新
|
||||
mWaitServiceList = data.data.waitService;
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onOrdersWaitServiceChanged(mWaitServiceList);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//2.2. 当无待服务单时:如果本地也无则跳过;如果本地有,则清除并通知ui更新
|
||||
if (!mWaitServiceList.isEmpty()) {
|
||||
mWaitServiceList.clear();
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onOrdersWaitServiceChanged(mWaitServiceList);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//仅用于轮询时查到本地有mCurrentOCHOrder但请求结果无进行中单or orderId不一致是复查本地currentOrder
|
||||
@@ -349,29 +353,29 @@ public class MogoOCHTaxiModelNew {
|
||||
final long orderId = mCurrentOCHOrder.orderId;
|
||||
OCHTaxiServiceManagerNew.getInstance().queryOrderById(mContext, orderId,
|
||||
new OCHTaxiServiceCallback<OrderQueryRespBean>() {
|
||||
@Override
|
||||
public void onSuccess(OrderQueryRespBean data) {
|
||||
if (data != null && data.data != null
|
||||
&& mCurrentOCHOrder != null && mCurrentOCHOrder.orderId == data.data.orderId) {
|
||||
if (data.data.orderStatus == OrderStatusEnum.Cancel.getCode()
|
||||
|| data.data.orderStatus == OrderStatusEnum.JourneyCompleted.getCode()
|
||||
|| data.data.orderStatus == OrderStatusEnum.None.getCode()) {
|
||||
clearCurrentOCHOrder();
|
||||
cancelAutopilot();
|
||||
} else {
|
||||
updateNativeCurrentOrder(data.data);
|
||||
@Override
|
||||
public void onSuccess(OrderQueryRespBean data) {
|
||||
if (data != null && data.data != null
|
||||
&& mCurrentOCHOrder != null && mCurrentOCHOrder.orderId == data.data.orderId) {
|
||||
if (data.data.orderStatus == OrderStatusEnum.Cancel.getCode()
|
||||
|| data.data.orderStatus == OrderStatusEnum.JourneyCompleted.getCode()
|
||||
|| data.data.orderStatus == OrderStatusEnum.None.getCode()) {
|
||||
clearCurrentOCHOrder();
|
||||
cancelAutopilot();
|
||||
} else {
|
||||
updateNativeCurrentOrder(data.data);
|
||||
}
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onCurrentOrderStatusChanged(data.data);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onCurrentOrderStatusChanged(data.data);
|
||||
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
//更新当前订单状态
|
||||
@@ -382,29 +386,29 @@ public class MogoOCHTaxiModelNew {
|
||||
final long orderId = mCurrentOCHOrder.orderId;
|
||||
OCHTaxiServiceManagerNew.getInstance().updateOrderStatus(mContext, orderId,
|
||||
orderStatus.getCode(), new OCHTaxiServiceCallback<BaseData>() {
|
||||
@Override
|
||||
public void onSuccess(BaseData data) {
|
||||
if (null != data && 0 == data.code
|
||||
&& mCurrentOCHOrder != null && mCurrentOCHOrder.orderId == orderId) {
|
||||
mCurrentOCHOrder.orderStatus = orderStatus.getCode();
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onCurrentOrderStatusChanged(mCurrentOCHOrder);
|
||||
@Override
|
||||
public void onSuccess(BaseData data) {
|
||||
if (null != data && 0 == data.code
|
||||
&& mCurrentOCHOrder != null && mCurrentOCHOrder.orderId == orderId) {
|
||||
mCurrentOCHOrder.orderStatus = orderStatus.getCode();
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onCurrentOrderStatusChanged(mCurrentOCHOrder);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError() {
|
||||
if (!NetworkUtils.isConnected(mContext)) {
|
||||
TipToast.shortTip("网络异常,请稍后重试");
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void onError() {
|
||||
if (!NetworkUtils.isConnected(mContext)) {
|
||||
TipToast.shortTip("网络异常,请稍后重试");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
// TipToast.shortTip(code + "," + msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 取消当前订单
|
||||
@@ -416,23 +420,23 @@ public class MogoOCHTaxiModelNew {
|
||||
final long orderId = mCurrentOCHOrder.orderId;
|
||||
OCHTaxiServiceManagerNew.getInstance().cancelOrder(mContext, orderId, reasonType, reason,
|
||||
new OCHTaxiServiceCallback<BaseData>() {
|
||||
@Override
|
||||
public void onSuccess(BaseData data) {
|
||||
if (null != data && 0 == data.code
|
||||
&& mCurrentOCHOrder != null && mCurrentOCHOrder.orderId == orderId) {
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onCurrentOrderCancelDone();
|
||||
@Override
|
||||
public void onSuccess(BaseData data) {
|
||||
if (null != data && 0 == data.code
|
||||
&& mCurrentOCHOrder != null && mCurrentOCHOrder.orderId == orderId) {
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onCurrentOrderCancelDone();
|
||||
}
|
||||
clearCurrentOCHOrder();
|
||||
cancelAutopilot();
|
||||
}
|
||||
}
|
||||
clearCurrentOCHOrder();
|
||||
cancelAutopilot();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
// TipToast.shortTip(code + "," + msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 取消待服务中订单
|
||||
@@ -463,96 +467,96 @@ public class MogoOCHTaxiModelNew {
|
||||
final long orderId = mCurrentOCHOrder.orderId;
|
||||
OCHTaxiServiceManagerNew.getInstance().queryOrderRouteInfo(mContext, orderId,
|
||||
new OCHTaxiServiceCallback<OrderQueryRouteInfoRespBean>() {
|
||||
@Override
|
||||
public void onSuccess(OrderQueryRouteInfoRespBean data) {
|
||||
if (null != data && 0 == data.code
|
||||
&& mCurrentOCHOrder != null && mCurrentOCHOrder.orderId == orderId) {
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onCurrentOrderRouteInfoGot(data.data);
|
||||
@Override
|
||||
public void onSuccess(OrderQueryRouteInfoRespBean data) {
|
||||
if (null != data && 0 == data.code
|
||||
&& mCurrentOCHOrder != null && mCurrentOCHOrder.orderId == orderId) {
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onCurrentOrderRouteInfoGot(data.data);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
// TipToast.shortTip(code + "," + msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 获取全部订单列表
|
||||
public void queryOrdersList(int page, int size) {
|
||||
OCHTaxiServiceManagerNew.getInstance().queryOrdersList(mContext, page, size,
|
||||
new OCHTaxiServiceCallback<OrdersListQueryRespBean>() {
|
||||
@Override
|
||||
public void onSuccess(OrdersListQueryRespBean data) {
|
||||
if (null != data && 0 == data.code) {
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onOrdersListPageRefresh(data.data.orders);
|
||||
@Override
|
||||
public void onSuccess(OrdersListQueryRespBean data) {
|
||||
if (null != data && 0 == data.code) {
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onOrdersListPageRefresh(data.data.orders);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
TipToast.shortTip("请求异常,请稍后重试");
|
||||
}
|
||||
});
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
TipToast.shortTip("请求异常,请稍后重试");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询新到预约单
|
||||
*
|
||||
* 注:只有在本地缓存mNewBookingOrder为null时(执行完抢单or司机关闭改单),才更新新到待抢单
|
||||
*/
|
||||
*/
|
||||
public void queryNewBookingOrder() {
|
||||
OCHTaxiServiceManagerNew.getInstance().queryNewBookingOrder(mContext,
|
||||
new OCHTaxiServiceCallback<OrdersNewBookingQueryRespBean>() {
|
||||
@Override
|
||||
public void onSuccess(OrdersNewBookingQueryRespBean data) {
|
||||
if (data != null && data.code == 0
|
||||
&& data.data != null && data.data.orders.size() > 0) {
|
||||
// 本地无新到单,且本次新到单id与上次收到的新单id不同时:显示本次新到单
|
||||
if (mNewBookingOrder == null ) {
|
||||
for (Long orderId : data.data.orders) {
|
||||
if (mPrevOrderId != orderId.longValue()) {
|
||||
queryNewBookingContent(orderId.longValue());
|
||||
break;
|
||||
@Override
|
||||
public void onSuccess(OrdersNewBookingQueryRespBean data) {
|
||||
if (data != null && data.code == 0
|
||||
&& data.data != null && data.data.orders.size() > 0) {
|
||||
// 本地无新到单,且本次新到单id与上次收到的新单id不同时:显示本次新到单
|
||||
if (mNewBookingOrder == null ) {
|
||||
for (Long orderId : data.data.orders) {
|
||||
if (mPrevOrderId != orderId.longValue()) {
|
||||
queryNewBookingContent(orderId.longValue());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 仅限于获取到新待抢单且需要展示时查询该单信息:(queryOrderById接口可以查询属于该车的单、未派的单)
|
||||
private void queryNewBookingContent(final long orderId) {
|
||||
OCHTaxiServiceManagerNew.getInstance().queryOrderById(mContext, orderId,
|
||||
new OCHTaxiServiceCallback<OrderQueryRespBean>() {
|
||||
@Override
|
||||
public void onSuccess(OrderQueryRespBean data) {
|
||||
if (data != null && data.code == 0
|
||||
&& data.data != null && data.data.orderId == orderId
|
||||
&& data.data.orderType == OrderTypeEnum.Reserved.getType()) {
|
||||
mNewBookingOrder = data.data;
|
||||
mPrevOrderId = data.data.orderId;
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onNewBookingOrderGot(mNewBookingOrder);
|
||||
@Override
|
||||
public void onSuccess(OrderQueryRespBean data) {
|
||||
if (data != null && data.code == 0
|
||||
&& data.data != null && data.data.orderId == orderId
|
||||
&& data.data.orderType == OrderTypeEnum.Reserved.getType()) {
|
||||
mNewBookingOrder = data.data;
|
||||
mPrevOrderId = data.data.orderId;
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onNewBookingOrderGot(mNewBookingOrder);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 执行抢单动作
|
||||
@@ -566,22 +570,22 @@ public class MogoOCHTaxiModelNew {
|
||||
final long orderId = mNewBookingOrder.orderId;
|
||||
OCHTaxiServiceManagerNew.getInstance().grabOrder(mContext, orderId,
|
||||
new OCHTaxiServiceCallback<OrderGrabRespBean>() {
|
||||
@Override
|
||||
public void onSuccess(OrderGrabRespBean data) {
|
||||
if (data != null && data.code == 0
|
||||
&& mNewBookingOrder != null && mNewBookingOrder.orderId == orderId) {
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onGrabOrderExecuteDone();
|
||||
OCHTaxiModelLoopManager.getInstance().startGrabResultLoop();
|
||||
@Override
|
||||
public void onSuccess(OrderGrabRespBean data) {
|
||||
if (data != null && data.code == 0
|
||||
&& mNewBookingOrder != null && mNewBookingOrder.orderId == orderId) {
|
||||
if (mOrderStatusCallback != null) {
|
||||
mOrderStatusCallback.onGrabOrderExecuteDone();
|
||||
OCHTaxiModelLoopManager.getInstance().startGrabResultLoop();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
TipToast.shortTip("请求异常,请稍后重试");
|
||||
}
|
||||
});
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
TipToast.shortTip("请求异常,请稍后重试");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 查询抢单结果
|
||||
@@ -596,77 +600,77 @@ public class MogoOCHTaxiModelNew {
|
||||
final long orderId = mNewBookingOrder.orderId;
|
||||
OCHTaxiServiceManagerNew.getInstance().queryOrderGrabStatus(mContext, orderId,
|
||||
new OCHTaxiServiceCallback<OrderGrabStatusQueryRespBean>() {
|
||||
@Override
|
||||
public void onSuccess(OrderGrabStatusQueryRespBean data) {
|
||||
//OCHTaxiModelLoopManager.getInstance().stopGrabResultLoop();
|
||||
if (data != null && data.code == 0
|
||||
&& mNewBookingOrder != null && mNewBookingOrder.orderId == orderId) {
|
||||
if (data.data.grabStatus == 0) {
|
||||
return; //抢单中,不处理继续轮询结果
|
||||
}
|
||||
if (mOrderStatusCallback != null) {
|
||||
if (data.data.grabStatus == 1) {
|
||||
mOrderStatusCallback.onGrabOrderSuccess(mNewBookingOrder);
|
||||
} else if (data.data.grabStatus == 2) {
|
||||
mOrderStatusCallback.onGrabOrderFailed(mNewBookingOrder);
|
||||
@Override
|
||||
public void onSuccess(OrderGrabStatusQueryRespBean data) {
|
||||
//OCHTaxiModelLoopManager.getInstance().stopGrabResultLoop();
|
||||
if (data != null && data.code == 0
|
||||
&& mNewBookingOrder != null && mNewBookingOrder.orderId == orderId) {
|
||||
if (data.data.grabStatus == 0) {
|
||||
return; //抢单中,不处理继续轮询结果
|
||||
}
|
||||
if (mOrderStatusCallback != null) {
|
||||
if (data.data.grabStatus == 1) {
|
||||
mOrderStatusCallback.onGrabOrderSuccess(mNewBookingOrder);
|
||||
} else if (data.data.grabStatus == 2) {
|
||||
mOrderStatusCallback.onGrabOrderFailed(mNewBookingOrder);
|
||||
} else {
|
||||
// TODO: 2021/9/22 需根据具体内容给予提示,如订单已取消
|
||||
mOrderStatusCallback.onGrabOrderFailed(mNewBookingOrder);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// TODO: 2021/9/22 需根据具体内容给予提示,如订单已取消
|
||||
mOrderStatusCallback.onGrabOrderFailed(mNewBookingOrder);
|
||||
if (mOrderStatusCallback != null) {
|
||||
// TODO: 2021/9/22 如果用户已取消单,抢单失败时暂返回null,UI当前直接恢复原页面内容,后续优化
|
||||
mOrderStatusCallback.onGrabOrderFailed(null);
|
||||
}
|
||||
}
|
||||
OCHTaxiModelLoopManager.getInstance().stopGrabResultLoop();
|
||||
cancelNewBookingOrder();
|
||||
}
|
||||
} else {
|
||||
if (mOrderStatusCallback != null) {
|
||||
// TODO: 2021/9/22 如果用户已取消单,抢单失败时暂返回null,UI当前直接恢复原页面内容,后续优化
|
||||
mOrderStatusCallback.onGrabOrderFailed(null);
|
||||
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
|
||||
}
|
||||
}
|
||||
OCHTaxiModelLoopManager.getInstance().stopGrabResultLoop();
|
||||
cancelNewBookingOrder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 车机端上传心跳数据(只在出车状态时上传)
|
||||
public void runCarHeartbeat() {
|
||||
OCHTaxiServiceManagerNew.getInstance().runCarHeartbeat(mContext, mLongitude, mLatitude,
|
||||
new OCHTaxiServiceCallback<BaseData>() {
|
||||
@Override
|
||||
public void onSuccess(BaseData data) {
|
||||
@Override
|
||||
public void onSuccess(BaseData data) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 查询司机服务数据
|
||||
public void queryDriverServiceData() {
|
||||
OCHTaxiServiceManagerNew.getInstance().queryDriverServiceData(mContext,
|
||||
new OCHTaxiServiceCallback<DriverServiceDataRespBean>() {
|
||||
@Override
|
||||
public void onSuccess(DriverServiceDataRespBean data) {
|
||||
if (data != null && data.code == 0
|
||||
&& data.data != null && data.data.immediate != null) {
|
||||
if (mCarStatusCallback != null) {
|
||||
mCarStatusCallback.onServiceDataUpdate(
|
||||
data.data.immediate.timeDuration, data.data.immediate.orderNum);
|
||||
@Override
|
||||
public void onSuccess(DriverServiceDataRespBean data) {
|
||||
if (data != null && data.code == 0
|
||||
&& data.data != null && data.data.immediate != null) {
|
||||
if (mCarStatusCallback != null) {
|
||||
mCarStatusCallback.onServiceDataUpdate(
|
||||
data.data.immediate.timeDuration, data.data.immediate.orderNum);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 取消当前新到预约单
|
||||
@@ -724,7 +728,7 @@ public class MogoOCHTaxiModelNew {
|
||||
|
||||
if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE
|
||||
== Integer.parseInt(DebugConfig.getAutoPilotStatus())) {
|
||||
// TODO: 2021/11/28 工控机存在刚开始状态为0,但是可以开启变为2,工控机解决前不显示此toast
|
||||
// TODO: 2021/11/28 工控机存在刚开始状态为0,但是可以开启变为2,工控机解决前不显示此toast
|
||||
// TipToast.shortTip("自动驾驶状态为不可用!");
|
||||
}
|
||||
|
||||
|
||||
@@ -126,6 +126,12 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
MogoOCHTaxiModelNew.getInstance().startOrStopOrderLoop();
|
||||
}
|
||||
|
||||
private void initNaviView(View view) {
|
||||
mNaviIcon = view.findViewById(R.id.module_och_taxi_navi_iv);
|
||||
mNaviIcon.setOnClickListener(this);
|
||||
|
||||
Reference in New Issue
Block a user