diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/event/EventLineSites.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/event/EventLineSites.kt new file mode 100644 index 0000000000..e1e1c2654d --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/event/EventLineSites.kt @@ -0,0 +1,6 @@ +package com.mogo.och.bus.passenger.bean.event + +import com.mogo.och.bus.passenger.bean.response.LineInfoResponse +import com.mogo.och.bus.passenger.bean.response.SiteInfoResponse + +data class EventLineSites(val lineInfo: LineInfoResponse.LineInfo, val sites: List) \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/SiteInfoResponse.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/SiteInfoResponse.kt index d7f0ffb488..3ba52d8156 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/SiteInfoResponse.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/SiteInfoResponse.kt @@ -1,6 +1,7 @@ package com.mogo.och.bus.passenger.bean.response import com.mogo.eagle.core.data.BaseData +import com.mogo.och.common.module.bean.dpmsg.LineSite import java.util.* /** @@ -20,6 +21,10 @@ data class SiteInfoResponse(val data: List?) : BaseData(){ val type: Int?, var isNear:Boolean=false, var isCheck:Boolean=false, - ) + ){ + fun copy2Mas(): LineSite { + return LineSite(lineId,lineName,siteId,siteName,Wgs84Lon,Wgs84Lat,GcjLon,GcjLat,seq,type) + } + } } diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionOrderPresenter.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionOrderPresenter.kt index 4d92d8bca1..32b188b4a9 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionOrderPresenter.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionOrderPresenter.kt @@ -13,6 +13,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.bus.passenger.bean.LoopInfo +import com.mogo.och.bus.passenger.bean.event.EventLineSites import com.mogo.och.bus.passenger.bean.response.LineInfoListResponse import com.mogo.och.bus.passenger.bean.response.LineInfoResponse import com.mogo.och.bus.passenger.bean.response.SiteInfoResponse @@ -24,11 +25,13 @@ import com.mogo.och.bus.passenger.net.BusPassengerServiceManager import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1OrderLineFragment import com.mogo.och.common.module.bean.dpmsg.ChangeDestMsg import com.mogo.och.common.module.bean.dpmsg.DPMsgType +import com.mogo.och.common.module.bean.dpmsg.LineSite import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.och.common.module.biz.network.OchCommonServiceCallback import com.mogo.och.common.module.manager.OCHPlanningStopSideStatusManager import com.mogo.och.common.module.utils.RxUtils import io.reactivex.disposables.Disposable +import org.greenrobot.eventbus.EventBus class BusPassengerFunctionOrderPresenter(view: M1OrderLineFragment?) : BusBasePassengerFunctionDevicePresenter(view), IOrderStatusChangeListener { @@ -68,7 +71,6 @@ class BusPassengerFunctionOrderPresenter(view: M1OrderLineFragment?) : checkSite = hasSetLineAndSite.second } mView?.setEnableSiteStatus(false) - mView?.onlyChangeSite(false) queryLineList() } @@ -81,25 +83,24 @@ class BusPassengerFunctionOrderPresenter(view: M1OrderLineFragment?) : if(checkLine==null){// 没有提交线路 queryLineList() mView?.setEnableSiteStatus(true) - mView?.onlyChangeSite(false) }else{ checkLine?.let { mView?.setEnableSiteStatus(false) - mView?.onlyChangeSite(false) mView?.lineAdapterSubmit(it) - querySitesByLineId(it.lineId.toString()) + querySitesByLineId(it) } } } - private fun querySitesByLineId(lineId: String) { + private fun querySitesByLineId(checkLine: LineInfoResponse.LineInfo) { BusPassengerServiceManager.queryLineSiteList( context, - lineId, + checkLine.lineId.toString(), object : OchCommonServiceCallback { override fun onSuccess(data: SiteInfoResponse?) { if (data?.data == null) return val siteInfos = data.data + EventBus.getDefault().post(EventLineSites(checkLine,data.data)) if (siteInfos.isNotEmpty()) { // 计算当前站点是那个 val calculateCurrentSite = @@ -183,7 +184,6 @@ class BusPassengerFunctionOrderPresenter(view: M1OrderLineFragment?) : if (msg.isConfirmed) { ToastUtils.showShort("站点确定") mView?.setEnableSiteStatus(true) - mView?.onlyChangeSite(false) checkLine = tempCheckLine checkSite = tempCheckSite tempCheckLine = null @@ -206,45 +206,16 @@ class BusPassengerFunctionOrderPresenter(view: M1OrderLineFragment?) : } } - fun siteSubmit(){ + fun changeSites(siteList: MutableList){ if (!CallerTelematicManager.getClientConnStatus()) { ToastUtils.showLong("乘客屏无法连接司机屏请联系安全员") return } - tempCheckSite?.let { lineInfo -> - tempCheckSite?.let { siteInfo -> - val msg = ChangeDestMsg( - lineInfo.lineId!!.toInt(), - lineInfo.lineName!!, - currentSite!!.siteId!!.toInt(), - currentSite!!.siteName!!, - siteInfo.siteId!!.toInt(), - siteInfo.siteName!!, - false, - 1, - 0, - ) - CallerTelematicManager.sendMsgToServer( - OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(msg).toByteArray() - ) - } - mView?.startAni() - // 启动查看和司机端链接 - BusPassengerModelLoopManager.setLoopFunction( - TAGLINELOOP, - LoopInfo(3, ::checkServerStatus) - ) - RxUtils.disposeSubscribe(subscribeSelectSite) - subscribeSelectSite = RxUtils.createSubscribe(120_000){ - ToastUtils.showShort("请联系安全员确认") - mView?.endAni() - CallerLogger.d(SceneConstant.M_BUS_P + TAG, "endAni444") - } + val sentDataSite: MutableList = mutableListOf() + siteList.forEach { + sentDataSite.add(it.copy2Mas()) } - } - fun onlySiteSubmit(){ tempCheckSite?.let { siteInfo -> val msg = ChangeDestMsg( siteInfo.lineId!!.toInt(), @@ -255,7 +226,8 @@ class BusPassengerFunctionOrderPresenter(view: M1OrderLineFragment?) : siteInfo.siteName!!, false, 1, - 0 + 0, + sentDataSite ) CallerTelematicManager.sendMsgToServer( OchCommonConst.BUSINESS_STRING, @@ -268,12 +240,11 @@ class BusPassengerFunctionOrderPresenter(view: M1OrderLineFragment?) : TAGLINELOOP, LoopInfo(3, ::checkServerStatus) ) + RxUtils.disposeSubscribe(subscribeSelectSite) subscribeSelectSite = RxUtils.createSubscribe(120_000){ ToastUtils.showShort("请联系安全员确认") mView?.endAni() - CallerLogger.d(SceneConstant.M_BUS_P + TAG, "endAni555") - } } private fun checkServerStatus() { @@ -330,13 +301,12 @@ class BusPassengerFunctionOrderPresenter(view: M1OrderLineFragment?) : fun checkLineClick(lineInfo: LineInfoResponse.LineInfo) { checkLine4View() tempCheckLine = lineInfo - querySitesByLineId(lineInfo.lineId.toString()) + querySitesByLineId(lineInfo) } private fun checkLine4View(){ tempCheckSite = null mView?.setEnableSiteStatus(false) - mView?.onlyChangeSite(false) } fun checkSiteClick(siteInfo: SiteInfoResponse.SiteInfo?) { @@ -345,25 +315,20 @@ class BusPassengerFunctionOrderPresenter(view: M1OrderLineFragment?) : checkSite?.let { if (it.siteId == siteInfo?.siteId) {// 站点相同 隐藏所有提交按钮 mView?.setEnableSiteStatus(false) - mView?.onlyChangeSite(false) } else { if(it.lineId == siteInfo?.lineId){// 线路相同显示单独提交 - mView?.setEnableSiteStatus(false) - mView?.onlyChangeSite(true) + mView?.setEnableSiteStatus(true) }else{ if(siteInfo==null){//没有选站点隐藏所有提交 mView?.setEnableSiteStatus(false) - mView?.onlyChangeSite(false) }else { mView?.setEnableSiteStatus(true) - mView?.onlyChangeSite(false) } } } } }else{ mView?.setEnableSiteStatus(true) - mView?.onlyChangeSite(false) } } diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt index 7df0aecb18..191a6cd73f 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt @@ -2,8 +2,9 @@ package com.mogo.och.bus.passenger.ui import android.graphics.BitmapFactory import android.os.Bundle +import android.view.LayoutInflater import android.view.View -import android.view.View.OnClickListener +import android.view.ViewGroup import androidx.fragment.app.DialogFragment import androidx.fragment.app.Fragment import com.amap.api.maps.model.LatLng @@ -14,16 +15,22 @@ import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.function.hmi.ui.msgbox.MMsgBoxButtonView import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P import com.mogo.eagle.core.utilcode.util.AppStateManager import com.mogo.eagle.core.utilcode.util.ClickUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.bus.passenger.R -import com.mogo.och.common.module.voice.VoiceManager +import com.mogo.och.bus.passenger.bean.event.EventLineSites import com.mogo.och.bus.passenger.presenter.BusPassengerPresenter import com.mogo.och.bus.passenger.ui.dialogfragment.M1CarUserNoOrderFragment import com.mogo.och.bus.passenger.ui.dialogfragment.M1ContainFragment import com.mogo.och.common.module.biz.constant.LoginStatusManager +import com.mogo.och.common.module.utils.RxUtils +import com.mogo.och.common.module.voice.VoiceManager import kotlinx.android.synthetic.main.m1_main_fragment.* +import org.greenrobot.eventbus.EventBus +import org.greenrobot.eventbus.Subscribe +import org.greenrobot.eventbus.ThreadMode import java.lang.ref.WeakReference /** @@ -47,6 +54,15 @@ class MainFragment : return TAG } + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + EventBus.getDefault().register(this) + return super.onCreateView(inflater, container, savedInstanceState) + } + override fun initViews() { viewBusPM1MsgBoxButton.setClickListener(object : MMsgBoxButtonView.ClickListener { override fun showMsgBoxList(show: Boolean) { @@ -191,6 +207,7 @@ class MainFragment : mapBizView.onDestroy() omvOverMap.onDestroy() super.onDestroyView() + EventBus.getDefault().unregister(this) } fun showOpenAndCloseDoor() { @@ -240,6 +257,11 @@ class MainFragment : } } + @Subscribe(threadMode = ThreadMode.MAIN) + fun changeOverview(eventLineSites: EventLineSites) { + CallerLogger.d(M_BUS_P + TAG, "eventLineSites:${eventLineSites.lineInfo.name}-----${eventLineSites.sites.size}") + } + companion object { public const val TAG = "BusPassengerRouteFragment" } diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1OrderLineFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1OrderLineFragment.kt index 2a4d330c59..df639fdab8 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1OrderLineFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1OrderLineFragment.kt @@ -111,15 +111,7 @@ class M1OrderLineFragment : mPresenter?.resetData() } tv_site_submit.onClick { - mPresenter?.siteSubmit() - } - tv_site_only_submit.onClick { - // 线路不换只换站点 - if (!CallerTelematicManager.getClientConnStatus()) { - ToastUtils.showLong("乘客屏无法连接司机屏请联系安全员") - return@onClick - } - mPresenter?.onlySiteSubmit() + mPresenter?.changeSites(siteList) } tv_loading_wait_driver_title.onClick { endAni() @@ -139,14 +131,6 @@ class M1OrderLineFragment : } } - fun onlyChangeSite(submit: Boolean) { - if (submit) { - tv_site_only_submit.visibility = View.VISIBLE - } else { - tv_site_only_submit.visibility = View.GONE - } - } - fun startAni() { g_lines_sites_data.visibility = View.GONE g_loading_group.visibility = View.VISIBLE diff --git a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_order_fragment.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_order_fragment.xml index 8cf84e4039..b580fdf09b 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_order_fragment.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_order_fragment.xml @@ -107,24 +107,6 @@ android:layout_height="wrap_content" app:constraint_referenced_ids="tv_site_submit,tv_site_cancle" /> - - ? = null ): BaseDPMsg(DPMsgType.TYPE_CHANGE_DEST.type) +data class LineSite( + val lineId: Long?,//线路Id + val lineName: String?,//线路名称 + val siteId: Long?,//线路Id + val siteName: String?,//站点名称 + val Wgs84Lon: Double?,//高精坐标 + val Wgs84Lat: Double?,//高精坐标 + val GcjLon: Double?,//高德坐标 + val GcjLat: Double?,//高德坐标 + val seq: Double?, + val type: Int?, +) + +data class ArriveDestMsg( + var orderNo: String, //订单id + var lineId: Int, //线路id + var lineName: String = "", //线路名称 + var startSiteId: Int= 0, //当前站点 + var startSiteName: String = "", + var destSiteId: Int= 0, //目的地 + var destSiteName: String = "", + var arriveStatus:Int?, //1:未到达 2:到达 + var writtenVersion:Long?, //版本标记 +): BaseDPMsg(DPMsgType.TYPE_ARRIVEDEST_STATUS.type) + data class EndOrderMsg( var orderNo: String, //订单id ): BaseDPMsg(DPMsgType.TYPE_ORDER_CLOSED_BY_M1_STATUS.type) diff --git a/app/productFlavors/flavorsFilterConfig.gradle b/app/productFlavors/flavorsFilterConfig.gradle deleted file mode 100644 index e69de29bb2..0000000000