From 08b4669b68da8ee63e147f3b43046b6458f93749 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Mon, 21 Oct 2024 18:47:53 +0800 Subject: [PATCH] =?UTF-8?q?[6.7.2]=20[fea]=20[=E5=8F=B8=E6=9C=BA=E5=B1=8F?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=BA=90=E5=8F=98=E6=9B=B4]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/weaknet/model/EventModel.kt | 4 +- .../com/mogo/och/weaknet/model/LineModel.kt | 1 - .../com/mogo/och/weaknet/model/TicketModel.kt | 1 - .../och/weaknet/repository/IRepository.kt | 5 + .../weaknet/repository/RepositoryManager.kt | 54 +++++-- .../repository/db/bean/TaskDataBean.kt | 2 +- .../weaknet/repository/impl/BusRepository.kt | 140 ------------------ ...sSaasRepository.kt => NormalRepository.kt} | 66 +++++++-- .../repository/impl/ShuttleRepository.kt | 136 ----------------- ...SaasRepository.kt => WeaknetRepository.kt} | 55 ++++++- .../repository/net/exception/NetException.kt | 6 + .../net/normal/NormalNetInterface.java | 31 ++++ .../dali/bus/DaliBusServiceManager.kt} | 71 ++------- .../dali/bus/IDaliBusApiService.kt} | 4 +- .../mogo/bus/IMogoBusApiService.kt} | 80 +++++----- .../mogo/bus/MogoBusServiceManager.kt} | 101 +++---------- .../mogo/shuttle/IMogoShuttleApiService.java} | 20 +-- .../shuttle/MogoShuttleServiceManager.kt} | 71 ++------- .../net/weaknet/WeakNetInterface.java | 35 +++++ .../shuttle/DaliShuttleServiceManager.kt} | 25 ++-- .../dali/shuttle/IDaliShuttleApiService.java | 59 ++++++++ .../weaknet/saas/bus/ISaasBusApiService.java | 59 ++++++++ .../weaknet/saas/bus/SaasBusServiceManager.kt | 102 +++++++++++++ .../saas/shuttle/ISaasShuttleApiService.java} | 4 +- .../saas/shuttle/SaasShuttleServiceManager.kt | 102 +++++++++++++ 25 files changed, 652 insertions(+), 582 deletions(-) delete mode 100644 OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/BusRepository.kt rename OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/{BusSaasRepository.kt => NormalRepository.kt} (68%) delete mode 100644 OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/ShuttleRepository.kt rename OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/{ShuttleSaasRepository.kt => WeaknetRepository.kt} (85%) create mode 100644 OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/exception/NetException.kt create mode 100644 OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/NormalNetInterface.java rename OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/{bus/BusServiceManager.kt => normal/dali/bus/DaliBusServiceManager.kt} (71%) rename OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/{bus/IBusApiService.kt => normal/dali/bus/IDaliBusApiService.kt} (98%) rename OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/{bussaas/IBusSaasApiService.kt => normal/mogo/bus/IMogoBusApiService.kt} (73%) rename OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/{bussaas/BusSaasServiceManager.kt => normal/mogo/bus/MogoBusServiceManager.kt} (62%) rename OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/{shuttle/IShuttleApiService.java => normal/mogo/shuttle/IMogoShuttleApiService.java} (82%) rename OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/{shuttle/ShuttleServiceManager.kt => normal/mogo/shuttle/MogoShuttleServiceManager.kt} (69%) create mode 100644 OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/WeakNetInterface.java rename OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/{shuttlesaas/ShuttleSaasServiceManager.kt => weaknet/dali/shuttle/DaliShuttleServiceManager.kt} (84%) create mode 100644 OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/dali/shuttle/IDaliShuttleApiService.java create mode 100644 OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/bus/ISaasBusApiService.java create mode 100644 OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/bus/SaasBusServiceManager.kt rename OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/{shuttlesaas/IShuttleSaasApiService.java => weaknet/saas/shuttle/ISaasShuttleApiService.java} (95%) create mode 100644 OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/shuttle/SaasShuttleServiceManager.kt diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/EventModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/EventModel.kt index 2c78d450e8..65811c0562 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/EventModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/EventModel.kt @@ -9,7 +9,7 @@ import com.mogo.och.common.module.network.OchCommonServiceCallback import com.mogo.och.weaknet.bean.request.ShuttleEventRequest import com.mogo.och.weaknet.bean.WaitUploadLine import com.mogo.och.weaknet.bean.WaitUploadTask -import com.mogo.och.weaknet.repository.net.shuttlesaas.ShuttleSaasServiceManager +import com.mogo.och.weaknet.repository.net.weaknet.dali.shuttle.DaliShuttleServiceManager import com.mogo.och.weaknet.repository.db.bean.EventDataBean import com.mogo.och.weaknet.repository.db.repository.EventDb import com.mogo.och.weaknet.repository.RepositoryManager @@ -60,7 +60,7 @@ object EventModel : EventDb.EventCallback { } OchChainLogManager.writeChainLogDb("上报event","开始上报:${Thread.currentThread().name}") val transformDb2Net = ShuttleEventRequest.transformDb2Net(waitUpdateEvent) - ShuttleSaasServiceManager.reportCabinEvent(AbsMogoApplication.getApp()!!,transformDb2Net,object :OchCommonServiceCallback{ + RepositoryManager.reportCabinEvent(AbsMogoApplication.getApp()!!,transformDb2Net,object :OchCommonServiceCallback{ override fun onSuccess(data: BaseData?) { waitUpdateEvent.forEach { it.updateStatus = EventDataBean.updated diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt index 848cd531f3..b2ae704f31 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt @@ -28,7 +28,6 @@ import com.mogo.och.weaknet.repository.db.bean.TaskSiteDataBean import com.mogo.och.weaknet.repository.db.repository.EventDb import com.mogo.och.weaknet.repository.RepositoryManager import com.mogo.och.weaknet.repository.exception.DataException -import com.mogo.och.weaknet.repository.net.shuttlesaas.ShuttleSaasServiceManager import io.reactivex.Observer import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.Disposable diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/TicketModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/TicketModel.kt index b0741feea9..f644f49cb8 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/TicketModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/TicketModel.kt @@ -26,7 +26,6 @@ import com.mogo.och.common.module.network.OchCommonServiceCallback import com.mogo.och.weaknet.bean.response.WriteOffCountResponse import com.mogo.och.weaknet.bean.WriteOffPassenger import com.mogo.och.weaknet.repository.RepositoryManager -import com.mogo.och.weaknet.repository.net.shuttlesaas.ShuttleSaasServiceManager import com.mogo.och.weaknet.util.ShuttleVoiceManager import io.reactivex.Observable import io.reactivex.ObservableEmitter diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/IRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/IRepository.kt index f643044da0..9f7a59f356 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/IRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/IRepository.kt @@ -1,7 +1,9 @@ package com.mogo.och.weaknet.repository import android.content.Context +import com.mogo.eagle.core.data.BaseData import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.weaknet.bean.request.ShuttleEventRequest import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse import com.mogo.och.weaknet.bean.response.WriteOffCountResponse import com.mogo.och.weaknet.repository.db.bean.LineDataBean @@ -27,4 +29,7 @@ interface IRepository { fun queryWriteoffCount(context: Context, taskId: Long, siteId: Long, callback: OchCommonServiceCallback?) fun queryCarExecutableTaskList(ochCommonServiceCallback: OchCommonServiceCallback) + + fun reportCabinEvent(context: Context?, data: ShuttleEventRequest?, callback: OchCommonServiceCallback?) + } \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/RepositoryManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/RepositoryManager.kt index b7f2d65f19..45568e3ce0 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/RepositoryManager.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/RepositoryManager.kt @@ -1,19 +1,20 @@ package com.mogo.och.weaknet.repository import android.content.Context +import com.mogo.commons.env.Project import com.mogo.commons.env.ProjectUtils +import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.weaknet.bean.request.ShuttleEventRequest import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse import com.mogo.och.weaknet.bean.response.WriteOffCountResponse import com.mogo.och.weaknet.repository.db.bean.LineDataBean import com.mogo.och.weaknet.repository.db.bean.TaskDataBean import com.mogo.och.weaknet.repository.db.repository.EventDb -import com.mogo.och.weaknet.repository.impl.BusRepository -import com.mogo.och.weaknet.repository.impl.BusSaasRepository -import com.mogo.och.weaknet.repository.impl.ShuttleRepository -import com.mogo.och.weaknet.repository.impl.ShuttleSaasRepository +import com.mogo.och.weaknet.repository.impl.NormalRepository +import com.mogo.och.weaknet.repository.impl.WeaknetRepository import io.reactivex.Observable object RepositoryManager { @@ -22,19 +23,32 @@ object RepositoryManager { private lateinit var repository: IRepository init { - if(ProjectUtils.isSaas()){ - if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) { - repository = ShuttleSaasRepository() - }else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { - repository = BusSaasRepository() + + when (ProjectUtils.getProjectType()) { + Project.SAAS -> { + if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) { + repository = WeaknetRepository() + }else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { + repository = WeaknetRepository() + } } - }else { - if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) { - repository = ShuttleRepository() - }else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { - repository = BusRepository() + Project.DALI -> { + if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) { + repository = WeaknetRepository() + }else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { + repository = NormalRepository() + } } + Project.MOGO -> { + if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) { + repository = NormalRepository() + }else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { + repository = NormalRepository() + } + } + else->{} } + } fun loadCurrentTaskInfo():Observable?{ @@ -90,9 +104,19 @@ object RepositoryManager { fun queryCarExecutableTaskList( ochCommonServiceCallback: OchCommonServiceCallback ) { - if (repository is ShuttleSaasRepository) { + if (repository is WeaknetRepository) { repository.queryCarExecutableTaskList(ochCommonServiceCallback) } } + fun reportCabinEvent( + context: Context?, + data: ShuttleEventRequest?, + callback: OchCommonServiceCallback? + ){ + if (repository is WeaknetRepository) { + repository.reportCabinEvent(context,data,callback) + } + } + } \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/bean/TaskDataBean.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/bean/TaskDataBean.kt index 62306a2e54..6c09f22041 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/bean/TaskDataBean.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/bean/TaskDataBean.kt @@ -6,7 +6,7 @@ import androidx.room.PrimaryKey import com.google.gson.annotations.SerializedName @Entity(tableName = TaskDataBean.taskDataTable) -class TaskDataBean( +data class TaskDataBean( @PrimaryKey(autoGenerate = true) @SerializedName("idtemp") diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/BusRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/BusRepository.kt deleted file mode 100644 index f6d95418cb..0000000000 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/BusRepository.kt +++ /dev/null @@ -1,140 +0,0 @@ -package com.mogo.och.weaknet.repository.impl - -import android.content.Context -import com.mogo.och.common.module.manager.autopilot.line.LineManager -import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager -import com.mogo.och.common.module.network.OchCommonServiceCallback -import com.mogo.och.data.bean.BusStationBean -import com.mogo.och.data.bean.ContraiInfo -import com.mogo.och.data.bean.LineInfo -import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse -import com.mogo.och.weaknet.bean.response.WriteOffCountResponse -import com.mogo.och.weaknet.model.LineModel -import com.mogo.och.weaknet.repository.db.bean.LineDataBean -import com.mogo.och.weaknet.repository.db.bean.TaskDataBean -import com.mogo.och.weaknet.repository.IRepository -import com.mogo.och.weaknet.repository.db.bean.TaskSiteDataBean -import com.mogo.och.weaknet.repository.net.bus.BusServiceManager -import com.mogo.och.weaknet.repository.net.shuttle.ShuttleServiceManager -import io.reactivex.Observable - -class BusRepository: IRepository { - - override fun loadCurrentTaskInfo(): Observable? { - return BusServiceManager.queryBusRoutes() - ?.flatMap { busRoutesResult -> - if (!busRoutesResult.sites.isNullOrEmpty() && busRoutesResult.sites.size > 1) { - OchChainLogManager.writeChainLogDb( - "业务数据", - "本地没有正在运行的数据,服务器端有${busRoutesResult}" - ) - val result = mutableListOf() - var temp: BusStationBean? = null - var currentStationIndex = -1 - var lineInfo: LineInfo?=null - busRoutesResult.sites.forEachIndexed { index, taskAndsite -> - temp = BusStationBean() - temp?.drivingStatus = (taskAndsite.drivingStatus ?: 0) - temp?.lat = (taskAndsite.lat ?: 0.0) - temp?.lon = (taskAndsite.lon ?: 0.0) - temp?.gcjLat = (taskAndsite.gcjLat ?: 0.0) - temp?.gcjLon = (taskAndsite.gcjLon ?: 0.0) - temp?.introduction = taskAndsite.introduction - temp?.isLeaving = taskAndsite.isLeaving - temp?.name = taskAndsite.name - temp?.nameKr = taskAndsite.nameKr - temp?.isPlayTts = java.lang.Boolean.TRUE == taskAndsite.isPlayTts - temp?.seq = (taskAndsite.seq ?: 0) - temp?.siteId = if (taskAndsite.siteId == null) 0 else taskAndsite.siteId!!.toInt() - result.add(temp!!) - // 正在进行中的任务 - if (temp!!.drivingStatus == TaskSiteDataBean.drivingStatusCurrent) { - currentStationIndex = index - } - // 线路信息 - if (lineInfo == null && busRoutesResult.name != null) { - lineInfo = LineInfo(busRoutesResult.lineId.toLong(), busRoutesResult.name) - } - lineInfo?.multiMap?.put("taskInfo", LineModel.getTaskTime()) - } - LineManager.setLineInfo(lineInfo) - - LineManager.setContraiInfo( - ContraiInfo(busRoutesResult.lineId.toLong() - ,busRoutesResult.csvFileUrl,busRoutesResult.csvFileMd5, - busRoutesResult.txtFileUrl,busRoutesResult.txtFileMd5, - busRoutesResult.contrailSaveTime) - ) - - - val tempTask =TaskDataBean() - tempTask.taskId = busRoutesResult.taskId.toLong() - tempTask.taskStartTime = busRoutesResult.taskTime - tempTask.lineId = busRoutesResult.lineId.toLong() - LineModel.currentTask = tempTask - - LineModel.stationList = result - LineModel.startStationIndex = currentStationIndex - LineModel.stationList?.let { stationlist-> - val startStation = stationlist[LineModel.startStationIndex] - if (LineModel.startStationIndex < stationlist.size-1) { - val endStation = stationlist[LineModel.startStationIndex + 1] - LineManager.setStartAndEndStation(startStation,endStation) - } - } - return@flatMap Observable.just(true) - } - return@flatMap Observable.just(false) - } - } - - override fun queryCanUseLine(): Observable?>? { - return BusServiceManager.queryBusLines() - } - - override fun queryCanUserTask(lineId: Long): Observable?> { - return BusServiceManager.queryBusTaskByLineId(lineId) - } - - override fun startTask( - taskId: Long, - lineId: Long, - taskTime: Long, - lineName: String - ): Observable? { - return BusServiceManager.switchLine(taskId) - } - - override fun leaveStation( - seq: Int, - siteId: Long, - taskId: Long, - lineId: Long, - taskStartTime: Long - ): Observable? { - return BusServiceManager.leaveStation(seq, siteId, taskId, System.currentTimeMillis()) - } - - override fun arriveStation(seq: Int, siteId: Long, taskId: Long): Observable? { - return BusServiceManager.arriveSiteStation( - seq, - siteId, - taskId, - System.currentTimeMillis() - ) - } - - override fun endTask(taskId: Long): Observable? { - return BusServiceManager.endTask(taskId) - } - - override fun queryWriteoffCount(context: Context, taskId: Long, siteId: Long, callback: OchCommonServiceCallback?) { - BusServiceManager.writeOffCount(context,taskId,siteId,callback) - } - - override fun queryCarExecutableTaskList(ochCommonServiceCallback: OchCommonServiceCallback) { - - } - - -} \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/BusSaasRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/NormalRepository.kt similarity index 68% rename from OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/BusSaasRepository.kt rename to OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/NormalRepository.kt index a344e92133..40d870784d 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/BusSaasRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/NormalRepository.kt @@ -1,12 +1,18 @@ package com.mogo.och.weaknet.repository.impl import android.content.Context +import com.mogo.commons.env.Project +import com.mogo.commons.env.ProjectUtils +import com.mogo.eagle.core.data.BaseData +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.och.common.module.manager.autopilot.line.LineManager import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.network.OchCommonServiceCallback import com.mogo.och.data.bean.BusStationBean import com.mogo.och.data.bean.ContraiInfo import com.mogo.och.data.bean.LineInfo +import com.mogo.och.weaknet.bean.request.ShuttleEventRequest import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse import com.mogo.och.weaknet.bean.response.WriteOffCountResponse import com.mogo.och.weaknet.model.LineModel @@ -14,13 +20,45 @@ import com.mogo.och.weaknet.repository.db.bean.LineDataBean import com.mogo.och.weaknet.repository.db.bean.TaskDataBean import com.mogo.och.weaknet.repository.IRepository import com.mogo.och.weaknet.repository.db.bean.TaskSiteDataBean -import com.mogo.och.weaknet.repository.net.bussaas.BusSaasServiceManager +import com.mogo.och.weaknet.repository.net.exception.NetException +import com.mogo.och.weaknet.repository.net.normal.NormalNetInterface +import com.mogo.och.weaknet.repository.net.normal.dali.bus.DaliBusServiceManager +import com.mogo.och.weaknet.repository.net.normal.mogo.bus.MogoBusServiceManager +import com.mogo.och.weaknet.repository.net.normal.mogo.shuttle.MogoShuttleServiceManager +import com.mogo.och.weaknet.repository.net.weaknet.saas.bus.SaasBusServiceManager import io.reactivex.Observable -class BusSaasRepository: IRepository { +class NormalRepository: IRepository { + + private lateinit var normalNetInterface: NormalNetInterface + + init { + when (ProjectUtils.getProjectType()) { + Project.SAAS -> { + if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) { + throw NetException("非缓存weakNetInterface 初始化环境错误 isBus") + }else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { + throw NetException("非缓存weakNetInterface 初始化环境错误 isBus") + } + } + Project.DALI -> { + if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) { + throw NetException("非缓存weakNetInterface 初始化环境错误 isBus") + }else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { + normalNetInterface = DaliBusServiceManager() + } + } + Project.MOGO -> { + normalNetInterface = MogoBusServiceManager() + } + else->{ + normalNetInterface = MogoShuttleServiceManager() + } + } + } override fun loadCurrentTaskInfo(): Observable? { - return BusSaasServiceManager.queryBusRoutes() + return SaasBusServiceManager.queryBusRoutes() ?.flatMap { busRoutesResult -> if (!busRoutesResult.sites.isNullOrEmpty() && busRoutesResult.sites.size > 1) { OchChainLogManager.writeChainLogDb( @@ -88,11 +126,11 @@ class BusSaasRepository: IRepository { } override fun queryCanUseLine(): Observable?>? { - return BusSaasServiceManager.queryBusLines() + return normalNetInterface.queryBusLines() } override fun queryCanUserTask(lineId: Long): Observable?>? { - return BusSaasServiceManager.queryBusTaskByLineId(lineId) + return normalNetInterface.queryBusTaskByLineId(lineId) } override fun startTask( @@ -101,7 +139,7 @@ class BusSaasRepository: IRepository { taskTime: Long, lineName: String ): Observable? { - return BusSaasServiceManager.switchLine(taskId) + return normalNetInterface.switchLine(taskId) } override fun leaveStation( @@ -111,11 +149,11 @@ class BusSaasRepository: IRepository { lineId: Long, taskStartTime: Long ): Observable? { - return BusSaasServiceManager.leaveStation(seq, siteId, taskId, System.currentTimeMillis()) + return normalNetInterface.leaveStation(seq, siteId, taskId, System.currentTimeMillis()) } override fun arriveStation(seq: Int, siteId: Long, taskId: Long): Observable? { - return BusSaasServiceManager.arriveSiteStation( + return normalNetInterface.arriveSiteStation( seq, siteId, taskId, @@ -124,7 +162,7 @@ class BusSaasRepository: IRepository { } override fun endTask(taskId: Long): Observable? { - return BusSaasServiceManager.endTask(taskId) + return normalNetInterface.endTask(taskId) } override fun queryWriteoffCount( @@ -133,12 +171,20 @@ class BusSaasRepository: IRepository { siteId: Long, callback: OchCommonServiceCallback? ) { - BusSaasServiceManager.writeOffCount(context,taskId,siteId,callback) + } override fun queryCarExecutableTaskList(ochCommonServiceCallback: OchCommonServiceCallback) { } + override fun reportCabinEvent( + context: Context?, + data: ShuttleEventRequest?, + callback: OchCommonServiceCallback? + ) { + + } + } \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/ShuttleRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/ShuttleRepository.kt deleted file mode 100644 index fcc34fdd1e..0000000000 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/ShuttleRepository.kt +++ /dev/null @@ -1,136 +0,0 @@ -package com.mogo.och.weaknet.repository.impl - -import android.content.Context -import com.mogo.och.common.module.manager.autopilot.line.LineManager -import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager -import com.mogo.och.common.module.network.OchCommonServiceCallback -import com.mogo.och.data.bean.BusStationBean -import com.mogo.och.data.bean.ContraiInfo -import com.mogo.och.data.bean.LineInfo -import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse -import com.mogo.och.weaknet.bean.response.WriteOffCountResponse -import com.mogo.och.weaknet.model.LineModel -import com.mogo.och.weaknet.repository.db.bean.LineDataBean -import com.mogo.och.weaknet.repository.db.bean.TaskDataBean -import com.mogo.och.weaknet.repository.db.bean.TaskSiteDataBean -import com.mogo.och.weaknet.repository.IRepository -import com.mogo.och.weaknet.repository.net.shuttle.ShuttleServiceManager -import io.reactivex.Observable - -class ShuttleRepository: IRepository { - override fun loadCurrentTaskInfo(): Observable? { - return ShuttleServiceManager.queryBusRoutes() - ?.flatMap { busRoutesResult -> - if (!busRoutesResult.sites.isNullOrEmpty() && busRoutesResult.sites.size > 1) { - OchChainLogManager.writeChainLogDb( - "业务数据", - "本地没有正在运行的数据,服务器端有${busRoutesResult}" - ) - val result = mutableListOf() - var temp: BusStationBean? = null - var currentStationIndex = -1 - var lineInfo:LineInfo?=null - busRoutesResult.sites.forEachIndexed { index, taskAndsite -> - temp = BusStationBean() - temp?.drivingStatus = (taskAndsite.drivingStatus ?: 0) - temp?.lat = (taskAndsite.lat ?: 0.0) - temp?.lon = (taskAndsite.lon ?: 0.0) - temp?.gcjLat = (taskAndsite.gcjLat ?: 0.0) - temp?.gcjLon = (taskAndsite.gcjLon ?: 0.0) - temp?.introduction = taskAndsite.introduction - temp?.isLeaving = taskAndsite.isLeaving - temp?.name = taskAndsite.name - temp?.nameKr = taskAndsite.nameKr - temp?.isPlayTts = java.lang.Boolean.TRUE == taskAndsite.isPlayTts - temp?.seq = (taskAndsite.seq ?: 0) - temp?.siteId = if (taskAndsite.siteId == null) 0 else taskAndsite.siteId!!.toInt() - result.add(temp!!) - // 正在进行中的任务 - if (temp!!.drivingStatus == TaskSiteDataBean.drivingStatusCurrent) { - currentStationIndex = index - } - // 线路信息 - if (lineInfo == null && busRoutesResult.name != null) { - lineInfo = LineInfo(busRoutesResult.lineId.toLong(), busRoutesResult.name) - } - lineInfo?.multiMap?.put("taskInfo",LineModel.getTaskTime()) - } - LineManager.setLineInfo(lineInfo) - - LineManager.setContraiInfo(ContraiInfo(busRoutesResult.lineId.toLong() - ,busRoutesResult.csvFileUrl,busRoutesResult.csvFileMd5, - busRoutesResult.txtFileUrl,busRoutesResult.txtFileMd5, - busRoutesResult.contrailSaveTime)) - - - val tempTask =TaskDataBean() - tempTask.taskId = busRoutesResult.taskId.toLong() - tempTask.taskStartTime = busRoutesResult.taskTime - tempTask.lineId = busRoutesResult.lineId.toLong() - LineModel.currentTask = tempTask - - LineModel.stationList = result - LineModel.startStationIndex = currentStationIndex - LineModel.stationList?.let { stationlist-> - val startStation = stationlist[LineModel.startStationIndex] - if (LineModel.startStationIndex < stationlist.size-1) { - val endStation = stationlist[LineModel.startStationIndex + 1] - LineManager.setStartAndEndStation(startStation,endStation) - } - } - return@flatMap Observable.just(true) - } - return@flatMap Observable.just(false) - } - } - - override fun queryCanUseLine(): Observable?> { - return ShuttleServiceManager.queryBusLines() - } - - override fun queryCanUserTask(lineId: Long): Observable?> { - return ShuttleServiceManager.queryBusTaskByLineId(lineId) - } - - override fun startTask(taskId: Long, lineId: Long, taskTime: Long, lineName: String): Observable? { - return ShuttleServiceManager.switchLine(taskId) - } - - override fun leaveStation( - seq: Int, - siteId: Long, - taskId: Long, - lineId: Long, - taskStartTime: Long - ): Observable? { - return ShuttleServiceManager.leaveStation(seq, siteId, taskId, System.currentTimeMillis()) - } - - override fun arriveStation(seq: Int, siteId: Long, taskId: Long, ): Observable? { - return ShuttleServiceManager.arriveSiteStation( - seq, - siteId, - taskId, - System.currentTimeMillis() - ) - } - - override fun endTask(taskId: Long): Observable? { - return ShuttleServiceManager.endTask(taskId) - } - - override fun queryWriteoffCount( - context: Context, - taskId: Long, - siteId: Long, - callback: OchCommonServiceCallback? - ) { - ShuttleServiceManager.writeOffCount(context,taskId,siteId,callback) - } - - override fun queryCarExecutableTaskList(ochCommonServiceCallback: OchCommonServiceCallback) { - - } - - -} \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/ShuttleSaasRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/WeaknetRepository.kt similarity index 85% rename from OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/ShuttleSaasRepository.kt rename to OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/WeaknetRepository.kt index cbbbe485d5..3b22e8bbd8 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/ShuttleSaasRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/WeaknetRepository.kt @@ -2,10 +2,16 @@ package com.mogo.och.weaknet.repository.impl import android.content.Context import com.mogo.commons.AbsMogoApplication +import com.mogo.commons.env.Project +import com.mogo.commons.env.ProjectUtils +import com.mogo.eagle.core.data.BaseData +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.och.common.module.manager.autopilot.line.LineManager import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.weaknet.bean.request.ShuttleEventRequest import com.mogo.och.weaknet.bean.response.BusRoutesResponse import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse import com.mogo.och.weaknet.bean.response.WriteOffCountResponse @@ -21,12 +27,43 @@ import com.mogo.och.weaknet.repository.db.repository.LineDb import com.mogo.och.weaknet.repository.db.repository.TaskDb import com.mogo.och.weaknet.repository.db.repository.TaskSiteDb import com.mogo.och.weaknet.repository.IRepository -import com.mogo.och.weaknet.repository.net.shuttlesaas.ShuttleSaasServiceManager +import com.mogo.och.weaknet.repository.net.exception.NetException +import com.mogo.och.weaknet.repository.net.weaknet.WeakNetInterface +import com.mogo.och.weaknet.repository.net.weaknet.dali.shuttle.DaliShuttleServiceManager +import com.mogo.och.weaknet.repository.net.weaknet.saas.bus.SaasBusServiceManager import io.reactivex.Observable -class ShuttleSaasRepository : IRepository { +class WeaknetRepository : IRepository { private val TAG = "ShuttleSaasRepository" private val context = AbsMogoApplication.getApp() + + private lateinit var weakNetInterface: WeakNetInterface + + init { + when (ProjectUtils.getProjectType()) { + Project.SAAS -> { + if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) { + weakNetInterface = DaliShuttleServiceManager + }else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { + weakNetInterface = SaasBusServiceManager + } + } + Project.DALI -> { + if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) { + weakNetInterface = DaliShuttleServiceManager + }else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { + throw NetException("缓存weakNetInterface 初始化环境错误 isBus") + } + } + Project.MOGO -> { + throw NetException("缓存weakNetInterface 初始化环境错误 MOGO") + } + else->{ + throw NetException("缓存weakNetInterface 初始化环境错误 未知") + } + } + } + override fun loadCurrentTaskInfo(): Observable? { return Observable.just(123) @@ -110,7 +147,7 @@ class ShuttleSaasRepository : IRepository { } private fun loadServerRuningTask(): Observable? { - return ShuttleSaasServiceManager.queryBusRoutes()?.flatMap { busRoutesResult-> + return weakNetInterface.queryBusRoutes()?.flatMap { busRoutesResult-> if (!busRoutesResult.sites.isNullOrEmpty() && busRoutesResult.sites.size > 1) { val queryTaskById = TaskDb.queryTaskById(busRoutesResult.taskId.toLong()) if (queryTaskById == null || queryTaskById.status != TaskDataBean.used) { @@ -280,12 +317,20 @@ class ShuttleSaasRepository : IRepository { siteId: Long, callback: OchCommonServiceCallback? ) { - ShuttleSaasServiceManager.queryBusTaskByLineId(context,taskId.toString(),siteId.toString(),callback) + weakNetInterface.writeOffCount(context,taskId.toString(),siteId.toString(),callback) } override fun queryCarExecutableTaskList( ochCommonServiceCallback: OchCommonServiceCallback ) { - ShuttleSaasServiceManager.queryCarExecutableTaskList(context,ochCommonServiceCallback) + weakNetInterface.queryCarExecutableTaskList(context,ochCommonServiceCallback) + } + + override fun reportCabinEvent( + context: Context?, + data: ShuttleEventRequest?, + callback: OchCommonServiceCallback? + ) { + weakNetInterface.reportCabinEvent(context,data,callback) } } \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/exception/NetException.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/exception/NetException.kt new file mode 100644 index 0000000000..e90aca1fde --- /dev/null +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/exception/NetException.kt @@ -0,0 +1,6 @@ +package com.mogo.och.weaknet.repository.net.exception + +class NetException: RuntimeException { + constructor() : super() + constructor(message: String?) : super(message) +} \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/NormalNetInterface.java b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/NormalNetInterface.java new file mode 100644 index 0000000000..f842e53094 --- /dev/null +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/NormalNetInterface.java @@ -0,0 +1,31 @@ +package com.mogo.och.weaknet.repository.net.normal; + +import android.content.Context; + +import com.mogo.och.common.module.network.OchCommonServiceCallback; +import com.mogo.och.data.bean.BusRoutesResult; +import com.mogo.och.weaknet.bean.response.WriteOffCountResponse; +import com.mogo.och.weaknet.repository.db.bean.LineDataBean; +import com.mogo.och.weaknet.repository.db.bean.TaskDataBean; + +import java.util.List; + +import io.reactivex.Observable; + +public interface NormalNetInterface { + + Observable queryBusRoutes(); + + Observable switchLine(long taskId); + + Observable endTask(long taskId); + + Observable leaveStation(int seq, long siteId, long taskId, long writeVersion); + + Observable arriveSiteStation(int seq, long siteId, long taskId, long writeVersion); + + Observable> queryBusLines(); + + Observable> queryBusTaskByLineId(long lineId); + +} diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bus/BusServiceManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/dali/bus/DaliBusServiceManager.kt similarity index 71% rename from OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bus/BusServiceManager.kt rename to OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/dali/bus/DaliBusServiceManager.kt index 5ab6e7b76b..278207fcff 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bus/BusServiceManager.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/dali/bus/DaliBusServiceManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.weaknet.repository.net.bus +package com.mogo.och.weaknet.repository.net.normal.dali.bus import android.content.Context import com.mogo.cloud.passport.MoGoAiCloudClientConfig @@ -18,25 +18,25 @@ import com.mogo.och.weaknet.repository.db.bean.TaskDataBean import com.mogo.och.weaknet.repository.net.bean.request.BusCloseTaskRequest import com.mogo.och.weaknet.repository.net.bean.request.BusResetDrivingLineRequest import com.mogo.och.weaknet.repository.net.bean.request.BusUpdateSiteStatusRequest +import com.mogo.och.weaknet.repository.net.normal.NormalNetInterface import io.reactivex.Observable /** * @author: wangmingjun * @date: 2021/10/20 */ -object BusServiceManager { +class DaliBusServiceManager: NormalNetInterface { - private val mService: IBusApiService = + private val mService: IDaliBusApiService = MoGoRetrofitFactory.getInstance(OchCommonConst.getBaseUrl()).create( - IBusApiService::class.java + IDaliBusApiService::class.java ) /** * 查询小巴车当前任务 */ - @JvmStatic - fun queryBusRoutes(): Observable? { + override fun queryBusRoutes(): Observable? { return mService.queryBusRoutes( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, @@ -52,8 +52,7 @@ object BusServiceManager { * 重置线路站点 * @param taskId */ - @JvmStatic - fun switchLine( + override fun switchLine( taskId: Long, ): Observable? { return mService.switchLine( @@ -67,29 +66,11 @@ object BusServiceManager { } } -// /** -// * 中断当前任务 -// * @param context -// * @param taskId -// * @param callback -// */ -// @JvmStatic -// fun abortTask(context: Context, taskId: Long, callback: OchCommonServiceCallback?) { -// M_SERVICE.abortTask( -// MoGoAiCloudClientConfig.getInstance().serviceAppId, -// SharedPrefsMgr.getInstance().token, -// BusCloseTaskRequest(taskId) -// ) -// .transformTry() -// .subscribe(OchCommonSubscribeImpl(context, callback, "abortTask")) -// } - /** * 正常结束任务 * @param taskId */ - @JvmStatic - fun endTask(taskId: Long): Observable? { + override fun endTask(taskId: Long): Observable? { return mService.endTask( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, @@ -106,13 +87,7 @@ object BusServiceManager { * @param seq * @param siteId */ - @JvmStatic - fun leaveStation( - seq: Int, - siteId: Long, - taskId: Long, - writeVersion: Long, - ): Observable? { + override fun leaveStation(seq: Int, siteId: Long, taskId: Long, writeVersion: Long, ): Observable? { return mService.leaveStation( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, @@ -129,8 +104,7 @@ object BusServiceManager { * @param seq * @param siteId */ - @JvmStatic - fun arriveSiteStation( + override fun arriveSiteStation( seq: Int, siteId: Long, taskId: Long, writeVersion: Long, ): Observable? { return mService.arriveSiteStation( @@ -145,8 +119,7 @@ object BusServiceManager { } } - @JvmStatic - fun queryBusLines(): Observable?> { + override fun queryBusLines(): Observable?> { return mService.queryBusLines( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, @@ -159,8 +132,7 @@ object BusServiceManager { } - @JvmStatic - fun queryBusTaskByLineId(lineId: Long?) :Observable?> { + override fun queryBusTaskByLineId(lineId: Long) :Observable?> { return mService.queryBusTaskByLineId( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, @@ -172,23 +144,4 @@ object BusServiceManager { } } - /** - * - */ - @JvmStatic - fun writeOffCount( - context: Context, - taskId: Long, - siteId: Long, - callback: OchCommonServiceCallback? - ) { - mService.writeOffCount( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - taskId, - siteId - ) - .transformIoTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount")) - } } \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bus/IBusApiService.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/dali/bus/IDaliBusApiService.kt similarity index 98% rename from OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bus/IBusApiService.kt rename to OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/dali/bus/IDaliBusApiService.kt index f1f18dceeb..3e8c7db13d 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bus/IBusApiService.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/dali/bus/IDaliBusApiService.kt @@ -1,4 +1,4 @@ -package com.mogo.och.weaknet.repository.net.bus +package com.mogo.och.weaknet.repository.net.normal.dali.bus import com.mogo.eagle.core.data.BaseData import com.mogo.och.weaknet.bean.request.BusQueryLineStationsRequest @@ -27,7 +27,7 @@ import retrofit2.http.Query * * wiki: http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=48970072 */ -interface IBusApiService { +interface IDaliBusApiService { /** * 根据车机坐标获取所在区域全部站点信息 * diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bussaas/IBusSaasApiService.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/mogo/bus/IMogoBusApiService.kt similarity index 73% rename from OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bussaas/IBusSaasApiService.kt rename to OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/mogo/bus/IMogoBusApiService.kt index 9cf7949286..97d33cd951 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bussaas/IBusSaasApiService.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/mogo/bus/IMogoBusApiService.kt @@ -1,12 +1,13 @@ -package com.mogo.och.weaknet.repository.net.bussaas +package com.mogo.och.weaknet.repository.net.normal.mogo.bus import com.mogo.eagle.core.data.BaseData +import com.mogo.och.weaknet.bean.request.BusQueryLineStationsRequest import com.mogo.och.weaknet.bean.response.BusRoutesResponse -import com.mogo.och.weaknet.bean.response.WriteOffCountResponse import com.mogo.och.weaknet.repository.net.bean.request.BusCloseTaskRequest import com.mogo.och.weaknet.repository.net.bean.request.BusResetDrivingLineRequest import com.mogo.och.weaknet.repository.net.bean.request.BusRoutePlanningUpdateReqBean import com.mogo.och.weaknet.repository.net.bean.request.BusUpdateSiteStatusRequest +import com.mogo.och.weaknet.repository.net.bean.request.CarHeartbeatReqBean import com.mogo.och.weaknet.repository.net.bean.response.BusQueryLineTaskResponse import com.mogo.och.weaknet.repository.net.bean.response.BusQueryLinesResponse import io.reactivex.Observable @@ -25,13 +26,16 @@ import retrofit2.http.Query * * wiki: http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=48970072 */ -interface IBusSaasApiService { +interface IMogoBusApiService { /** * 根据车机坐标获取所在区域全部站点信息 + * + * @param request 请求参数 + * @return 接口返回数据 */ @Headers("Content-Type:application/json;charset=UTF-8") - @GET("/och-bus-cabin/api/business/v1/driver/bus/lineDataWithDriver/query") - fun queryBusRoutes(@Header("appId") appId: String?, @Header("ticket") ticket: String?, @Query("sn") sn: String?): Observable + @POST("/autopilot-car-hailing/line/v2/driver/bus/lineDataWithDriver/query") + fun queryBusRoutes(@Header("appId") appId: String?, @Header("ticket") ticket: String?, @Body request: BusQueryLineStationsRequest?): Observable /** * @param request 请求参数{"destLine":1,"sn":"F803EB2046PZD00229"} 这个接口是重置bus线路的, 不是重置线路中站点的 @@ -39,29 +43,49 @@ interface IBusSaasApiService { * 开始路线 */ @Headers("Content-Type:application/json;charset=UTF-8") - @POST("/och-bus-cabin/cab/flow/v1/bus/driver/startTask") + @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/startTask") fun switchLine(@Header("appId") appId: String?, @Header("ticket") ticket: String?, @Body request: BusResetDrivingLineRequest?): Observable /** * 离站,通知服务器 + * @param request + * @return */ @Headers("Content-Type:application/json;charset=UTF-8") - @POST("/och-bus-cabin/cab/flow/v1/bus/driver/leave") + @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/leave") fun leaveStation(@Header("appId") appId: String?, @Header("ticket") ticket: String?, @Body request: BusUpdateSiteStatusRequest?): Observable /** * 到站 更新到站信息 + * @param request + * @return */ @Headers("Content-type:application/json;charset=UTF-8") - @POST("/och-bus-cabin/cab/flow/v1/bus/driver/arrive") + @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/arrive") fun arriveSiteStation(@Header("appId") appId: String?, @Header("ticket") ticket: String?, @Body request: BusUpdateSiteStatusRequest?): Observable /** - * 查询车辆配置的所有路线 + * 车机端上传心跳数据(只在出车状态时上传):包含高德坐标系经纬度 + * @param data + * @return */ @Headers("Content-type:application/json;charset=UTF-8") - @GET("/och-bus-cabin/api/business/v1/driver/BusBindLine") + @POST("/autopilot-car-hailing/location/v2/driver/bus/heartbeat") + fun runCarHeartbeat( + @Header("appId") appId: String?, + @Header("ticket") ticket: String?, + @Body data: CarHeartbeatReqBean? + ): Observable + + /** + * 查询车辆配置的所有路线 + * @param appId + * @param ticket + * @param sn + * @return + */ + @GET("/autopilot-car-hailing/line/v2/driver/bus/bindLine/query") fun queryBusLines(@Header("appId") appId: String?, @Header("ticket") ticket: String?, @Query("sn") sn: String?): Observable /** @@ -71,13 +95,16 @@ interface IBusSaasApiService { * @param lineId 线路id * @return */ - @Headers("Content-type:application/json;charset=UTF-8") - @GET("/och-bus-cabin/api/business/v1/driver/bus/task/query") + @GET("/autopilot-car-hailing/line/v2/driver/bus/task/query") fun queryBusTaskByLineId(@Header("appId") appId: String?, @Header("ticket") ticket: String?, @Query("lineId") lineId: Long?): Observable /** * 上传轨迹信息 + * @param appId + * @param ticket + * @param data + * @return */ @Headers("Content-type:application/json;charset=UTF-8") @POST("/autopilot-car-hailing/location/v2/driver/bus/saveLineCoordinate") @@ -87,21 +114,6 @@ interface IBusSaasApiService { @Body data: BusRoutePlanningUpdateReqBean? ): Observable - /** - * 中止任务 - * @param appId - * @param ticket - * @param data - * @return - */ - @Headers("Content-type:application/json;charset=UTF-8") - @POST("/och-bus-cabin/cab/flow/v1/bus/driver/abortTask") - fun abortTask( - @Header("appId") appId: String?, - @Header("ticket") ticket: String?, - @Body data: BusCloseTaskRequest? - ): Observable - /** * 任务正常跑完结束 * @param appId @@ -110,20 +122,8 @@ interface IBusSaasApiService { * @return */ @Headers("Content-type:application/json;charset=UTF-8") - @POST("/och-bus-cabin/cab/flow/v1/bus/driver/endTask") + @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/endTask") fun endTask(@Header("appId") appId: String?, @Header("ticket") ticket: String?, @Body data: BusCloseTaskRequest?): Observable - - /** - * 任务正常跑完结束 - * @param appId - * @param ticket - * @param data - * @return - */ - @Headers("Content-type:application/json;charset=UTF-8") - @POST("/och-bus-cabin/cab/flow/v1/bus/driver/endTask") - fun writeOffCount(@Header("appId") appId: String?, @Header("ticket") ticket: String?, @Query("taskId") taskId: Long , @Query("siteId")siteId: Long ): Observable - } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bussaas/BusSaasServiceManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/mogo/bus/MogoBusServiceManager.kt similarity index 62% rename from OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bussaas/BusSaasServiceManager.kt rename to OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/mogo/bus/MogoBusServiceManager.kt index 32dacd9e12..219a7d8e70 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bussaas/BusSaasServiceManager.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/mogo/bus/MogoBusServiceManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.weaknet.repository.net.bussaas +package com.mogo.och.weaknet.repository.net.normal.mogo.bus import android.content.Context import com.mogo.cloud.passport.MoGoAiCloudClientConfig @@ -7,40 +7,38 @@ import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.och.common.module.constant.OchCommonConst import com.mogo.och.common.module.network.OchCommonNet import com.mogo.och.common.module.network.OchCommonServiceCallback -import com.mogo.och.common.module.network.OchCommonSubscribeImpl -import com.mogo.och.common.module.network.interceptor.transformIoTry import com.mogo.och.common.module.network.interceptor.transformTry import com.mogo.och.data.bean.BusRoutesResult +import com.mogo.och.weaknet.bean.request.BusQueryLineStationsRequest import com.mogo.och.weaknet.bean.response.WriteOffCountResponse import com.mogo.och.weaknet.repository.db.bean.LineDataBean import com.mogo.och.weaknet.repository.db.bean.TaskDataBean import com.mogo.och.weaknet.repository.net.bean.request.BusCloseTaskRequest import com.mogo.och.weaknet.repository.net.bean.request.BusResetDrivingLineRequest import com.mogo.och.weaknet.repository.net.bean.request.BusUpdateSiteStatusRequest +import com.mogo.och.weaknet.repository.net.normal.NormalNetInterface import io.reactivex.Observable /** * @author: wangmingjun * @date: 2021/10/20 */ -object BusSaasServiceManager { +class MogoBusServiceManager: NormalNetInterface { - private val M_SAAS_SERVICE: IBusSaasApiService = + private val mService: IMogoBusApiService = MoGoRetrofitFactory.getInstance(OchCommonConst.getBaseUrl()).create( - IBusSaasApiService::class.java + IMogoBusApiService::class.java ) + /** * 查询小巴车当前任务 - * @param context - * @param callback */ - @JvmStatic - fun queryBusRoutes(): Observable? { - return M_SAAS_SERVICE.queryBusRoutes( + override fun queryBusRoutes(): Observable? { + return mService.queryBusRoutes( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, - SharedPrefsMgr.getInstance().getSn(), + BusQueryLineStationsRequest() ) .transformTry() .flatMap(OchCommonNet("queryBusRoutes",false)) .flatMap { @@ -50,15 +48,12 @@ object BusSaasServiceManager { /** * 重置线路站点 - * @param context * @param taskId - * @param callback */ - @JvmStatic - fun switchLine( + override fun switchLine( taskId: Long, ): Observable? { - return M_SAAS_SERVICE.switchLine( + return mService.switchLine( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, BusResetDrivingLineRequest(taskId) @@ -69,34 +64,12 @@ object BusSaasServiceManager { } } -// /** -// * 中断当前任务 -// * @param context -// * @param taskId -// * @param callback -// */ -// @JvmStatic -// fun abortTask(context: Context, taskId: Long, callback: OchCommonServiceCallback?) { -// -// M_SAAS_SERVICE.abortTask( -// MoGoAiCloudClientConfig.getInstance().serviceAppId, -// SharedPrefsMgr.getInstance().token, -// BusCloseTaskRequest(taskId) -// ) -// .transformTry() -// .subscribe(OchCommonSubscribeImpl(context, callback, "abortTask")) -// -// } - /** * 正常结束任务 - * @param context * @param taskId - * @param callback */ - @JvmStatic - fun endTask(taskId: Long): Observable? { - return M_SAAS_SERVICE.endTask( + override fun endTask(taskId: Long): Observable? { + return mService.endTask( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, BusCloseTaskRequest(taskId) @@ -109,19 +82,16 @@ object BusSaasServiceManager { /** * 离站上报 - * @param context * @param seq * @param siteId - * @param callback */ - @JvmStatic - fun leaveStation( + override fun leaveStation( seq: Int, siteId: Long, taskId: Long, writeVersion: Long, ): Observable? { - return M_SAAS_SERVICE.leaveStation( + return mService.leaveStation( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, BusUpdateSiteStatusRequest(taskId, siteId, seq,writeVersion) @@ -134,16 +104,13 @@ object BusSaasServiceManager { /** * 到站更新站点状态 - * @param context * @param seq * @param siteId - * @param callback */ - @JvmStatic - fun arriveSiteStation( + override fun arriveSiteStation( seq: Int, siteId: Long, taskId: Long, writeVersion: Long, ): Observable? { - return M_SAAS_SERVICE.arriveSiteStation( + return mService.arriveSiteStation( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, BusUpdateSiteStatusRequest(taskId, siteId, seq, writeVersion) @@ -155,9 +122,9 @@ object BusSaasServiceManager { } } - @JvmStatic - fun queryBusLines(): Observable?> { - return M_SAAS_SERVICE.queryBusLines( + + override fun queryBusLines(): Observable?> { + return mService.queryBusLines( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, SharedPrefsMgr.getInstance().sn @@ -169,10 +136,8 @@ object BusSaasServiceManager { } - @JvmStatic - fun queryBusTaskByLineId( - lineId: Long?) :Observable?> { - return M_SAAS_SERVICE.queryBusTaskByLineId( + override fun queryBusTaskByLineId(lineId: Long) :Observable?> { + return mService.queryBusTaskByLineId( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, lineId @@ -183,24 +148,4 @@ object BusSaasServiceManager { } } - /** - * - */ - @JvmStatic - fun writeOffCount( - context: Context, - taskId: Long, - siteId: Long, - callback: OchCommonServiceCallback? - ) { - M_SAAS_SERVICE.writeOffCount( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - taskId, - siteId - ) - .transformIoTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount")) - } - } \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttle/IShuttleApiService.java b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/mogo/shuttle/IMogoShuttleApiService.java similarity index 82% rename from OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttle/IShuttleApiService.java rename to OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/mogo/shuttle/IMogoShuttleApiService.java index 9745153e45..7b0c036ae9 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttle/IShuttleApiService.java +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/mogo/shuttle/IMogoShuttleApiService.java @@ -1,9 +1,8 @@ -package com.mogo.och.weaknet.repository.net.shuttle; +package com.mogo.och.weaknet.repository.net.normal.mogo.shuttle; import com.mogo.eagle.core.data.BaseData; import com.mogo.och.weaknet.bean.request.BusQueryLineStationsRequest; import com.mogo.och.weaknet.bean.response.BusRoutesResponse; -import com.mogo.och.weaknet.bean.response.WriteOffCountResponse; import com.mogo.och.weaknet.repository.net.bean.request.BusCloseTaskRequest; import com.mogo.och.weaknet.repository.net.bean.request.BusResetDrivingLineRequest; import com.mogo.och.weaknet.repository.net.bean.request.BusUpdateSiteStatusRequest; @@ -24,7 +23,7 @@ import retrofit2.http.Query; * @author tongchenfei *

*/ -public interface IShuttleApiService { +public interface IMogoShuttleApiService { /** * 查询当前运行任务 * @@ -82,16 +81,6 @@ public interface IShuttleApiService { @GET("/och-shuttle-cabin/api/business/v1/driver/task/query") Observable queryBusTaskByLineId(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("lineId") Long lineId); - /** - * 中止任务 - * @param appId - * @param ticket - * @param data - * @return - */ - @POST("/och-shuttle-cabin/api/flow/v1/driver/abortTask") - Observable abortTask(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusCloseTaskRequest data); - /** * 任务正常跑完结束 * @param appId @@ -103,10 +92,5 @@ public interface IShuttleApiService { @POST("/och-shuttle-cabin/api/flow/v1/driver/endTask") Observable endTask(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusCloseTaskRequest data); - - @Headers( {"Content-type:application/json;charset=UTF-8"} ) - @GET("och-vehicle/api/car/v2/device/writeOff") - Observable writeOffCount(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("taskId") long taskId, @Query("siteId") long siteId); - } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttle/ShuttleServiceManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/mogo/shuttle/MogoShuttleServiceManager.kt similarity index 69% rename from OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttle/ShuttleServiceManager.kt rename to OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/mogo/shuttle/MogoShuttleServiceManager.kt index 93607b8238..8181ddcc91 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttle/ShuttleServiceManager.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/normal/mogo/shuttle/MogoShuttleServiceManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.weaknet.repository.net.shuttle +package com.mogo.och.weaknet.repository.net.normal.mogo.shuttle import android.content.Context import com.mogo.cloud.passport.MoGoAiCloudClientConfig @@ -7,8 +7,6 @@ import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.och.common.module.constant.OchCommonConst import com.mogo.och.common.module.network.OchCommonNet import com.mogo.och.common.module.network.OchCommonServiceCallback -import com.mogo.och.common.module.network.OchCommonSubscribeImpl -import com.mogo.och.common.module.network.interceptor.transformIoTry import com.mogo.och.common.module.network.interceptor.transformTry import com.mogo.och.data.bean.BusRoutesResult import com.mogo.och.weaknet.bean.request.BusQueryLineStationsRequest @@ -18,16 +16,17 @@ import com.mogo.och.weaknet.repository.db.bean.TaskDataBean import com.mogo.och.weaknet.repository.net.bean.request.BusCloseTaskRequest import com.mogo.och.weaknet.repository.net.bean.request.BusResetDrivingLineRequest import com.mogo.och.weaknet.repository.net.bean.request.BusUpdateSiteStatusRequest +import com.mogo.och.weaknet.repository.net.normal.NormalNetInterface import io.reactivex.Observable /** * @author: wangmingjun * @date: 2021/10/20 */ -object ShuttleServiceManager { +class MogoShuttleServiceManager: NormalNetInterface { - private val mService: IShuttleApiService = MoGoRetrofitFactory.getInstance(OchCommonConst.getShuttleUrl()).create( - IShuttleApiService::class.java + private val mService: IMogoShuttleApiService = MoGoRetrofitFactory.getInstance(OchCommonConst.getShuttleUrl()).create( + IMogoShuttleApiService::class.java ) @@ -36,8 +35,7 @@ object ShuttleServiceManager { * @param context * @param callback */ - @JvmStatic - fun queryBusRoutes(): Observable? { + override fun queryBusRoutes(): Observable? { return mService.queryBusRoutes( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, @@ -55,8 +53,7 @@ object ShuttleServiceManager { * @param taskId * @param callback */ - @JvmStatic - fun switchLine( + override fun switchLine( taskId: Long, ): Observable? { return mService.switchLine( @@ -70,31 +67,13 @@ object ShuttleServiceManager { } } -// /** -// * 中断当前任务 -// * @param context -// * @param taskId -// * @param callback -// */ -// @JvmStatic -// fun abortTask(context: Context, taskId: Long, callback: OchCommonServiceCallback?) { -// mService.abortTask( -// MoGoAiCloudClientConfig.getInstance().serviceAppId, -// SharedPrefsMgr.getInstance().token, -// BusCloseTaskRequest(taskId) -// ) -// .transformTry() -// .subscribe(OchCommonSubscribeImpl(context, callback, "abortTask")) -// } - /** * 正常结束任务 * @param context * @param taskId * @param callback */ - @JvmStatic - fun endTask(taskId: Long): Observable? { + override fun endTask(taskId: Long): Observable? { return mService.endTask( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, @@ -113,8 +92,7 @@ object ShuttleServiceManager { * @param siteId * @param callback */ - @JvmStatic - fun leaveStation( + override fun leaveStation( seq: Int, siteId: Long, taskId: Long, @@ -138,8 +116,7 @@ object ShuttleServiceManager { * @param siteId * @param callback */ - @JvmStatic - fun arriveSiteStation( + override fun arriveSiteStation( seq: Int, siteId: Long, taskId: Long, writeVersion: Long, ): Observable? { return mService.arriveSiteStation( @@ -155,8 +132,7 @@ object ShuttleServiceManager { } - @JvmStatic - fun queryBusLines(): Observable?> { + override fun queryBusLines(): Observable?> { return mService.queryBusLines( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, @@ -168,9 +144,8 @@ object ShuttleServiceManager { } } - @JvmStatic - fun queryBusTaskByLineId( - lineId: Long?) :Observable?> { + override fun queryBusTaskByLineId( + lineId: Long) :Observable?> { return mService.queryBusTaskByLineId( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, @@ -182,24 +157,4 @@ object ShuttleServiceManager { } } - /** - * 只发生在大理环境 查询当前站点核销的人数 - */ - @JvmStatic - fun writeOffCount( - context: Context, - taskId: Long, - siteId: Long, - callback: OchCommonServiceCallback? - ) { - mService.writeOffCount( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - taskId, - siteId - ) - .transformIoTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount")) - } - } \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/WeakNetInterface.java b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/WeakNetInterface.java new file mode 100644 index 0000000000..221a2ad975 --- /dev/null +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/WeakNetInterface.java @@ -0,0 +1,35 @@ +package com.mogo.och.weaknet.repository.net.weaknet; + +import android.content.Context; + +import com.mogo.och.common.module.network.OchCommonServiceCallback; +import com.mogo.och.data.bean.BusRoutesResult; +import com.mogo.och.weaknet.bean.request.ShuttleEventRequest; +import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse; +import com.mogo.och.weaknet.bean.response.WriteOffCountResponse; +import com.mogo.eagle.core.data.BaseData; + +import io.reactivex.Observable; + +public interface WeakNetInterface { + + Observable queryBusRoutes(); + + void writeOffCount( + Context context , + String taskId, + String siteId, + OchCommonServiceCallback callback + ); + + void queryCarExecutableTaskList( + Context context , + OchCommonServiceCallback callback + ); + + void reportCabinEvent( + Context context , + ShuttleEventRequest data , + OchCommonServiceCallback callback + ); +} diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttlesaas/ShuttleSaasServiceManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/dali/shuttle/DaliShuttleServiceManager.kt similarity index 84% rename from OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttlesaas/ShuttleSaasServiceManager.kt rename to OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/dali/shuttle/DaliShuttleServiceManager.kt index f91ef3eadd..1bc744d880 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttlesaas/ShuttleSaasServiceManager.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/dali/shuttle/DaliShuttleServiceManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.weaknet.repository.net.shuttlesaas +package com.mogo.och.weaknet.repository.net.weaknet.dali.shuttle import android.content.Context import com.mogo.cloud.passport.MoGoAiCloudClientConfig @@ -12,19 +12,20 @@ import com.mogo.och.common.module.network.OchCommonSubscribeImpl import com.mogo.och.common.module.network.interceptor.transformIoTry import com.mogo.och.data.bean.BusRoutesResult import com.mogo.och.weaknet.bean.request.BusQueryLineStationsRequest -import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse import com.mogo.och.weaknet.bean.request.ShuttleEventRequest +import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse import com.mogo.och.weaknet.bean.response.WriteOffCountResponse +import com.mogo.och.weaknet.repository.net.weaknet.WeakNetInterface import io.reactivex.Observable /** * @author: wangmingjun * @date: 2021/10/20 */ -object ShuttleSaasServiceManager { +object DaliShuttleServiceManager: WeakNetInterface { - private val mService: IShuttleSaasApiService = MoGoRetrofitFactory.getInstance(OchCommonConst.getShuttleUrl()).create( - IShuttleSaasApiService::class.java + private val mService: IDaliShuttleApiService = MoGoRetrofitFactory.getInstance(OchCommonConst.getShuttleUrl()).create( + IDaliShuttleApiService::class.java ) @@ -33,8 +34,7 @@ object ShuttleSaasServiceManager { * @param context * @param callback */ - @JvmStatic - fun queryBusRoutes(): Observable? { + override fun queryBusRoutes(): Observable? { //获取当前高德坐标 return mService.queryBusRoutes( MoGoAiCloudClientConfig.getInstance().serviceAppId, @@ -48,10 +48,9 @@ object ShuttleSaasServiceManager { } /** - * 只发生在大理环境 查询当前站点核销的人数 + * 只发生在大理和saas环境 查询当前站点核销的人数 */ - @JvmStatic - fun queryBusTaskByLineId( + override fun writeOffCount( context: Context, taskId: String?, siteId: String?, @@ -70,8 +69,7 @@ object ShuttleSaasServiceManager { /** * 同步 线路、站点、任务、自驾轨迹信息 */ - @JvmStatic - fun queryCarExecutableTaskList( + override fun queryCarExecutableTaskList( context: Context, callback: OchCommonServiceCallback? ) { @@ -87,8 +85,7 @@ object ShuttleSaasServiceManager { /** * 上传 开始线路 滑动出发 到站 完成线路 各个任务到服务器端 */ - @JvmStatic - fun reportCabinEvent( + override fun reportCabinEvent( context: Context, data: ShuttleEventRequest, callback: OchCommonServiceCallback?, diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/dali/shuttle/IDaliShuttleApiService.java b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/dali/shuttle/IDaliShuttleApiService.java new file mode 100644 index 0000000000..5e4198a1a6 --- /dev/null +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/dali/shuttle/IDaliShuttleApiService.java @@ -0,0 +1,59 @@ +package com.mogo.och.weaknet.repository.net.weaknet.dali.shuttle; + +import com.mogo.eagle.core.data.BaseData; +import com.mogo.och.weaknet.bean.request.BusQueryLineStationsRequest; +import com.mogo.och.weaknet.bean.request.ShuttleEventRequest; +import com.mogo.och.weaknet.bean.response.BusRoutesResponse; +import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse; +import com.mogo.och.weaknet.bean.response.WriteOffCountResponse; + +import io.reactivex.Observable; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.Header; +import retrofit2.http.Headers; +import retrofit2.http.POST; +import retrofit2.http.Query; + +/** + * 小巴车相关接口 + * + * @author tongchenfei + *

+ * wiki: http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=48970072 + */ +public interface IDaliShuttleApiService { + + /** + * 查询当前运行任务 + * + * @param request 请求参数 + * @return 接口返回数据 + */ + @Headers( {"Content-Type:application/json;charset=UTF-8"} ) + @POST( "/och-shuttle-cabin/api/business/v1/driver/lineDataWithDriver/query" ) + Observable queryBusRoutes(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusQueryLineStationsRequest request); + + /** + * 查询当前站点核销的人数 + */ + @Headers( {"Content-type:application/json;charset=UTF-8"} ) + @GET("/och-vehicle/api/car/v2/device/writeOff") + Observable writeOffCount(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("taskId") String taskId, @Query("siteId") String siteId); + + /** + * 同步 线路、站点、任务、自驾轨迹信息 + */ + @Headers( {"Content-type:application/json;charset=UTF-8"} ) + @GET("/och-shuttle-cabin/api/flow/v1/queryCarExecutableTaskList") + Observable queryCarExecutableTaskList(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn); + + /** + * 上传 开始线路 滑动出发 到站 完成线路 各个任务到服务器端 + */ + @Headers( {"Content-Type:application/json;charset=UTF-8"} ) + @POST( "/och-shuttle-cabin/api/flow/v1/reportCabinEvent" ) + Observable reportCabinEvent(@Header ("appId") String appId, @Header("ticket") String ticket, @Body ShuttleEventRequest request); + +} + diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/bus/ISaasBusApiService.java b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/bus/ISaasBusApiService.java new file mode 100644 index 0000000000..ada227085b --- /dev/null +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/bus/ISaasBusApiService.java @@ -0,0 +1,59 @@ +package com.mogo.och.weaknet.repository.net.weaknet.saas.bus; + +import com.mogo.eagle.core.data.BaseData; +import com.mogo.och.weaknet.bean.request.BusQueryLineStationsRequest; +import com.mogo.och.weaknet.bean.response.BusRoutesResponse; +import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse; +import com.mogo.och.weaknet.bean.request.ShuttleEventRequest; +import com.mogo.och.weaknet.bean.response.WriteOffCountResponse; + +import io.reactivex.Observable; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.Header; +import retrofit2.http.Headers; +import retrofit2.http.POST; +import retrofit2.http.Query; + +/** + * 小巴车相关接口 + * + * @author tongchenfei + *

+ * wiki: http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=48970072 + */ +public interface ISaasBusApiService { + + /** + * 查询当前运行任务 + * + * @param request 请求参数 + * @return 接口返回数据 + */ + @Headers( {"Content-Type:application/json;charset=UTF-8"} ) + @POST( "/och-bus-cabin/api/business/v1/driver/bus/lineDataWithDriver/query" ) + Observable queryBusRoutes(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusQueryLineStationsRequest request); + + /** + * 查询当前站点核销的人数 + */ + @Headers( {"Content-type:application/json;charset=UTF-8"} ) + @GET("/och-vehicle/api/car/v2/device/writeOff") + Observable writeOffCount(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("taskId") String taskId, @Query("siteId") String siteId); + + /** + * 同步 线路、站点、任务、自驾轨迹信息 + */ + @Headers( {"Content-type:application/json;charset=UTF-8"} ) + @GET("/och-vehicle/cabin/queryCarExecutableTaskList") + Observable queryCarExecutableTaskList(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn); + + /** + * 上传 开始线路 滑动出发 到站 完成线路 各个任务到服务器端 + */ + @Headers( {"Content-Type:application/json;charset=UTF-8"} ) + @POST( "/och-vehicle/cabin/reportCabinEvent" ) + Observable reportCabinEvent(@Header ("appId") String appId, @Header("ticket") String ticket, @Body ShuttleEventRequest request); + +} + diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/bus/SaasBusServiceManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/bus/SaasBusServiceManager.kt new file mode 100644 index 0000000000..26ad705015 --- /dev/null +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/bus/SaasBusServiceManager.kt @@ -0,0 +1,102 @@ +package com.mogo.och.weaknet.repository.net.weaknet.saas.bus + +import android.content.Context +import com.mogo.cloud.passport.MoGoAiCloudClientConfig +import com.mogo.commons.storage.SharedPrefsMgr +import com.mogo.eagle.core.data.BaseData +import com.mogo.eagle.core.network.MoGoRetrofitFactory +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonNet +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.network.interceptor.transformIoTry +import com.mogo.och.data.bean.BusRoutesResult +import com.mogo.och.weaknet.bean.request.BusQueryLineStationsRequest +import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse +import com.mogo.och.weaknet.bean.request.ShuttleEventRequest +import com.mogo.och.weaknet.bean.response.WriteOffCountResponse +import com.mogo.och.weaknet.repository.net.weaknet.WeakNetInterface +import io.reactivex.Observable + +/** + * @author: wangmingjun + * @date: 2021/10/20 + */ +object SaasBusServiceManager: WeakNetInterface { + + private val mService: ISaasBusApiService = MoGoRetrofitFactory.getInstance(OchCommonConst.getShuttleUrl()).create( + ISaasBusApiService::class.java + ) + + + /** + * 查询小巴车当前任务 + * @param context + * @param callback + */ + override fun queryBusRoutes(): Observable? { + //获取当前高德坐标 + return mService.queryBusRoutes( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + SharedPrefsMgr.getInstance().token, + BusQueryLineStationsRequest() + ) .transformIoTry() + .flatMap(OchCommonNet("queryBusRoutes",false)) + .flatMap { + Observable.just(it.data?:BusRoutesResult()) + } + } + + /** + * 只发生在大理和saas环境 查询当前站点核销的人数 + */ + override fun writeOffCount( + context: Context, + taskId: String?, + siteId: String?, + callback: OchCommonServiceCallback? + ) { + mService.writeOffCount( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + SharedPrefsMgr.getInstance().token, + taskId, + siteId + ) + .transformIoTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount")) + } + + /** + * 同步 线路、站点、任务、自驾轨迹信息 + */ + override fun queryCarExecutableTaskList( + context: Context, + callback: OchCommonServiceCallback? + ) { + mService.queryCarExecutableTaskList( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + SharedPrefsMgr.getInstance().token, + SharedPrefsMgr.getInstance().sn, + ) + .transformIoTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryCarExecutableTaskList")) + } + + /** + * 上传 开始线路 滑动出发 到站 完成线路 各个任务到服务器端 + */ + override fun reportCabinEvent( + context: Context, + data: ShuttleEventRequest, + callback: OchCommonServiceCallback?, + ) { + mService.reportCabinEvent( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + SharedPrefsMgr.getInstance().token, + data, + ) + .subscribe(OchCommonSubscribeImpl(context, callback, "reportCabinEvent")) + } + + +} \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttlesaas/IShuttleSaasApiService.java b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/shuttle/ISaasShuttleApiService.java similarity index 95% rename from OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttlesaas/IShuttleSaasApiService.java rename to OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/shuttle/ISaasShuttleApiService.java index 8aa6d42ae3..de9abc7add 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/shuttlesaas/IShuttleSaasApiService.java +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/shuttle/ISaasShuttleApiService.java @@ -1,4 +1,4 @@ -package com.mogo.och.weaknet.repository.net.shuttlesaas; +package com.mogo.och.weaknet.repository.net.weaknet.saas.shuttle; import com.mogo.eagle.core.data.BaseData; import com.mogo.och.weaknet.bean.request.BusQueryLineStationsRequest; @@ -22,7 +22,7 @@ import retrofit2.http.Query; *

* wiki: http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=48970072 */ -public interface IShuttleSaasApiService { +public interface ISaasShuttleApiService { /** * 查询当前运行任务 diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/shuttle/SaasShuttleServiceManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/shuttle/SaasShuttleServiceManager.kt new file mode 100644 index 0000000000..ae075c3b4b --- /dev/null +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/shuttle/SaasShuttleServiceManager.kt @@ -0,0 +1,102 @@ +package com.mogo.och.weaknet.repository.net.weaknet.saas.shuttle + +import android.content.Context +import com.mogo.cloud.passport.MoGoAiCloudClientConfig +import com.mogo.commons.storage.SharedPrefsMgr +import com.mogo.eagle.core.data.BaseData +import com.mogo.eagle.core.network.MoGoRetrofitFactory +import com.mogo.och.common.module.constant.OchCommonConst +import com.mogo.och.common.module.network.OchCommonNet +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.common.module.network.OchCommonSubscribeImpl +import com.mogo.och.common.module.network.interceptor.transformIoTry +import com.mogo.och.data.bean.BusRoutesResult +import com.mogo.och.weaknet.bean.request.BusQueryLineStationsRequest +import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse +import com.mogo.och.weaknet.bean.request.ShuttleEventRequest +import com.mogo.och.weaknet.bean.response.WriteOffCountResponse +import com.mogo.och.weaknet.repository.net.weaknet.WeakNetInterface +import io.reactivex.Observable + +/** + * @author: wangmingjun + * @date: 2021/10/20 + */ +object SaasShuttleServiceManager: WeakNetInterface { + + private val mService: ISaasShuttleApiService = MoGoRetrofitFactory.getInstance(OchCommonConst.getShuttleUrl()).create( + ISaasShuttleApiService::class.java + ) + + + /** + * 查询小巴车当前任务 + * @param context + * @param callback + */ + override fun queryBusRoutes(): Observable? { + //获取当前高德坐标 + return mService.queryBusRoutes( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + SharedPrefsMgr.getInstance().token, + BusQueryLineStationsRequest() + ) .transformIoTry() + .flatMap(OchCommonNet("queryBusRoutes",false)) + .flatMap { + Observable.just(it.data?:BusRoutesResult()) + } + } + + /** + * 只发生在大理和saas环境 查询当前站点核销的人数 + */ + override fun writeOffCount( + context: Context, + taskId: String?, + siteId: String?, + callback: OchCommonServiceCallback? + ) { + mService.writeOffCount( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + SharedPrefsMgr.getInstance().token, + taskId, + siteId + ) + .transformIoTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount")) + } + + /** + * 同步 线路、站点、任务、自驾轨迹信息 + */ + override fun queryCarExecutableTaskList( + context: Context, + callback: OchCommonServiceCallback? + ) { + mService.queryCarExecutableTaskList( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + SharedPrefsMgr.getInstance().token, + SharedPrefsMgr.getInstance().sn, + ) + .transformIoTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryCarExecutableTaskList")) + } + + /** + * 上传 开始线路 滑动出发 到站 完成线路 各个任务到服务器端 + */ + override fun reportCabinEvent( + context: Context, + data: ShuttleEventRequest, + callback: OchCommonServiceCallback?, + ) { + mService.reportCabinEvent( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + SharedPrefsMgr.getInstance().token, + data, + ) + .subscribe(OchCommonSubscribeImpl(context, callback, "reportCabinEvent")) + } + + +} \ No newline at end of file