From a66d00efc35c2e4b367fa823c4fa07d81a3cbba5 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 1 Mar 2023 20:10:14 +0800 Subject: [PATCH] =?UTF-8?q?[m1]=20[1.1.2]=20[=E6=8F=90=E5=89=8D=E7=BB=93?= =?UTF-8?q?=E6=9D=9F=E9=A1=B5=E9=9D=A2]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../passenger/model/CharterPassengerModel.kt | 18 ++---- .../bus/passenger/model/OrderStatusEnum.kt | 10 ++-- ...PassengerFunctionEarlyEndOrderPresenter.kt | 41 +++++++++++++ .../presenter/BusPassengerPresenter.kt | 17 +++--- .../och/bus/passenger/ui/M1ContainFragment.kt | 23 +++++++- .../passenger/ui/M1EarlyEndOrderFragment.kt | 59 +++++++++++++++++++ .../mogo/och/bus/passenger/ui/MainFragment.kt | 14 ++++- .../src/m1/res/layout/m1_order_early_end.xml | 15 ++++- 8 files changed, 166 insertions(+), 31 deletions(-) create mode 100644 OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionEarlyEndOrderPresenter.kt create mode 100644 OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1EarlyEndOrderFragment.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt index 6fc6a12ea9..7ddcc1213b 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt @@ -399,6 +399,9 @@ object CharterPassengerModel { } return null } + fun hasOrder():Boolean{ + return orderInfo != null + } // endregion // region车辆服务状态轮询 @@ -636,20 +639,9 @@ object CharterPassengerModel { return Pair(0, false) } - fun endOrder() { + fun endOrder(callback: OchCommonServiceCallback?) { orderInfo?.orderNo?.let { - BusPassengerServiceManager.endOrder( - mContext, it, object : OchCommonServiceCallback { - override fun onSuccess(data: BaseData?) { - if (null != data && 0 == data.code) { - ToastUtils.showShort("结束成功") - } - } - - override fun onFail(code: Int, msg: String) { - ToastUtils.showShort("$code:$msg") - } - }) + BusPassengerServiceManager.endOrder(mContext, it, callback) } } diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/OrderStatusEnum.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/OrderStatusEnum.kt index 7b5727b38c..38dfbdc426 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/OrderStatusEnum.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/OrderStatusEnum.kt @@ -9,11 +9,11 @@ package com.mogo.och.bus.passenger.model * 20 已登出, */ enum class OrderStatusEnum(val code: Int) { - NoOrderUnuse( 0 ), //无订单车闲置 m1_order_noorder.xml 无订单页面 - OrderNoLine( 10), //有订单无线路 m1_order_lineside 选择线路页面 - OrdersWithLine( 20), //有订单有线路 m1_order_lineside 选择线路页面隐藏掉确定取消 - NoOrderUse( 30),; //无订单车不闲置 m1_order_end.xml 开门关门页面 - + Nothing(0), + NoOrderUnuse( 10 ), //无订单车闲置 m1_order_noorder.xml 无订单页面 + OrderNoLine( 20), //有订单无线路 m1_order_lineside 选择线路页面 + OrdersWithLine( 30), //有订单有线路 m1_order_lineside 选择线路页面隐藏掉确定取消 + NoOrderUse( 40),; //无订单车不闲置 m1_order_end.xml 开门关门页面 companion object { @JvmStatic diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionEarlyEndOrderPresenter.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionEarlyEndOrderPresenter.kt new file mode 100644 index 0000000000..82a5bbe7e6 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionEarlyEndOrderPresenter.kt @@ -0,0 +1,41 @@ +package com.mogo.och.bus.passenger.presenter + +import androidx.lifecycle.LifecycleOwner +import com.mogo.eagle.core.data.BaseData +import com.mogo.eagle.core.utilcode.util.ToastUtils +import com.mogo.och.bus.passenger.model.CharterPassengerModel +import com.mogo.och.bus.passenger.ui.M1EarlyEndOrderFragment +import com.mogo.och.common.module.biz.network.OchCommonServiceCallback + +class BusPassengerFunctionEarlyEndOrderPresenter(view: M1EarlyEndOrderFragment?) : + BusBasePassengerFunctionDevicePresenter(view) { + + override fun onCreate(owner: LifecycleOwner) { + super.onCreate(owner) + } + + override fun onResume(owner: LifecycleOwner) { + super.onResume(owner) + } + + override fun onDestroy(owner: LifecycleOwner) { + super.onDestroy(owner) + + } + + fun endOrder() { + CharterPassengerModel.endOrder(object : OchCommonServiceCallback { + override fun onSuccess(data: BaseData?) { + if (null != data && 0 == data.code) { + ToastUtils.showShort("结束成功") + mView?.closeDialogContaion() + } + } + + override fun onFail(code: Int, msg: String) { + ToastUtils.showShort("$code:$msg") + } + }) + } + +} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt index 8b2bbf1941..cca1b5ccd7 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt @@ -40,6 +40,7 @@ class BusPassengerPresenter(view: MainFragment?) : CharterPassengerModel.setiDistanceTimeCallback(this) CharterPassengerModel.setCarTypeChangeListener(this) CallerTelematicListenerManager.addListener(TAG, msgReceived) + setCarChangeListener(R.raw.aiqinghao) //BusPassengerModel.setMoGoAutopilotPlanningListener(this) } @@ -156,21 +157,21 @@ class BusPassengerPresenter(view: MainFragment?) : override fun setCarChangeListener(productType: Int?) { when (productType) { OrderInfoResponse.M1_LOVE -> { - CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(R.raw.aiqinghao) - HdMapBuildConfig.currentCarVrIconRes = R.raw.aiqinghao + mView?.setCarModle(R.raw.aiqinghao) } OrderInfoResponse.M1_FAMILY -> { - CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(R.raw.jiatinghao) - HdMapBuildConfig.currentCarVrIconRes = R.raw.jiatinghao + mView?.setCarModle(R.raw.jiatinghao) } OrderInfoResponse.M1_FRIENDLY -> { - CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(R.raw.pengyouhao) - HdMapBuildConfig.currentCarVrIconRes = R.raw.pengyouhao + mView?.setCarModle(R.raw.pengyouhao) } else -> { - CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(R.raw.aiqinghao) - HdMapBuildConfig.currentCarVrIconRes = R.raw.aiqinghao + mView?.setCarModle(R.raw.aiqinghao) } } } + + fun haveOrder():Boolean { + return CharterPassengerModel.hasOrder() + } } \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1ContainFragment.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1ContainFragment.kt index ac35656fe3..87db6c4884 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1ContainFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1ContainFragment.kt @@ -28,6 +28,7 @@ class M1ContainFragment : var tab: String = VIDEOTAB var fragmentTag: String = M1VideoFragment.TAG var fragment: Fragment? = null + var isEarlyClose:Boolean = false override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -37,6 +38,7 @@ class M1ContainFragment : savedInstanceState?.let { tab = it.getString(SELECTTAB, tab) } + isEarlyClose = tab==SETTINGENDORDERTAB setStyle(STYLE_NO_TITLE, R.style.DialogFullScreen) //dialog全屏 } @@ -62,6 +64,15 @@ class M1ContainFragment : childFragmentManager.findFragmentByTag(M1OrderFragment.TAG) ?: M1OrderFragment.newInstance() } + SETTINGENDORDERTAB -> { + fragment = + childFragmentManager.findFragmentByTag(M1EarlyEndOrderFragment.TAG) + ?: M1EarlyEndOrderFragment.newInstance(object :ContainDismiss{ + override fun closeDialog() { + dismissAllowingStateLoss() + } + }) + } else -> {} } fragment?.let { @@ -155,7 +166,11 @@ class M1ContainFragment : private val settingOrder = CompoundButton.OnCheckedChangeListener { _, isChecked -> CallerLogger.d(M_BUS_P+TAG, "settingOrder$isChecked") if (isChecked) { - tab = SETTINGORDERTAB + if(isEarlyClose){ + tab = SETTINGENDORDERTAB + }else{ + tab = SETTINGORDERTAB + } fragmentTag = M1OrderFragment.TAG cb_bp_video_player.isChecked = false cb_bp_setting_device.isChecked = false @@ -234,6 +249,7 @@ class M1ContainFragment : SETTINGDEVICETAB -> cb_bp_setting_device.isChecked = true SETTINGSOFTTAB -> cb_bp_setting_soft.isChecked = true SETTINGORDERTAB -> cb_bp_setting_order.isChecked = true + SETTINGENDORDERTAB -> cb_bp_setting_order.isChecked = true else -> {} } super.onViewStateRestored(savedInstanceState) @@ -246,6 +262,7 @@ class M1ContainFragment : const val SETTINGSOFTTAB = "SettingSoftTab" const val SETTINGDEVICETAB = "SettingDeviceTab" const val SETTINGORDERTAB = "SettingOrderTab" + const val SETTINGENDORDERTAB = "SettingEndOrderTab" const val SELECTTAB = "SELECTTAB" @@ -257,4 +274,8 @@ class M1ContainFragment : return fragment } } + + interface ContainDismiss{ + fun closeDialog() + } } \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1EarlyEndOrderFragment.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1EarlyEndOrderFragment.kt new file mode 100644 index 0000000000..ff0c1d92e7 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1EarlyEndOrderFragment.kt @@ -0,0 +1,59 @@ +package com.mogo.och.bus.passenger.ui + +import android.os.Bundle +import com.mogo.commons.mvp.MvpFragment +import com.mogo.eagle.core.utilcode.kotlin.onClick +import com.mogo.och.bus.passenger.R +import com.mogo.och.bus.passenger.presenter.BusPassengerFunctionEarlyEndOrderPresenter +import kotlinx.android.synthetic.m1.m1_order_early_end.* + +/** + * @author: yangyakun + * @date: 2023/1/28 + */ +class M1EarlyEndOrderFragment : + MvpFragment() { + + private var dismiss: M1ContainFragment.ContainDismiss?=null + + override fun getLayoutId(): Int { + return R.layout.m1_order_early_end + } + + override fun getTagName(): String { + return TAG + } + + override fun initViews() { + tv_early_end_cancle.onClick { + closeDialogContaion() + } + tv_early_end_submit.onClick { + mPresenter?.endOrder() + } + } + + fun closeDialogContaion(){ + this.dismiss?.closeDialog() + } + + override fun createPresenter(): BusPassengerFunctionEarlyEndOrderPresenter { + return BusPassengerFunctionEarlyEndOrderPresenter(this) + } + + + companion object { + const val TAG = "BusPassengerFunctionOrderFragment" + @JvmStatic + fun newInstance(dismiss: M1ContainFragment.ContainDismiss): M1EarlyEndOrderFragment { + val args = Bundle() + val fragment = M1EarlyEndOrderFragment() + fragment.arguments = args + fragment.setContainDismiss(dismiss) + return fragment + } + } + private fun setContainDismiss(dismiss: M1ContainFragment.ContainDismiss) { + this.dismiss = dismiss + } +} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/MainFragment.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/MainFragment.kt index 1430a8106d..9448f96810 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/MainFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/MainFragment.kt @@ -6,6 +6,8 @@ import androidx.fragment.app.DialogFragment import androidx.fragment.app.Fragment import com.mogo.commons.AbsMogoApplication import com.mogo.commons.mvp.MvpFragment +import com.mogo.eagle.core.data.config.HdMapBuildConfig +import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.function.hmi.ui.msgbox.MMsgBoxButtonView import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView import com.mogo.eagle.core.utilcode.kotlin.onClick @@ -57,8 +59,11 @@ class MainFragment : } iv_end_order.onClick { if (LoginStatusManager.isLogin()) { - // TODO: 结束订单 - CharterPassengerModel.endOrder() + if(mPresenter?.haveOrder()==true){ + openSettingPage(M1ContainFragment.SETTINGENDORDERTAB) + }else{ + ToastUtils.showShort("没有订单无法结束订单") + } }else{ ToastUtils.showShort(AbsMogoApplication.getApp().getString(R.string.m1_please_login_driver)) } @@ -148,6 +153,11 @@ class MainFragment : tv_distance_arrive_time.text = arrivedTime } + fun setCarModle(int: Int){ + CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(R.raw.aiqinghao) + HdMapBuildConfig.currentCarVrIconRes = R.raw.aiqinghao + } + override fun createPresenter(): BusPassengerPresenter { return BusPassengerPresenter(this) } diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_early_end.xml b/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_early_end.xml index 1f5ab08add..fb7d333076 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_early_end.xml +++ b/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_early_end.xml @@ -5,6 +5,16 @@ android:layout_width="match_parent" android:layout_height="match_parent" tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout"> + + \ No newline at end of file