From 160a2b9dc67db1517ca2e3f099589e17ea409bc0 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 13 May 2022 18:04:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=88=86=E6=95=B0=E9=83=A8?= =?UTF-8?q?=E5=88=86=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...PassengerCheckPhoneUpdateOrderReqBean.java | 2 +- .../TaxiPassengerScoreUpdateOrderReqBean.java | 17 +++ .../ITaxiPassengerCommonCallback.java | 5 + .../passenger/model/TaxiPassengerModel.java | 28 ++++- .../network/TaxiPassengerServiceApi.java | 10 ++ .../network/TaxiPassengerServiceManager.java | 12 +- .../presenter/BaseTaxiPassengerPresenter.java | 26 ++++- .../ui/TaxiPassengerBaseFragment.java | 10 +- .../passenger/ui/TaxiPassengerCheckView.kt | 3 + .../res/drawable/bg_taxi_p_arrived_info.xml | 6 + .../drawable/bg_taxi_p_arrived_info_line.xml | 6 + .../bg_taxi_p_arrived_info_yello_v.xml | 6 + .../res/layout/taxi_p_arrived_end_panel.xml | 104 +++++++++++------- .../layout/taxi_p_passenger_check_panel.xml | 2 - 14 files changed, 187 insertions(+), 50 deletions(-) create mode 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerScoreUpdateOrderReqBean.java create mode 100644 OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/ITaxiPassengerCommonCallback.java create mode 100644 OCH/mogo-och-taxi-passenger/src/main/res/drawable/bg_taxi_p_arrived_info.xml create mode 100644 OCH/mogo-och-taxi-passenger/src/main/res/drawable/bg_taxi_p_arrived_info_line.xml create mode 100644 OCH/mogo-och-taxi-passenger/src/main/res/drawable/bg_taxi_p_arrived_info_yello_v.xml diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerCheckPhoneUpdateOrderReqBean.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerCheckPhoneUpdateOrderReqBean.java index 6e1c9544ce..ffef1d0a34 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerCheckPhoneUpdateOrderReqBean.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerCheckPhoneUpdateOrderReqBean.java @@ -10,7 +10,7 @@ public class TaxiPassengerCheckPhoneUpdateOrderReqBean { public String orderNo; public String phone; - public TaxiPassengerCheckPhoneUpdateOrderReqBean(String driverSn, String orderNo,String phone) { + public TaxiPassengerCheckPhoneUpdateOrderReqBean(String orderNo,String phone) { this.orderNo = orderNo; this.phone = phone; } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerScoreUpdateOrderReqBean.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerScoreUpdateOrderReqBean.java new file mode 100644 index 0000000000..75234703cf --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/bean/TaxiPassengerScoreUpdateOrderReqBean.java @@ -0,0 +1,17 @@ +package com.mogo.och.taxi.passenger.bean; + +/** + * Created by pangfan on 2021/8/19 + * + * 验证手机号后四位同时流转订单状态 + */ +public class TaxiPassengerScoreUpdateOrderReqBean { + + public String orderNo; + public int star; + + public TaxiPassengerScoreUpdateOrderReqBean(String orderNo, int star) { + this.orderNo = orderNo; + this.star = star; + } +} diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/ITaxiPassengerCommonCallback.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/ITaxiPassengerCommonCallback.java new file mode 100644 index 0000000000..937b4913b9 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/ITaxiPassengerCommonCallback.java @@ -0,0 +1,5 @@ +package com.mogo.och.taxi.passenger.callback; + +public interface ITaxiPassengerCommonCallback { + void onCommonCallback(); +} diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java index 3ad46fa372..d51972499c 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java @@ -41,6 +41,7 @@ import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerAutopilotPlanningCa import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerControllerStatusCallback; import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerNaviChangedCallback; import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback; +import com.mogo.och.taxi.passenger.callback.ITaxiPassengerCommonCallback; import com.mogo.och.taxi.passenger.callback.ITaxiPassengerVeloctityCallback; import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst; import com.mogo.och.taxi.passenger.constant.TaxiPassengerOrderStatusEnum; @@ -675,14 +676,17 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback SharedPrefsMgr.getInstance(mContext).putInt(TaxiPassengerConst.SP_KEY_ORDER_SUM_DIS,(int) sumLength); } - public void checkPhoneAndUpdateStatus(String phoneTail) { + public void checkPhoneAndUpdateStatus(String phoneTail,ITaxiPassengerCommonCallback commonCallback) { if (mCurrentOCHOrder == null) return; CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "--route--- checkPhoneAndUpdateStatus"); TaxiPassengerServiceManager.getInstance().checkPhoneAndUpdateOrderStatus(mContext, mCurrentOCHOrder.orderNo, phoneTail, new TaxiPassengerServiceCallback() { @Override public void onSuccess(TaxiPassengerBaseRespBean data) { - ToastUtils.showLong("success"); + ToastUtils.showLong("验证成功"); + if(commonCallback!=null) { + commonCallback.onCommonCallback(); + } } @Override @@ -697,6 +701,26 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback }); } + public void arrivedAndScore(int score,ITaxiPassengerCommonCallback commonCallback) { + if (mCurrentOCHOrder == null) return; + CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "--route--- checkPhoneAndUpdateStatus"); + TaxiPassengerServiceManager.getInstance().arrivedAndScore(mContext,mCurrentOCHOrder.orderNo, + score, new TaxiPassengerServiceCallback() { + @Override + public void onSuccess(TaxiPassengerBaseRespBean data) { + ToastUtils.showLong("评分成功"); + if(commonCallback!=null) { + commonCallback.onCommonCallback(); + } + } + + @Override + public void onFail(int code, String msg) { + ToastUtils.showLong(msg); + } + }); + } + private void runOnUIThread(Runnable executor) { if (executor == null) { return; diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceApi.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceApi.java index 7703a2bf14..1f7cf749b2 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceApi.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceApi.java @@ -6,6 +6,7 @@ import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryReqBean; import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean; import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrdersInServiceQueryRespBean; import com.mogo.och.taxi.passenger.bean.TaxiPassengerQueryOrderRouteResp; +import com.mogo.och.taxi.passenger.bean.TaxiPassengerScoreUpdateOrderReqBean; import io.reactivex.Observable; import retrofit2.http.Body; @@ -75,4 +76,13 @@ interface TaxiPassengerServiceApi { @POST( "/autopilot-car-hailing/passenger/v2/vehicle/taxi/verification/phone" ) Observable checkPhoneAndUpdateOrderStatus(@Header ("appId") String appId, @Header("ticket") String ticket, @Body TaxiPassengerCheckPhoneUpdateOrderReqBean data); + /** + * 通过orderNo查询订单信息(用于本地已经有orderNo时) + * @param data + * @return + */ + @Headers( {"Content-type:application/json;charset=UTF-8"} ) + @POST( "/autopilot-car-hailing/evaluation/vehicle/taxi/passenger/add" ) + Observable arrivedAndScore(@Header ("appId") String appId, @Header("ticket") String ticket, @Body TaxiPassengerScoreUpdateOrderReqBean data); + } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.java index 099aebd508..0e47bb6c92 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/network/TaxiPassengerServiceManager.java @@ -19,6 +19,7 @@ import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryReqBean; import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean; import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrdersInServiceQueryRespBean; import com.mogo.och.taxi.passenger.bean.TaxiPassengerQueryOrderRouteResp; +import com.mogo.och.taxi.passenger.bean.TaxiPassengerScoreUpdateOrderReqBean; import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -149,7 +150,16 @@ public class TaxiPassengerServiceManager { mOCHTaxiServiceApi.checkPhoneAndUpdateOrderStatus( MoGoAiCloudClientConfig.getInstance().getServiceAppId() ,MoGoAiCloudClientConfig.getInstance().getToken() - ,new TaxiPassengerCheckPhoneUpdateOrderReqBean(getDriverAppSn(),orderNo,phone)) + ,new TaxiPassengerCheckPhoneUpdateOrderReqBean(orderNo,phone)) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(getSubscribeImpl(context, callback, "checkPhoneAndUpdateOrderStatus")); + } + public void arrivedAndScore(Context context, String orderNo,int star,TaxiPassengerServiceCallback callback){ + mOCHTaxiServiceApi.arrivedAndScore( + MoGoAiCloudClientConfig.getInstance().getServiceAppId() + ,MoGoAiCloudClientConfig.getInstance().getToken() + ,new TaxiPassengerScoreUpdateOrderReqBean(orderNo,star)) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(getSubscribeImpl(context, callback, "checkPhoneAndUpdateOrderStatus")); diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java index c4671cfb9e..69b5e4122a 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java @@ -18,6 +18,7 @@ import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean; import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerADASStatusCallback; import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerControllerStatusCallback; import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback; +import com.mogo.och.taxi.passenger.callback.ITaxiPassengerCommonCallback; import com.mogo.och.taxi.passenger.constant.TaxiPassengerOrderStatusEnum; import com.mogo.och.taxi.passenger.model.TaxiPassengerGeocodeSearchModel; import com.mogo.och.taxi.passenger.model.TaxiPassengerModel; @@ -153,8 +154,11 @@ public class BaseTaxiPassengerPresenter extends Presenter mView.showOrHidePressengerCheckPager(true, order.startSiteAddr, order.endSiteAddr, order.passengerNum, order.carNumber, order.passengerPhone)); return; + }else { + runOnUIThread(() -> mView.showOrHidePressengerCheckPager(false, "", + "", "", "", "")); } - if (TaxiPassengerOrderStatusEnum.ArriveAtStart.getCode() == order.orderStatus + if (TaxiPassengerOrderStatusEnum.UserArriveAtStart.getCode() == order.orderStatus || TaxiPassengerOrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus){ runOnUIThread(() -> mView.showOrHideServingOrderFragment(true)); return; @@ -180,7 +184,25 @@ public class BaseTaxiPassengerPresenter extends Presenter getPresenter().checkAndUpdateStatus(phoneTail)); + tvPleaseScore.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + getPresenter().arrivedAndScore(2); + } + }); } /** @@ -273,8 +281,8 @@ public class TaxiPassengerBaseFragment extends MvpFragment + + + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/bg_taxi_p_arrived_info_line.xml b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/bg_taxi_p_arrived_info_line.xml new file mode 100644 index 0000000000..ab6a26f504 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/bg_taxi_p_arrived_info_line.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/bg_taxi_p_arrived_info_yello_v.xml b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/bg_taxi_p_arrived_info_yello_v.xml new file mode 100644 index 0000000000..69284ae518 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/bg_taxi_p_arrived_info_yello_v.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_arrived_end_panel.xml b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_arrived_end_panel.xml index 94a263bb77..46dacafbf3 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_arrived_end_panel.xml +++ b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_arrived_end_panel.xml @@ -7,50 +7,72 @@ android:background="@drawable/taxi_p_arrive_end_panel_bg" tools:ignore="MissingDefaultResource"> - + android:background="@drawable/bg_taxi_p_arrived_info" + app:layout_constraintStart_toStartOf="parent"> - + - + - + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_passenger_check_panel.xml b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_passenger_check_panel.xml index ee2e0a4365..30f52de7f3 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_passenger_check_panel.xml +++ b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_passenger_check_panel.xml @@ -135,8 +135,6 @@ app:blurRadius="@dimen/dp_60" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" - app:och_card_left_bottom_radius="@dimen/dp_40" - app:och_card_right_bottom_radius="@dimen/dp_40" app:shadowColor="@color/taxi_p_check_keyboard_bg" app:shadowRadius="60px" app:xOffset="0px"