提交分数部分页面

This commit is contained in:
yangyakun
2022-05-13 18:04:05 +08:00
parent 265d9284e1
commit 160a2b9dc6
14 changed files with 187 additions and 50 deletions

View File

@@ -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;
}

View File

@@ -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;
}
}

View File

@@ -0,0 +1,5 @@
package com.mogo.och.taxi.passenger.callback;
public interface ITaxiPassengerCommonCallback {
void onCommonCallback();
}

View File

@@ -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<TaxiPassengerBaseRespBean>() {
@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<TaxiPassengerBaseRespBean>() {
@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;

View File

@@ -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<TaxiPassengerBaseRespBean> 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<TaxiPassengerBaseRespBean> arrivedAndScore(@Header ("appId") String appId, @Header("ticket") String ticket, @Body TaxiPassengerScoreUpdateOrderReqBean data);
}

View File

@@ -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<TaxiPassengerBaseRespBean> callback){
mOCHTaxiServiceApi.arrivedAndScore(
MoGoAiCloudClientConfig.getInstance().getServiceAppId()
,MoGoAiCloudClientConfig.getInstance().getToken()
,new TaxiPassengerScoreUpdateOrderReqBean(orderNo,star))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(getSubscribeImpl(context, callback, "checkPhoneAndUpdateOrderStatus"));

View File

@@ -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<TaxiPassengerBaseFragm
runOnUIThread(() -> 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<TaxiPassengerBaseFragm
}
public void checkAndUpdateStatus(String phone){
TaxiPassengerModel.getInstance().checkPhoneAndUpdateStatus(phone);
TaxiPassengerModel.getInstance().checkPhoneAndUpdateStatus(phone, new ITaxiPassengerCommonCallback() {
@Override
public void onCommonCallback() {
mView.showOrHidePressengerCheckPager(false,"","","","","");
}
});
}
/**
*
* @param score 分数
*/
public void arrivedAndScore(int score){
TaxiPassengerModel.getInstance().arrivedAndScore(score, new ITaxiPassengerCommonCallback() {
@Override
public void onCommonCallback() {
mView.showOrHideArrivedEndLayout(false,"");
}
});
}
}

View File

