From cc5b9f9babafd5e0c794f4f81e62839d868a2789 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 1 Sep 2022 14:40:14 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20token=E8=8E=B7=E5=8F=96=E4=B8=AD?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=8E=A5=E5=8F=A3=E6=9A=82=E5=81=9C3s?= =?UTF-8?q?=E5=90=8E=E9=87=8D=E6=96=B0=E8=8E=B7=E5=8F=96=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E3=80=81=E4=BF=AE=E6=94=B9=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../taxi/bean/DriverStatusQueryRespBean.java | 6 ++-- .../taxi/bean/DriverStatusUpdateReqBean.java | 6 ++-- .../taxi/callback/ITaxiCarStatusCallback.java | 2 +- .../com/mogo/och/taxi/constant/TaxiConst.kt | 2 ++ .../com/mogo/och/taxi/model/TaxiModel.java | 16 +++++++--- .../och/taxi/network/TaxiServiceApiNew.java | 24 +------------- .../och/taxi/network/TaxiServiceManager.java | 32 +++++++------------ .../och/taxi/presenter/TaxiPresenter.java | 2 +- .../mogo/och/taxi/ui/BaseTaxiTabFragment.java | 1 - .../com/mogo/och/taxi/ui/TaxiFragment.java | 3 +- .../main/res/layout/taxi_base_fragment.xml | 2 +- 11 files changed, 34 insertions(+), 62 deletions(-) diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/bean/DriverStatusQueryRespBean.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/bean/DriverStatusQueryRespBean.java index bb65c2efc8..ac630c9ecf 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/bean/DriverStatusQueryRespBean.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/bean/DriverStatusQueryRespBean.java @@ -5,14 +5,14 @@ import com.mogo.eagle.core.data.BaseData; /** * Created by pangfan on 2021/8/19 * - * 收车/出车状态查询返回数据结构 + * 状态查询返回数据结构 */ public class DriverStatusQueryRespBean extends BaseData { public Result data; public static class Result { - public int servingStatus; //0收车,1出车 - public int driverStatus; //0收车,1出车 + public int servingStatus; //1接单,1暂停接单 + public int driverStatus; //1登录,0登出 public String orderNo; public int purpose; // 1 运营, 2 测试, 3演示 } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/bean/DriverStatusUpdateReqBean.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/bean/DriverStatusUpdateReqBean.java index 73481aa296..cb018309d7 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/bean/DriverStatusUpdateReqBean.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/bean/DriverStatusUpdateReqBean.java @@ -3,14 +3,12 @@ package com.mogo.och.taxi.bean; /** * Created by pangfan on 2021/8/19 * - * 收车/出车状态更新请求数据结构 + * 状态更新请求数据结构 */ public class DriverStatusUpdateReqBean { public String sn; - public int status; //0收车,1出车 - public DriverStatusUpdateReqBean(String sn, int status) { + public DriverStatusUpdateReqBean(String sn) { this.sn = sn; - this.status = status; } } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiCarStatusCallback.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiCarStatusCallback.java index f6fd4d6810..ac0eddc08a 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiCarStatusCallback.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiCarStatusCallback.java @@ -3,7 +3,7 @@ package com.mogo.och.taxi.callback; /** * Created on 2021/9/8 * - * Model->Presenter回调:出车/收车状态变更 + * Model->Presenter回调:接单车状态变更 登录状态变更 */ public interface ITaxiCarStatusCallback { void onCarStatusChanged(boolean inOperation,String role); diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/constant/TaxiConst.kt b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/constant/TaxiConst.kt index cd34ecc455..41a1280592 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/constant/TaxiConst.kt +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/constant/TaxiConst.kt @@ -80,5 +80,7 @@ class TaxiConst { const val TYPE_MARKER_TAXI_ORDER = "TYPE_MARKER_TAXI_ORDER" const val TIMER_START_AUTOPILOT_INTERVAL = 20 * 1000L + + const val WAIT_TAKEN = 100046 } } \ No newline at end of file diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index 58818e76ee..f09f6d1d4f 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -116,7 +116,7 @@ public class TaxiModel { private volatile List mWaitServiceList = Collections.emptyList(); //待服务订单 private ITaxiADASStatusCallback mADASStatusCallback; //Model->Presenter:自动驾驶状态相关 - private ITaxiCarStatusCallback mCarStatusCallback; //Model->Presenter:出车/收车状态 + private ITaxiCarStatusCallback mCarStatusCallback; //Model->Presenter:接单状态、登录状态和司机今日接单状态 private ITaxiControllerStatusCallback mControllerStatusCallback; //Model->Presenter:VR mode等 private ITaxiOrderStatusCallback mOrderStatusCallback; //Model->Presenter:订单变更 private Disposable subscribe; @@ -262,7 +262,7 @@ public class TaxiModel { } /** - * 查询出车/收车状态 + * 接单状态和登录状态查询 * 1、初始化查下状态 * 2、点击更新接单状态 如果是初始化状态就查下状态 * 3、点击更新接单状态后 查询状态 @@ -311,14 +311,20 @@ public class TaxiModel { @Override public void onFail(int code, String msg) { ToastUtilsOch.showWithCodeMessage(code,msg); - if(mCarStatusCallback!=null) { - mCarStatusCallback.onCarLoginStatusChange(StatusManager.isLogin()); + if(code==TaxiConst.WAIT_TAKEN){ + subscribe = Observable.timer(3, TimeUnit.SECONDS).subscribe(aLong -> { + queryCarStatus(); + }); + }else { + if (mCarStatusCallback != null) { + mCarStatusCallback.onCarLoginStatusChange(StatusManager.isLogin()); + } } } }); } - //更新出车收车状态 + //更新接单状态 public void updateCarStatus() { if(!StatusManager.isLogin()){ queryCarStatus(); diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/TaxiServiceApiNew.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/TaxiServiceApiNew.java index fc156d38d2..8b29d4039d 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/TaxiServiceApiNew.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/TaxiServiceApiNew.java @@ -154,28 +154,6 @@ interface TaxiServiceApiNew { Observable updateOrderStatus(@Header ("appId") String appId,@Header("ticket") String ticket ,@Body OrderStatusUpdateReqBean data); - /** - * 收车/出车状态更新 - * @param data - * @return - */ - @Headers( {"Content-type:application/json;charset=UTF-8"} ) -// @POST( "/autopilot-car-hailing/api/v1/driver/serviceStatus/update" ) - @POST( "/autopilot-car-hailing/car/v2/driver/taxi/serviceStatus/update" ) - Observable updateDriverServiceStatus(@Header ("appId") String appId,@Header("ticket") String ticket - ,@Body DriverStatusUpdateReqBean data); - - /** - * 收车/出车状态查询 - * @param sn - * @return - */ - @Headers( {"Content-type:application/json;charset=UTF-8"} ) -// @GET( "/autopilot-car-hailing/api/v1/driver/serviceStatus/query" ) - @GET( "/autopilot-car-hailing/car/v2/driver/taxi/serviceStatus/query" ) - Observable queryDriverServiceStatus(@Header ("appId") String appId - ,@Header("ticket") String ticket,@Query("sn") String sn); - /** * 车机端上传心跳数据(只在出车状态时上传):包含高德坐标系经纬度 * @param data @@ -362,7 +340,7 @@ interface TaxiServiceApiNew { Observable resetOrderServing(@Header ("appId") String appId,@Header("ticket") String ticket ,@Body DriverStatusUpdateReqBean data); /** - * 收车/出车状态和登录状态查询 + * 接单状态和登录状态查询 * @param sn * @return */ diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/TaxiServiceManager.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/TaxiServiceManager.java index 4e2750299a..333ca64fd9 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/TaxiServiceManager.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/network/TaxiServiceManager.java @@ -4,6 +4,7 @@ import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAX import android.content.Context; +import com.mogo.cloud.passport.MoGoAiCloudClient; import com.mogo.cloud.passport.MoGoAiCloudClientConfig; import com.mogo.eagle.core.data.BaseData; import com.mogo.eagle.core.network.MoGoRetrofitFactory; @@ -237,22 +238,6 @@ public class TaxiServiceManager { .subscribe(getSubscribeImpl(context, callback, "updateOrderStatus")); } -// /** -// * 收车/出车状态更新 -// * @param context -// * @param status -// * @param callback -// */ -// public void updateDriverServiceStatus(Context context, int status, -// TaxiServiceCallback callback) { -// mOCHTaxiServiceApi.updateDriverServiceStatus(MoGoAiCloudClientConfig.getInstance().getServiceAppId() -// ,MoGoAiCloudClientConfig.getInstance().getToken() -// ,new DriverStatusUpdateReqBean( -// MoGoAiCloudClientConfig.getInstance().getSn(), status)) -// .subscribeOn(Schedulers.io()) -// .observeOn(AndroidSchedulers.mainThread()) -// .subscribe(getSubscribeImpl(context, callback, "updateDriverServiceStatus")); -// } /** * 暂停接单 @@ -266,12 +251,12 @@ public class TaxiServiceManager { baseDataObservable = mOCHTaxiServiceApi.stopOrderServing(MoGoAiCloudClientConfig.getInstance().getServiceAppId() , MoGoAiCloudClientConfig.getInstance().getToken() , new DriverStatusUpdateReqBean( - MoGoAiCloudClientConfig.getInstance().getSn(), 0)); + MoGoAiCloudClientConfig.getInstance().getSn())); }else {// 没有接单去接单 baseDataObservable = mOCHTaxiServiceApi.resetOrderServing(MoGoAiCloudClientConfig.getInstance().getServiceAppId() , MoGoAiCloudClientConfig.getInstance().getToken() , new DriverStatusUpdateReqBean( - MoGoAiCloudClientConfig.getInstance().getSn(), 0)); + MoGoAiCloudClientConfig.getInstance().getSn())); } baseDataObservable.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) @@ -279,12 +264,17 @@ public class TaxiServiceManager { } /** - * 收车/出车状态查询 + * 接单状态和登录状态查询 * @param context * @param callback */ public void queryDriverServiceStatus(Context context, TaxiServiceCallback callback) { + if(MoGoAiCloudClientConfig.getInstance().getToken().isEmpty()){ + callback.onFail(TaxiConst.WAIT_TAKEN,"等待令牌中请稍等"); + MoGoAiCloudClient.getInstance().refreshToken(); + return; + } mOCHTaxiServiceApi.queryDriverServiceStatusAndLoginStatus(MoGoAiCloudClientConfig.getInstance().getServiceAppId() ,MoGoAiCloudClientConfig.getInstance().getToken() ,MoGoAiCloudClientConfig.getInstance().getSn()) @@ -466,7 +456,7 @@ public class TaxiServiceManager { } /** - * 收车/出车状态查询 + * 获取手机验证码 * @param context * @param callback */ @@ -480,7 +470,7 @@ public class TaxiServiceManager { .subscribe(getSubscribeImpl(context, callback, "getPhoneCode")); } /** - * 收车/出车状态查询 + * 通过验证码登录 * @param context * @param callback */ diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java index 056ae96298..242054397e 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java @@ -126,7 +126,7 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS TaxiModel.getInstance().confirmAutopilotConditionByDriver(); } - // 更新出车/收车状态 + // 更新接单状态 public void updateCarStatus() { TaxiModel.getInstance().updateCarStatus(); } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java index 8639133655..00f38adf8b 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java @@ -65,7 +65,6 @@ public abstract class BaseTaxiTabFragment