[6.7.2]
[fea] [司机屏数据源变更]
This commit is contained in:
@@ -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<BaseData>{
|
||||
RepositoryManager.reportCabinEvent(AbsMogoApplication.getApp()!!,transformDb2Net,object :OchCommonServiceCallback<BaseData?>{
|
||||
override fun onSuccess(data: BaseData?) {
|
||||
waitUpdateEvent.forEach {
|
||||
it.updateStatus = EventDataBean.updated
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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<WriteOffCountResponse>?)
|
||||
|
||||
fun queryCarExecutableTaskList(ochCommonServiceCallback: OchCommonServiceCallback<CarExecutableTaskResponse>)
|
||||
|
||||
fun reportCabinEvent(context: Context?, data: ShuttleEventRequest?, callback: OchCommonServiceCallback<BaseData?>?)
|
||||
|
||||
}
|
||||
@@ -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<Boolean>?{
|
||||
@@ -90,9 +104,19 @@ object RepositoryManager {
|
||||
fun queryCarExecutableTaskList(
|
||||
ochCommonServiceCallback: OchCommonServiceCallback<CarExecutableTaskResponse>
|
||||
) {
|
||||
if (repository is ShuttleSaasRepository) {
|
||||
if (repository is WeaknetRepository) {
|
||||
repository.queryCarExecutableTaskList(ochCommonServiceCallback)
|
||||
}
|
||||
}
|
||||
|
||||
fun reportCabinEvent(
|
||||
context: Context?,
|
||||
data: ShuttleEventRequest?,
|
||||
callback: OchCommonServiceCallback<BaseData?>?
|
||||
){
|
||||
if (repository is WeaknetRepository) {
|
||||
repository.reportCabinEvent(context,data,callback)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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")
|
||||
|
||||
@@ -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<Boolean>? {
|
||||
return BusServiceManager.queryBusRoutes()
|
||||
?.flatMap { busRoutesResult ->
|
||||
if (!busRoutesResult.sites.isNullOrEmpty() && busRoutesResult.sites.size > 1) {
|
||||
OchChainLogManager.writeChainLogDb(
|
||||
"业务数据",
|
||||
"本地没有正在运行的数据,服务器端有${busRoutesResult}"
|
||||
)
|
||||
val result = mutableListOf<BusStationBean>()
|
||||
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<List<LineDataBean>?>? {
|
||||
return BusServiceManager.queryBusLines()
|
||||
}
|
||||
|
||||
override fun queryCanUserTask(lineId: Long): Observable<List<TaskDataBean>?> {
|
||||
return BusServiceManager.queryBusTaskByLineId(lineId)
|
||||
}
|
||||
|
||||
override fun startTask(
|
||||
taskId: Long,
|
||||
lineId: Long,
|
||||
taskTime: Long,
|
||||
lineName: String
|
||||
): Observable<Boolean>? {
|
||||
return BusServiceManager.switchLine(taskId)
|
||||
}
|
||||
|
||||
override fun leaveStation(
|
||||
seq: Int,
|
||||
siteId: Long,
|
||||
taskId: Long,
|
||||
lineId: Long,
|
||||
taskStartTime: Long
|
||||
): Observable<Boolean>? {
|
||||
return BusServiceManager.leaveStation(seq, siteId, taskId, System.currentTimeMillis())
|
||||
}
|
||||
|
||||
override fun arriveStation(seq: Int, siteId: Long, taskId: Long): Observable<Boolean>? {
|
||||
return BusServiceManager.arriveSiteStation(
|
||||
seq,
|
||||
siteId,
|
||||
taskId,
|
||||
System.currentTimeMillis()
|
||||
)
|
||||
}
|
||||
|
||||
override fun endTask(taskId: Long): Observable<Boolean>? {
|
||||
return BusServiceManager.endTask(taskId)
|
||||
}
|
||||
|
||||
override fun queryWriteoffCount(context: Context, taskId: Long, siteId: Long, callback: OchCommonServiceCallback<WriteOffCountResponse>?) {
|
||||
BusServiceManager.writeOffCount(context,taskId,siteId,callback)
|
||||
}
|
||||
|
||||
override fun queryCarExecutableTaskList(ochCommonServiceCallback: OchCommonServiceCallback<CarExecutableTaskResponse>) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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<Boolean>? {
|
||||
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<List<LineDataBean>?>? {
|
||||
return BusSaasServiceManager.queryBusLines()
|
||||
return normalNetInterface.queryBusLines()
|
||||
}
|
||||
|
||||
override fun queryCanUserTask(lineId: Long): Observable<List<TaskDataBean>?>? {
|
||||
return BusSaasServiceManager.queryBusTaskByLineId(lineId)
|
||||
return normalNetInterface.queryBusTaskByLineId(lineId)
|
||||
}
|
||||
|
||||
override fun startTask(
|
||||
@@ -101,7 +139,7 @@ class BusSaasRepository: IRepository {
|
||||
taskTime: Long,
|
||||
lineName: String
|
||||
): Observable<Boolean>? {
|
||||
return BusSaasServiceManager.switchLine(taskId)
|
||||
return normalNetInterface.switchLine(taskId)
|
||||
}
|
||||
|
||||
override fun leaveStation(
|
||||
@@ -111,11 +149,11 @@ class BusSaasRepository: IRepository {
|
||||
lineId: Long,
|
||||
taskStartTime: Long
|
||||
): Observable<Boolean>? {
|
||||
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<Boolean>? {
|
||||
return BusSaasServiceManager.arriveSiteStation(
|
||||
return normalNetInterface.arriveSiteStation(
|
||||
seq,
|
||||
siteId,
|
||||
taskId,
|
||||
@@ -124,7 +162,7 @@ class BusSaasRepository: IRepository {
|
||||
}
|
||||
|
||||
override fun endTask(taskId: Long): Observable<Boolean>? {
|
||||
return BusSaasServiceManager.endTask(taskId)
|
||||
return normalNetInterface.endTask(taskId)
|
||||
}
|
||||
|
||||
override fun queryWriteoffCount(
|
||||
@@ -133,12 +171,20 @@ class BusSaasRepository: IRepository {
|
||||
siteId: Long,
|
||||
callback: OchCommonServiceCallback<WriteOffCountResponse>?
|
||||
) {
|
||||
BusSaasServiceManager.writeOffCount(context,taskId,siteId,callback)
|
||||
|
||||
}
|
||||
|
||||
override fun queryCarExecutableTaskList(ochCommonServiceCallback: OchCommonServiceCallback<CarExecutableTaskResponse>) {
|
||||
|
||||
}
|
||||
|
||||
override fun reportCabinEvent(
|
||||
context: Context?,
|
||||
data: ShuttleEventRequest?,
|
||||
callback: OchCommonServiceCallback<BaseData?>?
|
||||
) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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<Boolean>? {
|
||||
return ShuttleServiceManager.queryBusRoutes()
|
||||
?.flatMap { busRoutesResult ->
|
||||
if (!busRoutesResult.sites.isNullOrEmpty() && busRoutesResult.sites.size > 1) {
|
||||
OchChainLogManager.writeChainLogDb(
|
||||
"业务数据",
|
||||
"本地没有正在运行的数据,服务器端有${busRoutesResult}"
|
||||
)
|
||||
val result = mutableListOf<BusStationBean>()
|
||||
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<List<LineDataBean>?> {
|
||||
return ShuttleServiceManager.queryBusLines()
|
||||
}
|
||||
|
||||
override fun queryCanUserTask(lineId: Long): Observable<List<TaskDataBean>?> {
|
||||
return ShuttleServiceManager.queryBusTaskByLineId(lineId)
|
||||
}
|
||||
|
||||
override fun startTask(taskId: Long, lineId: Long, taskTime: Long, lineName: String): Observable<Boolean>? {
|
||||
return ShuttleServiceManager.switchLine(taskId)
|
||||
}
|
||||
|
||||
override fun leaveStation(
|
||||
seq: Int,
|
||||
siteId: Long,
|
||||
taskId: Long,
|
||||
lineId: Long,
|
||||
taskStartTime: Long
|
||||
): Observable<Boolean>? {
|
||||
return ShuttleServiceManager.leaveStation(seq, siteId, taskId, System.currentTimeMillis())
|
||||
}
|
||||
|
||||
override fun arriveStation(seq: Int, siteId: Long, taskId: Long, ): Observable<Boolean>? {
|
||||
return ShuttleServiceManager.arriveSiteStation(
|
||||
seq,
|
||||
siteId,
|
||||
taskId,
|
||||
System.currentTimeMillis()
|
||||
)
|
||||
}
|
||||
|
||||
override fun endTask(taskId: Long): Observable<Boolean>? {
|
||||
return ShuttleServiceManager.endTask(taskId)
|
||||
}
|
||||
|
||||
override fun queryWriteoffCount(
|
||||
context: Context,
|
||||
taskId: Long,
|
||||
siteId: Long,
|
||||
callback: OchCommonServiceCallback<WriteOffCountResponse>?
|
||||
) {
|
||||
ShuttleServiceManager.writeOffCount(context,taskId,siteId,callback)
|
||||
}
|
||||
|
||||
override fun queryCarExecutableTaskList(ochCommonServiceCallback: OchCommonServiceCallback<CarExecutableTaskResponse>) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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<Boolean>? {
|
||||
|
||||
return Observable.just(123)
|
||||
@@ -110,7 +147,7 @@ class ShuttleSaasRepository : IRepository {
|
||||
}
|
||||
|
||||
private fun loadServerRuningTask(): Observable<Boolean>? {
|
||||
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<WriteOffCountResponse>?
|
||||
) {
|
||||
ShuttleSaasServiceManager.queryBusTaskByLineId(context,taskId.toString(),siteId.toString(),callback)
|
||||
weakNetInterface.writeOffCount(context,taskId.toString(),siteId.toString(),callback)
|
||||
}
|
||||
|
||||
override fun queryCarExecutableTaskList(
|
||||
ochCommonServiceCallback: OchCommonServiceCallback<CarExecutableTaskResponse>
|
||||
) {
|
||||
ShuttleSaasServiceManager.queryCarExecutableTaskList(context,ochCommonServiceCallback)
|
||||
weakNetInterface.queryCarExecutableTaskList(context,ochCommonServiceCallback)
|
||||
}
|
||||
|
||||
override fun reportCabinEvent(
|
||||
context: Context?,
|
||||
data: ShuttleEventRequest?,
|
||||
callback: OchCommonServiceCallback<BaseData?>?
|
||||
) {
|
||||
weakNetInterface.reportCabinEvent(context,data,callback)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.mogo.och.weaknet.repository.net.exception
|
||||
|
||||
class NetException: RuntimeException {
|
||||
constructor() : super()
|
||||
constructor(message: String?) : super(message)
|
||||
}
|
||||
@@ -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<BusRoutesResult> queryBusRoutes();
|
||||
|
||||
Observable<Boolean> switchLine(long taskId);
|
||||
|
||||
Observable<Boolean> endTask(long taskId);
|
||||
|
||||
Observable<Boolean> leaveStation(int seq, long siteId, long taskId, long writeVersion);
|
||||
|
||||
Observable<Boolean> arriveSiteStation(int seq, long siteId, long taskId, long writeVersion);
|
||||
|
||||
Observable<List<LineDataBean>> queryBusLines();
|
||||
|
||||
Observable<List<TaskDataBean>> queryBusTaskByLineId(long lineId);
|
||||
|
||||
}
|
||||
@@ -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<BusRoutesResult>? {
|
||||
override fun queryBusRoutes(): Observable<BusRoutesResult>? {
|
||||
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<Boolean>? {
|
||||
return mService.switchLine(
|
||||
@@ -67,29 +66,11 @@ object BusServiceManager {
|
||||
}
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 中断当前任务
|
||||
// * @param context
|
||||
// * @param taskId
|
||||
// * @param callback
|
||||
// */
|
||||
// @JvmStatic
|
||||
// fun abortTask(context: Context, taskId: Long, callback: OchCommonServiceCallback<BaseData>?) {
|
||||
// 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<Boolean>? {
|
||||
override fun endTask(taskId: Long): Observable<Boolean>? {
|
||||
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<Boolean>? {
|
||||
override fun leaveStation(seq: Int, siteId: Long, taskId: Long, writeVersion: Long, ): Observable<Boolean>? {
|
||||
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<Boolean>? {
|
||||
return mService.arriveSiteStation(
|
||||
@@ -145,8 +119,7 @@ object BusServiceManager {
|
||||
}
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun queryBusLines(): Observable<List<LineDataBean>?> {
|
||||
override fun queryBusLines(): Observable<List<LineDataBean>?> {
|
||||
return mService.queryBusLines(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
@@ -159,8 +132,7 @@ object BusServiceManager {
|
||||
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun queryBusTaskByLineId(lineId: Long?) :Observable<List<TaskDataBean>?> {
|
||||
override fun queryBusTaskByLineId(lineId: Long) :Observable<List<TaskDataBean>?> {
|
||||
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<WriteOffCountResponse>?
|
||||
) {
|
||||
mService.writeOffCount(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
taskId,
|
||||
siteId
|
||||
)
|
||||
.transformIoTry()
|
||||
.subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount"))
|
||||
}
|
||||
}
|
||||
@@ -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 {
|
||||
/**
|
||||
* 根据车机坐标获取所在区域全部站点信息
|
||||
*
|
||||
@@ -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<BusRoutesResponse>
|
||||
@POST("/autopilot-car-hailing/line/v2/driver/bus/lineDataWithDriver/query")
|
||||
fun queryBusRoutes(@Header("appId") appId: String?, @Header("ticket") ticket: String?, @Body request: BusQueryLineStationsRequest?): Observable<BusRoutesResponse>
|
||||
|
||||
/**
|
||||
* @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<BaseData>
|
||||
|
||||
/**
|
||||
* 离站,通知服务器
|
||||
* @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<BaseData>
|
||||
|
||||
/**
|
||||
* 到站 更新到站信息
|
||||
* @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<BaseData>
|
||||
|
||||
|
||||
/**
|
||||
* 查询车辆配置的所有路线
|
||||
* 车机端上传心跳数据(只在出车状态时上传):包含高德坐标系经纬度
|
||||
* @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<BaseData>
|
||||
|
||||
/**
|
||||
* 查询车辆配置的所有路线
|
||||
* @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<BusQueryLinesResponse>
|
||||
|
||||
/**
|
||||
@@ -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<BusQueryLineTaskResponse>
|
||||
|
||||
|
||||
/**
|
||||
* 上传轨迹信息
|
||||
* @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<BaseData>
|
||||
|
||||
/**
|
||||
* 中止任务
|
||||
* @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<BaseData>
|
||||
|
||||
/**
|
||||
* 任务正常跑完结束
|
||||
* @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<BaseData>
|
||||
|
||||
|
||||
/**
|
||||
* 任务正常跑完结束
|
||||
* @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<WriteOffCountResponse>
|
||||
|
||||
}
|
||||
|
||||
@@ -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<BusRoutesResult>? {
|
||||
return M_SAAS_SERVICE.queryBusRoutes(
|
||||
override fun queryBusRoutes(): Observable<BusRoutesResult>? {
|
||||
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<Boolean>? {
|
||||
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<BaseData>?) {
|
||||
//
|
||||
// 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<Boolean>? {
|
||||
return M_SAAS_SERVICE.endTask(
|
||||
override fun endTask(taskId: Long): Observable<Boolean>? {
|
||||
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<Boolean>? {
|
||||
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<Boolean>? {
|
||||
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<List<LineDataBean>?> {
|
||||
return M_SAAS_SERVICE.queryBusLines(
|
||||
|
||||
override fun queryBusLines(): Observable<List<LineDataBean>?> {
|
||||
return mService.queryBusLines(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
SharedPrefsMgr.getInstance().sn
|
||||
@@ -169,10 +136,8 @@ object BusSaasServiceManager {
|
||||
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun queryBusTaskByLineId(
|
||||
lineId: Long?) :Observable<List<TaskDataBean>?> {
|
||||
return M_SAAS_SERVICE.queryBusTaskByLineId(
|
||||
override fun queryBusTaskByLineId(lineId: Long) :Observable<List<TaskDataBean>?> {
|
||||
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<WriteOffCountResponse>?
|
||||
) {
|
||||
M_SAAS_SERVICE.writeOffCount(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
taskId,
|
||||
siteId
|
||||
)
|
||||
.transformIoTry()
|
||||
.subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount"))
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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
|
||||
* <p>
|
||||
*/
|
||||
public interface IShuttleApiService {
|
||||
public interface IMogoShuttleApiService {
|
||||
/**
|
||||
* 查询当前运行任务
|
||||
*
|
||||
@@ -82,16 +81,6 @@ public interface IShuttleApiService {
|
||||
@GET("/och-shuttle-cabin/api/business/v1/driver/task/query")
|
||||
Observable<BusQueryLineTaskResponse> 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<BaseData> 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<BaseData> 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<WriteOffCountResponse> writeOffCount(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("taskId") long taskId, @Query("siteId") long siteId);
|
||||
|
||||
}
|
||||
|
||||
@@ -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<BusRoutesResult>? {
|
||||
override fun queryBusRoutes(): Observable<BusRoutesResult>? {
|
||||
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<Boolean>? {
|
||||
return mService.switchLine(
|
||||
@@ -70,31 +67,13 @@ object ShuttleServiceManager {
|
||||
}
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 中断当前任务
|
||||
// * @param context
|
||||
// * @param taskId
|
||||
// * @param callback
|
||||
// */
|
||||
// @JvmStatic
|
||||
// fun abortTask(context: Context, taskId: Long, callback: OchCommonServiceCallback<BaseData>?) {
|
||||
// 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<Boolean>? {
|
||||
override fun endTask(taskId: Long): Observable<Boolean>? {
|
||||
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<Boolean>? {
|
||||
return mService.arriveSiteStation(
|
||||
@@ -155,8 +132,7 @@ object ShuttleServiceManager {
|
||||
}
|
||||
|
||||
|
||||
@JvmStatic
|
||||
fun queryBusLines(): Observable<List<LineDataBean>?> {
|
||||
override fun queryBusLines(): Observable<List<LineDataBean>?> {
|
||||
return mService.queryBusLines(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
@@ -168,9 +144,8 @@ object ShuttleServiceManager {
|
||||
}
|
||||
|
||||
}
|
||||
@JvmStatic
|
||||
fun queryBusTaskByLineId(
|
||||
lineId: Long?) :Observable<List<TaskDataBean>?> {
|
||||
override fun queryBusTaskByLineId(
|
||||
lineId: Long) :Observable<List<TaskDataBean>?> {
|
||||
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<WriteOffCountResponse>?
|
||||
) {
|
||||
mService.writeOffCount(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
taskId,
|
||||
siteId
|
||||
)
|
||||
.transformIoTry()
|
||||
.subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount"))
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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<BusRoutesResult> queryBusRoutes();
|
||||
|
||||
void writeOffCount(
|
||||
Context context ,
|
||||
String taskId,
|
||||
String siteId,
|
||||
OchCommonServiceCallback<WriteOffCountResponse> callback
|
||||
);
|
||||
|
||||
void queryCarExecutableTaskList(
|
||||
Context context ,
|
||||
OchCommonServiceCallback<CarExecutableTaskResponse> callback
|
||||
);
|
||||
|
||||
void reportCabinEvent(
|
||||
Context context ,
|
||||
ShuttleEventRequest data ,
|
||||
OchCommonServiceCallback<BaseData> callback
|
||||
);
|
||||
}
|
||||
@@ -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<BusRoutesResult?>? {
|
||||
override fun queryBusRoutes(): Observable<BusRoutesResult?>? {
|
||||
//获取当前高德坐标
|
||||
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<CarExecutableTaskResponse>?
|
||||
) {
|
||||
@@ -87,8 +85,7 @@ object ShuttleSaasServiceManager {
|
||||
/**
|
||||
* 上传 开始线路 滑动出发 到站 完成线路 各个任务到服务器端
|
||||
*/
|
||||
@JvmStatic
|
||||
fun reportCabinEvent(
|
||||
override fun reportCabinEvent(
|
||||
context: Context,
|
||||
data: ShuttleEventRequest,
|
||||
callback: OchCommonServiceCallback<BaseData>?,
|
||||
@@ -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
|
||||
* <p>
|
||||
* 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<BusRoutesResponse> 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<WriteOffCountResponse> 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<CarExecutableTaskResponse> 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<BaseData> reportCabinEvent(@Header ("appId") String appId, @Header("ticket") String ticket, @Body ShuttleEventRequest request);
|
||||
|
||||
}
|
||||
|
||||
@@ -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
|
||||
* <p>
|
||||
* 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<BusRoutesResponse> 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<WriteOffCountResponse> 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<CarExecutableTaskResponse> 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<BaseData> reportCabinEvent(@Header ("appId") String appId, @Header("ticket") String ticket, @Body ShuttleEventRequest request);
|
||||
|
||||
}
|
||||
|
||||
@@ -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<BusRoutesResult?>? {
|
||||
//获取当前高德坐标
|
||||
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<WriteOffCountResponse>?
|
||||
) {
|
||||
mService.writeOffCount(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
taskId,
|
||||
siteId
|
||||
)
|
||||
.transformIoTry()
|
||||
.subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount"))
|
||||
}
|
||||
|
||||
/**
|
||||
* 同步 线路、站点、任务、自驾轨迹信息
|
||||
*/
|
||||
override fun queryCarExecutableTaskList(
|
||||
context: Context,
|
||||
callback: OchCommonServiceCallback<CarExecutableTaskResponse>?
|
||||
) {
|
||||
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<BaseData>?,
|
||||
) {
|
||||
mService.reportCabinEvent(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
data,
|
||||
)
|
||||
.subscribe(OchCommonSubscribeImpl(context, callback, "reportCabinEvent"))
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
* <p>
|
||||
* wiki: http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=48970072
|
||||
*/
|
||||
public interface IShuttleSaasApiService {
|
||||
public interface ISaasShuttleApiService {
|
||||
|
||||
/**
|
||||
* 查询当前运行任务
|
||||
@@ -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<BusRoutesResult?>? {
|
||||
//获取当前高德坐标
|
||||
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<WriteOffCountResponse>?
|
||||
) {
|
||||
mService.writeOffCount(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
taskId,
|
||||
siteId
|
||||
)
|
||||
.transformIoTry()
|
||||
.subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount"))
|
||||
}
|
||||
|
||||
/**
|
||||
* 同步 线路、站点、任务、自驾轨迹信息
|
||||
*/
|
||||
override fun queryCarExecutableTaskList(
|
||||
context: Context,
|
||||
callback: OchCommonServiceCallback<CarExecutableTaskResponse>?
|
||||
) {
|
||||
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<BaseData>?,
|
||||
) {
|
||||
mService.reportCabinEvent(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
data,
|
||||
)
|
||||
.subscribe(OchCommonSubscribeImpl(context, callback, "reportCabinEvent"))
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user