@@ -52,6 +52,7 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
private View mArrivedEndView;
private TaxiPassengerCheckView mArrivedCheckView;
private TextView mArrivedEndStation;
private TextView tvPleaseScore;
protected TaxiPassengerServingOrderFragment ochServingOrderFragment = null;
@@ -84,6 +85,7 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
// mArrivedEndCL = findViewById(R.id.taxi_p_arrive_end_bg);
mArrivedEndView = LayoutInflater.from(getContext()).inflate(R.layout.taxi_p_arrived_end_panel,null);
mArrivedEndStation = mArrivedEndView.findViewById(R.id.arrived_end_station);
tvPleaseScore = mArrivedEndView.findViewById(R.id.tv_please_score);
mArrivedCheckView = new TaxiPassengerCheckView(getContext());
mMapswitchBtn = findViewById(R.id.module_och_taxi_swich_map_iv);
@@ -115,6 +117,12 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
}
});
mArrivedCheckView.setOnCheckPhoneAndUpdateStatusListener(phoneTail -> 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<TaxiPassengerBaseFrag
mArrivedCheckView.setData(startSiteAddr, endSiteAddr, passengerNum, carNumber,phone);
OverlayViewUtils.showOverlayView(getActivity(), mArrivedCheckView);
} else {
OverlayViewUtils.dismissOverlayView(mArrivedCheckView);
mArrivedCheckView.setData("--", "--", "--", "--","");
OverlayViewUtils.dismissOverlayView(mArrivedCheckView);
}
}catch (Exception e){
e.printStackTrace();

View File

@@ -181,6 +181,9 @@ class TaxiPassengerCheckView :RelativeLayout, View.OnClickListener {
tvPassengerStart.text = "起 点 : $startSiteAddr"
tvPassengerEnd.text = "终 点 : $endSiteAddr"
tvTaxiNumber.text = "蘑菇 " + carNumber + "为您服务"
for(i in numSelect.indices){
numSelect[i] = null
}
}
companion object {

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#E0263D65"/>
<corners android:radius="@dimen/dp_46"/>
</shape>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#4C82BBFF" android:centerColor="#B8DFFF"
android:endColor="#4C82BBFF"/>
</shape>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:topRightRadius="@dimen/dp_100" android:bottomRightRadius="@dimen/dp_100" />
<gradient android:startColor="#FCDD18" android:endColor="#F8B70A" android:angle="270"/>
</shape>

View File

@@ -7,50 +7,72 @@
android:background="@drawable/taxi_p_arrive_end_panel_bg"
tools:ignore="MissingDefaultResource">
<TextView
android:id="@+id/arrived_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_88"
android:layout_marginBottom="@dimen/dp_190"
android:includeFontPadding="false"
android:text="@string/taxi_p_arrived_title"
android:textColor="@android:color/white"
android:textSize="@dimen/taxi_p_arrived_end_tv_size"
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="@dimen/dp_867"
android:layout_height="@dimen/dp_657"
android:layout_marginStart="@dimen/dp_109"
android:layout_marginBottom="@dimen/dp_110"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent" />
android:background="@drawable/bg_taxi_p_arrived_info"
app:layout_constraintStart_toStartOf="parent">
<TextView
android:id="@+id/arrived_end_station"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_30"
android:includeFontPadding="false"
android:textColor="@android:color/white"
android:textSize="@dimen/taxi_p_arrived_end_tv_size"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/arrived_title"
app:layout_constraintLeft_toRightOf="@+id/arrived_title"
app:layout_constraintTop_toTopOf="@+id/arrived_title" />
<View
android:id="@+id/bg_taxi_p_arrived_info_yello_v"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@drawable/bg_taxi_p_arrived_info_yello_v"
android:layout_marginTop="@dimen/dp_86"
android:layout_width="@dimen/dp_12"
android:layout_height="@dimen/dp_140"/>
<TextView
android:id="@+id/arrived_end_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_30"
android:includeFontPadding="false"
android:text="@string/taxi_p_arrived_end_tips"
android:textColor="@color/taxi_p_arrive_end_tip_color"
android:textSize="@dimen/taxi_p_arrived_end_tip_size"
app:layout_constraintLeft_toLeftOf="@+id/arrived_title"
app:layout_constraintTop_toBottomOf="@+id/arrived_title" />
<TextView
android:id="@+id/arrived_end_station_title"
app:layout_constraintTop_toTopOf="@+id/bg_taxi_p_arrived_info_yello_v"
app:layout_constraintStart_toEndOf="@+id/bg_taxi_p_arrived_info_yello_v"
android:text="已到达"
android:layout_marginStart="@dimen/dp_41"
android:textColor="@android:color/white"
android:textSize="@dimen/sp_46"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<View
android:layout_width="@dimen/dp_18"
android:layout_height="0dp"
android:background="@color/taxi_p_arrive_end_bg_line_color"
app:layout_constraintBottom_toBottomOf="@+id/arrived_end_tip"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="@+id/arrived_title" />
<TextView
android:id="@+id/arrived_end_station"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@+id/arrived_end_station_title"
app:layout_constraintStart_toStartOf="@+id/arrived_end_station_title"
android:layout_marginTop="@dimen/dp_31"
android:includeFontPadding="false"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_56"
android:textStyle="bold"
tools:text="环球贸易中心-北门"/>
<View
android:id="@+id/v_line"
app:layout_constraintTop_toBottomOf="@+id/arrived_end_station"
android:layout_marginTop="@dimen/dp_49"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginStart="@dimen/dp_60"
android:layout_marginEnd="@dimen/dp_60"
android:layout_width="0dp"
android:layout_height="1px"
android:background="@drawable/bg_taxi_p_arrived_info_line" />
<TextView
android:id="@+id/tv_please_score"
app:layout_constraintStart_toStartOf="@+id/arrived_end_station"
app:layout_constraintTop_toBottomOf="@+id/v_line"
android:layout_marginTop="@dimen/dp_52"
android:textColor="@android:color/white"
android:textSize="@dimen/sp_46"
android:text="请对本次行程评分"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -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"