[6.0.0] 待服务订单取消订单按钮逻辑

This commit is contained in:
wangmingjun
2023-08-29 17:02:05 +08:00
parent 4d4f60d5e0
commit 459e64b8e8
4 changed files with 36 additions and 12 deletions

View File

@@ -91,18 +91,7 @@ class TaxiCurrentTaskViewModel : BaseViewModel<UnmannedState, TaskUiIntent>(),
private fun cancelOrder(cancelType: Int) {
val currentTaskWithOrder = TaxiTaskModel.getCurrentTaskWithOrder()
currentTaskWithOrder?.order?.also {
cancelOrder(AbsMogoApplication.getApp().applicationContext,
it.orderNo,
cancelType,
object : OchCommonServiceCallback<BaseData> {
override fun onSuccess(data: BaseData?) {
d(TAG, "handleCancelOrder() = onSuccess")
}
override fun onFail(code: Int, msg: String?) {
d(TAG, "handleCancelOrder() $code $msg")
}
})
TaxiTaskModel.cancelOrder(it.orderNo,cancelType)
}
}

View File

@@ -7,6 +7,7 @@ import android.view.View
import androidx.core.content.ContextCompat
import com.mogo.commons.mvp.BaseFragment
import com.mogo.eagle.core.function.main.MainMoGoApplication
import com.mogo.eagle.core.utilcode.kotlin.onClick
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.och.taxi.R
import com.mogo.och.taxi.bean.OrderDetail
@@ -14,6 +15,7 @@ import com.mogo.och.taxi.bean.QueryCurrentTaskRespBean
import com.mogo.och.taxi.constant.TaskStatusEnum
import com.mogo.och.taxi.constant.TaskTypeEnum
import com.mogo.och.taxi.utils.TaskUtils
import kotlinx.android.synthetic.main.task_fragment_current.cancelOrder
import kotlinx.android.synthetic.main.task_fragment_current.endStationName
import kotlinx.android.synthetic.main.task_fragment_current.mCurrentTaskLayout
import kotlinx.android.synthetic.main.task_fragment_current.naviToEnd
@@ -49,6 +51,17 @@ class TaxiNextTaskFragment : BaseFragment() {
}
override fun initViews() {
cancelOrder.onClick { //取消待服务订单
val currentWithOrder = TaxiTaskModel.getCurrentTaskWithOrder()
if (currentWithOrder?.order != null) {
val order = currentWithOrder.order
activity?.also {
TaxiOrderCancelDialog(it, order!!.orderStatus) { type ->
TaxiTaskModel.cancelOrder(order.orderNo,type)
}.show()
}
}
}
showNoNextTaskView()
}

View File

@@ -53,6 +53,11 @@ public class TaxiOrderCancelDialog extends AlertDialog implements View.OnClickLi
private void initReasonArray() {
TaxiOrderStatusEnum ochStatus = TaxiOrderStatusEnum.valueOf(mOrderStatus);
switch (ochStatus) {
case None:
mContentArrays = new String[]{TaxiOrderCancelReasons.BookPassengerCancel.getMsg(),
TaxiOrderCancelReasons.CarBroken.getMsg(), TaxiOrderCancelReasons.BookJourneyConflict.getMsg(),
TaxiOrderCancelReasons.BatteryLow.getMsg(), TaxiOrderCancelReasons.BookOther.getMsg()};
return;
case OnTheWayToStart:
mContentArrays = new String[]{TaxiOrderCancelReasons.CarBroken.getMsg(), TaxiOrderCancelReasons.DeviceBroken.getMsg(),
TaxiOrderCancelReasons.BatteryLow.getMsg(), TaxiOrderCancelReasons.DriverIsIll.getMsg(),

View File

@@ -748,6 +748,23 @@ object TaxiTaskModel {
})
}
/**
* 取消订单 进行中/待服务
*/
fun cancelOrder(orderNo: String,cancelType: Int){
TaxiTaskWithOrderServiceManager.cancelOrder(AbsMogoApplication.getApp().applicationContext,
orderNo, cancelType,
object : OchCommonServiceCallback<BaseData> {
override fun onSuccess(data: BaseData?) {
d(TAG, "handleCancelOrder() = onSuccess")
}
override fun onFail(code: Int, msg: String?) {
d(TAG, "handleCancelOrder() $code $msg")
}
})
}
fun updateLocalCalculateStation() {
if (mCurrentTaskWithOrder == null) return
if (mCurrentTaskWithOrder!!.startSite != null && mCurrentTaskWithOrder!!.endSite != null