[6.6.0]
[fea] [线路和任务]
This commit is contained in:
@@ -141,4 +141,12 @@ object BizLoopManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun runInIoThread(runable:Runnable){
|
||||||
|
if(ThreadUtils.isMainThread()){
|
||||||
|
ThreadUtils.getIoPool().submit(runable)
|
||||||
|
}else{
|
||||||
|
runable.run()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
package com.mogo.och.common.module.network
|
||||||
|
|
||||||
|
import com.mogo.eagle.core.data.BaseData
|
||||||
|
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||||
|
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||||
|
import com.mogo.och.common.module.utils.CallerLoggerUtils.flavorTag
|
||||||
|
import com.mogo.och.weaknet.repository.db.exception.NetDataException
|
||||||
|
import io.reactivex.Observable
|
||||||
|
import io.reactivex.ObservableSource
|
||||||
|
import io.reactivex.functions.Function
|
||||||
|
|
||||||
|
|
||||||
|
class OchCommonNet<T:BaseData>(val apiName:String, val writeLog:Boolean) : Function<T?, ObservableSource<T?>> {
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
const val TAG = "CommonNet"
|
||||||
|
}
|
||||||
|
|
||||||
|
private var tag:Long = System.currentTimeMillis()
|
||||||
|
|
||||||
|
|
||||||
|
init {
|
||||||
|
CallerLogger.e("$flavorTag${OchCommonSubscribeImpl.TAG}", "$apiName: 去请求()")
|
||||||
|
if(writeLog) {
|
||||||
|
OchChainLogManager.writeChainLogNet(false,"接口:${apiName}", "去请求_${tag}")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun apply(baseData: T): ObservableSource<T?> {
|
||||||
|
if (baseData.code != 0 && baseData.code != 200) {
|
||||||
|
onError(baseData.msg,baseData.code)
|
||||||
|
return Observable.error(NetDataException(baseData.code,baseData.msg))
|
||||||
|
} else {
|
||||||
|
onSuccess(baseData)
|
||||||
|
return Observable.just(baseData)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun onSuccess(o: T) {
|
||||||
|
CallerLogger.d("$flavorTag${TAG}", "$apiName: onSuccess() ${o.msg}")
|
||||||
|
if(writeLog) {
|
||||||
|
OchChainLogManager.writeChainLogNet(false,"接口:${apiName}", "请求成功:${o}_${tag}")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun onError(message: String, code: Int) {
|
||||||
|
CallerLogger.e("$flavorTag${TAG}", "$apiName: onError() code = $code; message = $message")
|
||||||
|
if(writeLog) {
|
||||||
|
OchChainLogManager.writeChainLogNet(
|
||||||
|
true,
|
||||||
|
"接口:${apiName}",
|
||||||
|
"请求失败: onError() code = $code; message = $message\" _${tag}"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.db.transform
|
||||||
|
|
||||||
|
import io.reactivex.Observable
|
||||||
|
import io.reactivex.ObservableSource
|
||||||
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
|
import io.reactivex.functions.Function
|
||||||
|
import io.reactivex.schedulers.Schedulers
|
||||||
|
|
||||||
|
fun <T,V> Observable<T>.transform4DataBase(transfor:Function<T, ObservableSource<V>>): Observable<V> {
|
||||||
|
return flatMap(transfor)
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.db.exception
|
||||||
|
|
||||||
|
import com.mogo.commons.AbsMogoApplication
|
||||||
|
import com.mogo.eagle.core.utilcode.util.NetworkUtils
|
||||||
|
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||||
|
import com.mogo.och.common.module.R
|
||||||
|
import com.mogo.och.common.module.utils.ResourcesUtils
|
||||||
|
|
||||||
|
class NetDataException: RuntimeException {
|
||||||
|
constructor() : super()
|
||||||
|
constructor(message: String?) : super(message)
|
||||||
|
constructor(code:Int,message: String?):super("${code}_${message}"){
|
||||||
|
if (!NetworkUtils.isConnected(AbsMogoApplication.getApp())) {
|
||||||
|
ToastUtils.showShort(ResourcesUtils.getString(R.string.network_error_tip));
|
||||||
|
} else {
|
||||||
|
ToastUtils.showShort(ResourcesUtils.getString(R.string.request_error_tip));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -10,10 +10,10 @@ import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
|||||||
import com.mogo.och.common.module.constant.OchCommonConst
|
import com.mogo.och.common.module.constant.OchCommonConst
|
||||||
import com.mogo.och.common.module.biz.provider.CommonServiceImpl
|
import com.mogo.och.common.module.biz.provider.CommonServiceImpl
|
||||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutopilotAnalytics
|
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutopilotAnalytics
|
||||||
import com.mogo.och.weaknet.repository.db.repository.EventRepository
|
import com.mogo.och.weaknet.repository.db.repository.EventDb
|
||||||
import com.mogo.och.weaknet.repository.db.repository.LineRepository
|
import com.mogo.och.weaknet.repository.db.repository.LineDb
|
||||||
import com.mogo.och.weaknet.repository.db.repository.TaskRepository
|
import com.mogo.och.weaknet.repository.db.repository.TaskDb
|
||||||
import com.mogo.och.weaknet.repository.db.repository.TaskSiteRepository
|
import com.mogo.och.weaknet.repository.db.repository.TaskSiteDb
|
||||||
import com.mogo.och.weaknet.ui.fragment.ShuttleFragment
|
import com.mogo.och.weaknet.ui.fragment.ShuttleFragment
|
||||||
import com.mogo.och.weaknet.model.LineModel
|
import com.mogo.och.weaknet.model.LineModel
|
||||||
import com.mogo.och.weaknet.ui.bizswitch.SwitchBizView
|
import com.mogo.och.weaknet.ui.bizswitch.SwitchBizView
|
||||||
@@ -33,10 +33,10 @@ class ShuttleDriverProvider : CommonServiceImpl() {
|
|||||||
override fun init(context: Context) {
|
override fun init(context: Context) {
|
||||||
d(SceneConstant.M_TAXI + TAG, "init")
|
d(SceneConstant.M_TAXI + TAG, "init")
|
||||||
ThreadUtils.getIoPool().submit {
|
ThreadUtils.getIoPool().submit {
|
||||||
LineRepository.deleteObsoleteData()
|
LineDb.deleteObsoleteData()
|
||||||
TaskRepository.deleteObsoleteData()
|
TaskDb.deleteObsoleteData()
|
||||||
TaskSiteRepository.deleteObsoleteData()
|
TaskSiteDb.deleteObsoleteData()
|
||||||
EventRepository.deleteObsoleteData()
|
EventDb.deleteObsoleteData()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import com.mogo.och.data.bean.BusStationBean
|
|||||||
import com.mogo.och.data.bean.LineInfo
|
import com.mogo.och.data.bean.LineInfo
|
||||||
import com.mogo.och.weaknet.model.LineModel
|
import com.mogo.och.weaknet.model.LineModel
|
||||||
import com.mogo.och.weaknet.repository.db.bean.TaskSiteDataBean
|
import com.mogo.och.weaknet.repository.db.bean.TaskSiteDataBean
|
||||||
import com.mogo.och.weaknet.repository.db.repository.TaskSiteRepository
|
import com.mogo.och.weaknet.repository.db.repository.TaskSiteDb
|
||||||
import java.lang.Boolean
|
import java.lang.Boolean
|
||||||
import kotlin.String
|
import kotlin.String
|
||||||
|
|
||||||
@@ -86,7 +86,7 @@ class BusRoutesResponse : BaseData() {
|
|||||||
temp.isPlayTts = it.isPlayTts
|
temp.isPlayTts = it.isPlayTts
|
||||||
runnintTaskAndSites.add(temp)
|
runnintTaskAndSites.add(temp)
|
||||||
}
|
}
|
||||||
TaskSiteRepository.addOrUpdate(*runnintTaskAndSites.toTypedArray())
|
TaskSiteDb.addOrUpdate(*runnintTaskAndSites.toTypedArray())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ import com.mogo.och.weaknet.repository.db.bean.ContrailDataBean
|
|||||||
import com.mogo.och.weaknet.repository.db.bean.LineDataBean
|
import com.mogo.och.weaknet.repository.db.bean.LineDataBean
|
||||||
import com.mogo.och.weaknet.repository.db.bean.SiteDataBean
|
import com.mogo.och.weaknet.repository.db.bean.SiteDataBean
|
||||||
import com.mogo.och.weaknet.repository.db.bean.TaskDataBean
|
import com.mogo.och.weaknet.repository.db.bean.TaskDataBean
|
||||||
import com.mogo.och.weaknet.repository.db.repository.ContraiRepository
|
import com.mogo.och.weaknet.repository.db.repository.ContraiDb
|
||||||
import com.mogo.och.weaknet.repository.db.repository.LineRepository
|
import com.mogo.och.weaknet.repository.db.repository.LineDb
|
||||||
import com.mogo.och.weaknet.repository.db.repository.SiteRepository
|
import com.mogo.och.weaknet.repository.db.repository.SiteDb
|
||||||
import com.mogo.och.weaknet.repository.db.repository.TaskRepository
|
import com.mogo.och.weaknet.repository.db.repository.TaskDb
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -53,13 +53,13 @@ data class CarExecutableTaskResponse(val data: List<Result>?) : BaseData(){
|
|||||||
taskInfs.forEach {
|
taskInfs.forEach {
|
||||||
it.lineId = lineId
|
it.lineId = lineId
|
||||||
}
|
}
|
||||||
TaskRepository.addOrUpdate(taskInfs,lineId)
|
TaskDb.addOrUpdate(taskInfs,lineId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LineRepository.checkAndUpdate(lineList)
|
LineDb.checkAndUpdate(lineList)
|
||||||
ContraiRepository.addOrUpdate(contrailList)
|
ContraiDb.addOrUpdate(contrailList)
|
||||||
SiteRepository.addOrUpdate(siteList)
|
SiteDb.addOrUpdate(siteList)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,14 +12,6 @@ class BusConst {
|
|||||||
|
|
||||||
// 测试用的广播
|
// 测试用的广播
|
||||||
const val BROADCAST_TEST_BUS_CONTROL_TYPE_EXTRA_KEY = "sceneType"
|
const val BROADCAST_TEST_BUS_CONTROL_TYPE_EXTRA_KEY = "sceneType"
|
||||||
// 无状态
|
|
||||||
const val STATION_STATUS_IDLE = 0
|
|
||||||
// 已过站(历史站)
|
|
||||||
const val STATION_STATUS_LEAVING = 1
|
|
||||||
// 到站(当前站)
|
|
||||||
const val STATION_STATUS_STOPPED = 2
|
|
||||||
// 未到站(未到站)
|
|
||||||
const val STATION_STATUS_ARRIVING = 3
|
|
||||||
|
|
||||||
// 上报心跳轮询ms
|
// 上报心跳轮询ms
|
||||||
const val LOOP_PERIOD_60S = 60 * 1000L
|
const val LOOP_PERIOD_60S = 60 * 1000L
|
||||||
@@ -49,12 +41,6 @@ class BusConst {
|
|||||||
//围栏到站 暂定10米
|
//围栏到站 暂定10米
|
||||||
const val ARRIVE_AT_END_STATION_DISTANCE = 10
|
const val ARRIVE_AT_END_STATION_DISTANCE = 10
|
||||||
|
|
||||||
// 轮询
|
|
||||||
const val LOOP_PASSENGER_5S = 5 * 1000L
|
|
||||||
const val LOOP_PASSENGER_2S = 2 * 1000L
|
|
||||||
const val LOOP_PASSENGER_1S = 1 * 1000L
|
|
||||||
const val LOOP_DELAY_500 = 500L
|
|
||||||
|
|
||||||
const val DELAY_10S = 10 * 1000L
|
const val DELAY_10S = 10 * 1000L
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -9,16 +9,16 @@ import com.mogo.och.common.module.network.OchCommonServiceCallback
|
|||||||
import com.mogo.och.weaknet.bean.request.ShuttleEventRequest
|
import com.mogo.och.weaknet.bean.request.ShuttleEventRequest
|
||||||
import com.mogo.och.weaknet.bean.WaitUploadLine
|
import com.mogo.och.weaknet.bean.WaitUploadLine
|
||||||
import com.mogo.och.weaknet.bean.WaitUploadTask
|
import com.mogo.och.weaknet.bean.WaitUploadTask
|
||||||
import com.mogo.och.weaknet.repository.net.shuttlesaas.OrderServiceManager
|
import com.mogo.och.weaknet.repository.net.impl.shuttlesaas.OrderServiceManager
|
||||||
import com.mogo.och.weaknet.repository.db.bean.EventDataBean
|
import com.mogo.och.weaknet.repository.db.bean.EventDataBean
|
||||||
import com.mogo.och.weaknet.repository.db.repository.EventRepository
|
import com.mogo.och.weaknet.repository.db.repository.EventDb
|
||||||
import io.reactivex.Observable
|
import io.reactivex.Observable
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.schedulers.Schedulers
|
import io.reactivex.schedulers.Schedulers
|
||||||
import io.reactivex.subjects.BehaviorSubject
|
import io.reactivex.subjects.BehaviorSubject
|
||||||
import java.util.concurrent.atomic.AtomicBoolean
|
import java.util.concurrent.atomic.AtomicBoolean
|
||||||
|
|
||||||
object EventModel : EventRepository.EventCallback {
|
object EventModel : EventDb.EventCallback {
|
||||||
|
|
||||||
|
|
||||||
private val isUpdating by lazy { AtomicBoolean(false) }
|
private val isUpdating by lazy { AtomicBoolean(false) }
|
||||||
@@ -26,12 +26,12 @@ object EventModel : EventRepository.EventCallback {
|
|||||||
private val createDefault = BehaviorSubject.createDefault(isUpdating.get())
|
private val createDefault = BehaviorSubject.createDefault(isUpdating.get())
|
||||||
|
|
||||||
fun load(){
|
fun load(){
|
||||||
EventRepository.eventCallback = this
|
EventDb.eventCallback = this
|
||||||
BizLoopManager.postDelayed(loopUpdateInfo,2*60*1000)
|
BizLoopManager.postDelayed(loopUpdateInfo,2*60*1000)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun release(){
|
fun release(){
|
||||||
EventRepository.eventCallback = null
|
EventDb.eventCallback = null
|
||||||
}
|
}
|
||||||
|
|
||||||
private val loopUpdateInfo = Runnable { updateEvent() }
|
private val loopUpdateInfo = Runnable { updateEvent() }
|
||||||
@@ -46,7 +46,7 @@ object EventModel : EventRepository.EventCallback {
|
|||||||
isUpdating.set(true)
|
isUpdating.set(true)
|
||||||
createDefault.onNext(isUpdating.get())
|
createDefault.onNext(isUpdating.get())
|
||||||
ThreadUtils.getSinglePool().submit {
|
ThreadUtils.getSinglePool().submit {
|
||||||
val waitUpdateEvent = EventRepository.queryWaitUpdateEvent()
|
val waitUpdateEvent = EventDb.queryWaitUpdateEvent()
|
||||||
if(waitUpdateEvent.isNullOrEmpty()){
|
if(waitUpdateEvent.isNullOrEmpty()){
|
||||||
OchChainLogManager.writeChainLogDb("上报event","没有数据需要上报${Thread.currentThread().name}")
|
OchChainLogManager.writeChainLogDb("上报event","没有数据需要上报${Thread.currentThread().name}")
|
||||||
isUpdating.set(false)
|
isUpdating.set(false)
|
||||||
@@ -62,10 +62,10 @@ object EventModel : EventRepository.EventCallback {
|
|||||||
it.updateStatus = EventDataBean.updated
|
it.updateStatus = EventDataBean.updated
|
||||||
}
|
}
|
||||||
OchChainLogManager.writeChainLogDb("上报event成功","$transformDb2Net ${Thread.currentThread().name}")
|
OchChainLogManager.writeChainLogDb("上报event成功","$transformDb2Net ${Thread.currentThread().name}")
|
||||||
EventRepository.saveUpdateSuccess(waitUpdateEvent)
|
EventDb.saveUpdateSuccess(waitUpdateEvent)
|
||||||
isUpdating.set(false)
|
isUpdating.set(false)
|
||||||
createDefault.onNext(isUpdating.get())
|
createDefault.onNext(isUpdating.get())
|
||||||
val queryWaitUpdateEventCount = EventRepository.queryWaitUpdateEventCount()
|
val queryWaitUpdateEventCount = EventDb.queryWaitUpdateEventCount()
|
||||||
if(queryWaitUpdateEventCount!=null&&queryWaitUpdateEventCount>0){
|
if(queryWaitUpdateEventCount!=null&&queryWaitUpdateEventCount>0){
|
||||||
updateEvent()
|
updateEvent()
|
||||||
return
|
return
|
||||||
@@ -93,14 +93,14 @@ object EventModel : EventRepository.EventCallback {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun haveDataWaitSyn(): Boolean {
|
fun haveDataWaitSyn(): Boolean {
|
||||||
EventRepository.queryWaitUpdateEvent()?.let {
|
EventDb.queryWaitUpdateEvent()?.let {
|
||||||
return it.isNotEmpty()
|
return it.isNotEmpty()
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
fun queryWaitUploadInfo(): Observable<MutableList<WaitUploadLine>>? {
|
fun queryWaitUploadInfo(): Observable<MutableList<WaitUploadLine>>? {
|
||||||
return EventRepository.queryWaitUploadData()
|
return EventDb.queryWaitUploadData()
|
||||||
?.flatMap { waitUploadList->
|
?.flatMap { waitUploadList->
|
||||||
val result = mutableListOf<WaitUploadLine>()
|
val result = mutableListOf<WaitUploadLine>()
|
||||||
waitUploadList.forEach { wait->
|
waitUploadList.forEach { wait->
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ 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.manager.logchainanalytic.OchChainLogManager
|
||||||
import com.mogo.och.common.module.manager.loop.BizLoopManager
|
import com.mogo.och.common.module.manager.loop.BizLoopManager
|
||||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||||
|
import com.mogo.och.common.module.network.OchCommonSubscribeImpl
|
||||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||||
import com.mogo.och.common.module.utils.ResourcesUtils
|
import com.mogo.och.common.module.utils.ResourcesUtils
|
||||||
import com.mogo.och.data.bean.BusStationBean
|
import com.mogo.och.data.bean.BusStationBean
|
||||||
@@ -22,17 +23,18 @@ import com.mogo.och.shuttle.weaknet.R
|
|||||||
import com.mogo.och.weaknet.bean.response.BusRoutesResponse
|
import com.mogo.och.weaknet.bean.response.BusRoutesResponse
|
||||||
import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse
|
import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse
|
||||||
import com.mogo.och.weaknet.callback.IBusLinesCallback
|
import com.mogo.och.weaknet.callback.IBusLinesCallback
|
||||||
import com.mogo.och.weaknet.constant.BusConst
|
|
||||||
import com.mogo.och.weaknet.repository.net.shuttlesaas.OrderServiceManager
|
|
||||||
import com.mogo.och.weaknet.repository.db.bean.ContrailDataBean
|
import com.mogo.och.weaknet.repository.db.bean.ContrailDataBean
|
||||||
import com.mogo.och.weaknet.repository.db.bean.LineDataBean
|
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.TaskDataBean
|
||||||
import com.mogo.och.weaknet.repository.db.bean.TaskSiteDataBean
|
import com.mogo.och.weaknet.repository.db.bean.TaskSiteDataBean
|
||||||
import com.mogo.och.weaknet.repository.db.repository.ContraiRepository
|
import com.mogo.och.weaknet.repository.db.repository.ContraiDb
|
||||||
import com.mogo.och.weaknet.repository.db.repository.EventRepository
|
import com.mogo.och.weaknet.repository.db.repository.EventDb
|
||||||
import com.mogo.och.weaknet.repository.db.repository.LineRepository
|
import com.mogo.och.weaknet.repository.db.repository.LineDb
|
||||||
import com.mogo.och.weaknet.repository.db.repository.TaskRepository
|
import com.mogo.och.weaknet.repository.db.repository.TaskDb
|
||||||
import com.mogo.och.weaknet.repository.db.repository.TaskSiteRepository
|
import com.mogo.och.weaknet.repository.db.repository.TaskSiteDb
|
||||||
|
import com.mogo.och.weaknet.repository.net.RepositoryManager
|
||||||
|
import com.mogo.och.weaknet.repository.net.impl.shuttle.ShuttleRepository
|
||||||
|
import com.mogo.och.weaknet.repository.net.impl.shuttlesaas.OrderServiceManager
|
||||||
import io.reactivex.Observer
|
import io.reactivex.Observer
|
||||||
import io.reactivex.disposables.Disposable
|
import io.reactivex.disposables.Disposable
|
||||||
import java.util.concurrent.ConcurrentHashMap
|
import java.util.concurrent.ConcurrentHashMap
|
||||||
@@ -50,6 +52,8 @@ object LineModel {
|
|||||||
|
|
||||||
private const val TAG = "BusLineModel"
|
private const val TAG = "BusLineModel"
|
||||||
|
|
||||||
|
private val context = AbsMogoApplication.getApp()
|
||||||
|
|
||||||
// 判断接口是否变化
|
// 判断接口是否变化
|
||||||
private const val EXECUTABLECHANGEMD5 = "EXECUTABLECHANGEMD5"
|
private const val EXECUTABLECHANGEMD5 = "EXECUTABLECHANGEMD5"
|
||||||
|
|
||||||
@@ -174,7 +178,7 @@ object LineModel {
|
|||||||
*/
|
*/
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun queryBusLines() {
|
fun queryBusLines() {
|
||||||
LineRepository.queryCanUseLine()
|
RepositoryManager.queryCanUseLine()
|
||||||
?.subscribe(object : Observer<List<LineDataBean>?> {
|
?.subscribe(object : Observer<List<LineDataBean>?> {
|
||||||
override fun onSubscribe(d: Disposable) {
|
override fun onSubscribe(d: Disposable) {
|
||||||
d(TAG, "onSubscribe")
|
d(TAG, "onSubscribe")
|
||||||
@@ -203,8 +207,8 @@ object LineModel {
|
|||||||
*/
|
*/
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun queryBusLineTasksById(lineId: Long) {
|
fun queryBusLineTasksById(lineId: Long) {
|
||||||
TaskRepository.queryCanUserTask(lineId)
|
RepositoryManager.queryCanUserTask(lineId)
|
||||||
?.subscribe(object : Observer<List<TaskDataBean?>?> {
|
.subscribe(object : Observer<List<TaskDataBean?>?> {
|
||||||
override fun onSubscribe(d: Disposable) {
|
override fun onSubscribe(d: Disposable) {
|
||||||
d(TAG, "onSubscribe")
|
d(TAG, "onSubscribe")
|
||||||
}
|
}
|
||||||
@@ -233,13 +237,13 @@ object LineModel {
|
|||||||
fun commitSwitchLineId(task: TaskDataBean, line: LineDataBean) {
|
fun commitSwitchLineId(task: TaskDataBean, line: LineDataBean) {
|
||||||
line.getLineIdAndName { lineId, lineName ->
|
line.getLineIdAndName { lineId, lineName ->
|
||||||
task.getLineIdAndName { taskId, taskTime ->
|
task.getLineIdAndName { taskId, taskTime ->
|
||||||
TaskRepository.startTask(
|
TaskDb.startTask(
|
||||||
taskId,
|
taskId,
|
||||||
lineId,
|
lineId,
|
||||||
lineName,
|
lineName,
|
||||||
object : TaskRepository.TaskStatusCallback {
|
object : TaskDb.TaskStatusCallback {
|
||||||
override fun startSuccess() {
|
override fun startSuccess() {
|
||||||
EventRepository.saveEventTaskStart(taskId,lineId,taskTime,lineName)
|
EventDb.saveEventTaskStart(taskId,lineId,taskTime,lineName)
|
||||||
OrderModel.queryBusRoutes()
|
OrderModel.queryBusRoutes()
|
||||||
mBusLinesCallbackMap.forEach {
|
mBusLinesCallbackMap.forEach {
|
||||||
it.value.onChangeLineIdSuccess()
|
it.value.onChangeLineIdSuccess()
|
||||||
@@ -263,7 +267,7 @@ object LineModel {
|
|||||||
// 2、本地没有从远端恢复任务
|
// 2、本地没有从远端恢复任务
|
||||||
fun loadStartedTaskAndDefaultInfo() {
|
fun loadStartedTaskAndDefaultInfo() {
|
||||||
// 获取正在运行的任务
|
// 获取正在运行的任务
|
||||||
val runningTaskInfo = TaskRepository.queryRunningTask()
|
val runningTaskInfo = TaskDb.queryRunningTask()
|
||||||
|
|
||||||
if (runningTaskInfo.isNullOrEmpty()) {
|
if (runningTaskInfo.isNullOrEmpty()) {
|
||||||
// 本地没有进行中的任务
|
// 本地没有进行中的任务
|
||||||
@@ -279,7 +283,7 @@ object LineModel {
|
|||||||
// 恢复站点信息
|
// 恢复站点信息
|
||||||
currentTask?.taskId?.let {
|
currentTask?.taskId?.let {
|
||||||
// 获取正在进行中的具体信息
|
// 获取正在进行中的具体信息
|
||||||
val runnintTaskAndSites = TaskSiteRepository.queryRunningTask(it)
|
val runnintTaskAndSites = TaskSiteDb.queryRunningTask(it)
|
||||||
if(runnintTaskAndSites.isNullOrEmpty()||runnintTaskAndSites.size<2){
|
if(runnintTaskAndSites.isNullOrEmpty()||runnintTaskAndSites.size<2){
|
||||||
OchChainLogManager.writeChainLogDb("加载任务", "异常情况:有任务:${runningTaskInfo} runningTask 表格没有对应的数据:${runnintTaskAndSites}")
|
OchChainLogManager.writeChainLogDb("加载任务", "异常情况:有任务:${runningTaskInfo} runningTask 表格没有对应的数据:${runnintTaskAndSites}")
|
||||||
return
|
return
|
||||||
@@ -298,7 +302,7 @@ object LineModel {
|
|||||||
}
|
}
|
||||||
// 设置自动驾驶信息
|
// 设置自动驾驶信息
|
||||||
currentTask?.lineId?.let {
|
currentTask?.lineId?.let {
|
||||||
val contraiInfoTemp = ContraiRepository.queryAutopilotInfoByLineid(it)
|
val contraiInfoTemp = ContraiDb.queryAutopilotInfoByLineid(it)
|
||||||
ContrailDataBean.save2Common(contraiInfoTemp)
|
ContrailDataBean.save2Common(contraiInfoTemp)
|
||||||
}
|
}
|
||||||
mBusLinesCallbackMap.forEach { callback->
|
mBusLinesCallbackMap.forEach { callback->
|
||||||
@@ -314,14 +318,14 @@ object LineModel {
|
|||||||
}
|
}
|
||||||
val tempList = sorted.toMutableList()
|
val tempList = sorted.toMutableList()
|
||||||
val possible = tempList.removeFirst()
|
val possible = tempList.removeFirst()
|
||||||
val queryLastData = EventRepository.queryLastData()
|
val queryLastData = EventDb.queryLastData()
|
||||||
if(queryLastData!=null){
|
if(queryLastData!=null){
|
||||||
if(possible.taskId==queryLastData.taskId){
|
if(possible.taskId==queryLastData.taskId){
|
||||||
// 最后一个事件和最新的task一直 恢复数据
|
// 最后一个事件和最新的task一直 恢复数据
|
||||||
tempList.forEach {
|
tempList.forEach {
|
||||||
it.status = TaskDataBean.used
|
it.status = TaskDataBean.used
|
||||||
}
|
}
|
||||||
TaskRepository.addOrUpdate(*tempList.toTypedArray())
|
TaskDb.addOrUpdate(*tempList.toTypedArray())
|
||||||
loadStartedTaskAndDefaultInfo()
|
loadStartedTaskAndDefaultInfo()
|
||||||
OchChainLogManager.writeChainLogDb("加载任务", "异常情况:多个正在进行的任务 task:${runningTaskInfo} event:${queryLastData.taskId}有一个和event表对应使用相同的一个 另一个置为已使用")
|
OchChainLogManager.writeChainLogDb("加载任务", "异常情况:多个正在进行的任务 task:${runningTaskInfo} event:${queryLastData.taskId}有一个和event表对应使用相同的一个 另一个置为已使用")
|
||||||
return
|
return
|
||||||
@@ -332,7 +336,7 @@ object LineModel {
|
|||||||
it.status = TaskDataBean.used
|
it.status = TaskDataBean.used
|
||||||
}
|
}
|
||||||
OchChainLogManager.writeChainLogDb("加载任务", "异常情况:多个正在进行的任务 task:${runningTaskInfo} 全部置为已使用 从后台加载正在使用的任务")
|
OchChainLogManager.writeChainLogDb("加载任务", "异常情况:多个正在进行的任务 task:${runningTaskInfo} 全部置为已使用 从后台加载正在使用的任务")
|
||||||
TaskRepository.addOrUpdate(*runningTaskInfo.toTypedArray())
|
TaskDb.addOrUpdate(*runningTaskInfo.toTypedArray())
|
||||||
loadServerRuningTask()
|
loadServerRuningTask()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -347,19 +351,19 @@ object LineModel {
|
|||||||
}
|
}
|
||||||
response?.data?.let {
|
response?.data?.let {
|
||||||
if (!it.sites.isNullOrEmpty()&&it.sites.size>1) {
|
if (!it.sites.isNullOrEmpty()&&it.sites.size>1) {
|
||||||
val queryTaskById = TaskRepository.queryTaskById(it.taskId.toLong())
|
val queryTaskById = TaskDb.queryTaskById(it.taskId.toLong())
|
||||||
if(queryTaskById==null||queryTaskById.status!=TaskDataBean.used) {
|
if(queryTaskById==null||queryTaskById.status!=TaskDataBean.used) {
|
||||||
OchChainLogManager.writeChainLogDb(
|
OchChainLogManager.writeChainLogDb(
|
||||||
"业务数据",
|
"业务数据",
|
||||||
"本地没有正在运行的数据,服务器端有${it}"
|
"本地没有正在运行的数据,服务器端有${it}"
|
||||||
)
|
)
|
||||||
LineRepository.saveRunningInfo(
|
LineDb.saveRunningInfo(
|
||||||
it.lineId,
|
it.lineId,
|
||||||
it.name,
|
it.name,
|
||||||
it.sites.last().name
|
it.sites.last().name
|
||||||
)
|
)
|
||||||
TaskRepository.saveRunningInfo(it.lineId, it.taskId, it.taskTime)
|
TaskDb.saveRunningInfo(it.lineId, it.taskId, it.taskTime)
|
||||||
ContraiRepository.saveRunningInfo(
|
ContraiDb.saveRunningInfo(
|
||||||
it.lineId,
|
it.lineId,
|
||||||
it.csvFileMd5,
|
it.csvFileMd5,
|
||||||
it.csvFileUrl,
|
it.csvFileUrl,
|
||||||
@@ -411,14 +415,14 @@ object LineModel {
|
|||||||
if (task.taskId!=null&&task.lineId!=null) {
|
if (task.taskId!=null&&task.lineId!=null) {
|
||||||
it.drivingStatus = TaskSiteDataBean.drivingStatusCurrent
|
it.drivingStatus = TaskSiteDataBean.drivingStatusCurrent
|
||||||
it.isLeaving = true
|
it.isLeaving = true
|
||||||
TaskSiteRepository.updateLeave(task.taskId!!, it.siteId.toLong(), true)
|
TaskSiteDb.updateLeave(task.taskId!!, it.siteId.toLong(), true)
|
||||||
mBusLinesCallbackMap.forEach {map->
|
mBusLinesCallbackMap.forEach {map->
|
||||||
map.value.onLeaveStaionSuccess()
|
map.value.onLeaveStaionSuccess()
|
||||||
}
|
}
|
||||||
OchChainLogManager.writeChainLogDb("滑动出发", "task:${currentTask}__taskId:${currentTask?.taskId}")
|
OchChainLogManager.writeChainLogDb("滑动出发", "task:${currentTask}__taskId:${currentTask?.taskId}")
|
||||||
// 设置滑动出发任务
|
// 设置滑动出发任务
|
||||||
LineManager.getLineInfo { lineInfo ->
|
LineManager.getLineInfo { lineInfo ->
|
||||||
EventRepository.saveEventTaskLeaveSite(
|
EventDb.saveEventTaskLeaveSite(
|
||||||
task.taskId!!,
|
task.taskId!!,
|
||||||
task.lineId!!,
|
task.lineId!!,
|
||||||
it.siteId.toLong(),
|
it.siteId.toLong(),
|
||||||
@@ -453,10 +457,10 @@ object LineModel {
|
|||||||
if(currentTask!=null&& currentTask!!.taskId!=null){
|
if(currentTask!=null&& currentTask!!.taskId!=null){
|
||||||
currentTask?.let { task->
|
currentTask?.let { task->
|
||||||
if (task.taskId!=null&&task.lineId!=null) {
|
if (task.taskId!=null&&task.lineId!=null) {
|
||||||
TaskSiteRepository.updateDrivingStatusAndLeave(task.taskId!!,start.siteId.toLong(),TaskSiteDataBean.drivingStatusPassed,false)
|
TaskSiteDb.updateDrivingStatusAndLeave(task.taskId!!,start.siteId.toLong(),TaskSiteDataBean.drivingStatusPassed,false)
|
||||||
// 设置到站任务
|
// 设置到站任务
|
||||||
LineManager.getLineInfo { lineInfo ->
|
LineManager.getLineInfo { lineInfo ->
|
||||||
EventRepository.saveEventTaskArriveSite(task.taskId!!,task.lineId!!,start.siteId.toLong(),start.seq,task.taskStartTime,lineInfo.lineName)
|
EventDb.saveEventTaskArriveSite(task.taskId!!,task.lineId!!,start.siteId.toLong(),start.seq,task.taskStartTime,lineInfo.lineName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -467,7 +471,7 @@ object LineModel {
|
|||||||
end.drivingStatus = TaskSiteDataBean.drivingStatusCurrent
|
end.drivingStatus = TaskSiteDataBean.drivingStatusCurrent
|
||||||
if(currentTask!=null&& currentTask!!.taskId!=null){
|
if(currentTask!=null&& currentTask!!.taskId!=null){
|
||||||
currentTask?.taskId?.let { taskId->
|
currentTask?.taskId?.let { taskId->
|
||||||
TaskSiteRepository.updateDrivingStatus(taskId,end.siteId.toLong(),TaskSiteDataBean.drivingStatusCurrent)
|
TaskSiteDb.updateDrivingStatus(taskId,end.siteId.toLong(),TaskSiteDataBean.drivingStatusCurrent)
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
OchChainLogManager.writeChainLog("到站_数据更新_error","task:${currentTask}__taskId:${currentTask?.taskId}")
|
OchChainLogManager.writeChainLog("到站_数据更新_error","task:${currentTask}__taskId:${currentTask?.taskId}")
|
||||||
@@ -510,9 +514,9 @@ object LineModel {
|
|||||||
fun endTask() {
|
fun endTask() {
|
||||||
currentTask?.let {task->
|
currentTask?.let {task->
|
||||||
if (task.taskId!=null&&task.lineId!=null) {
|
if (task.taskId!=null&&task.lineId!=null) {
|
||||||
TaskRepository.endTask(task.taskId!!)
|
TaskDb.endTask(task.taskId!!)
|
||||||
LineManager.getLineInfo { lineInfo ->
|
LineManager.getLineInfo { lineInfo ->
|
||||||
EventRepository.saveEventTaskEnd(task.taskId!!,task.lineId!!,task.taskStartTime,lineInfo.lineName)
|
EventDb.saveEventTaskEnd(task.taskId!!,task.lineId!!,task.taskStartTime,lineInfo.lineName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -531,7 +535,7 @@ object LineModel {
|
|||||||
|
|
||||||
fun startTaskMessage():Boolean {
|
fun startTaskMessage():Boolean {
|
||||||
if (!stationList.isNullOrEmpty()) {
|
if (!stationList.isNullOrEmpty()) {
|
||||||
return startStationIndex == 0 && stationList!!.first().drivingStatus == BusConst.STATION_STATUS_STOPPED && !stationList!!.first().isLeaving
|
return startStationIndex == 0 && stationList!!.first().drivingStatus == TaskSiteDataBean.drivingStatusCurrent && !stationList!!.first().isLeaving
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,12 +63,17 @@ object ThirdDeviceData {
|
|||||||
override fun onLanMsgReceived(taskDetailsMsg: TaskDetailsMsg?) = sendTaskDetailsToClients()
|
override fun onLanMsgReceived(taskDetailsMsg: TaskDetailsMsg?) = sendTaskDetailsToClients()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private var delayedTts:Runnable?=null
|
||||||
|
|
||||||
// 离站
|
// 离站
|
||||||
fun leaveStation() {
|
fun leaveStation() {
|
||||||
LineManager.getStationsWithLine { start, end, lineInfo ->
|
LineManager.getStationsWithLine { start, end, lineInfo ->
|
||||||
UiThreadHandler.postDelayed({ //延迟10s播报
|
delayedTts = object :Runnable{
|
||||||
ShuttleVoiceManager.leaveStationBus(end.name, end.nameKr)
|
override fun run() {
|
||||||
}, BusConst.DELAY_10S)
|
ShuttleVoiceManager.leaveStationBus(end.name, end.nameKr)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
UiThreadHandler.postDelayed(delayedTts, BusConst.DELAY_10S)
|
||||||
//给bus外屏发送
|
//给bus外屏发送
|
||||||
LedScreenManager.sendTripInfo2Led(
|
LedScreenManager.sendTripInfo2Led(
|
||||||
LedScreenManager.LEAVE_STATION,
|
LedScreenManager.LEAVE_STATION,
|
||||||
@@ -82,6 +87,7 @@ object ThirdDeviceData {
|
|||||||
|
|
||||||
//到站
|
//到站
|
||||||
fun arriveStation() {
|
fun arriveStation() {
|
||||||
|
UiThreadHandler.removeCallbacks(delayedTts)
|
||||||
LineManager.getStationsWithLine { start, end, lineInfo ->
|
LineManager.getStationsWithLine { start, end, lineInfo ->
|
||||||
ShuttleVoiceManager.arrivedStationBus(end.name, end.nameKr)
|
ShuttleVoiceManager.arrivedStationBus(end.name, end.nameKr)
|
||||||
//给bus外屏发送
|
//给bus外屏发送
|
||||||
@@ -97,6 +103,7 @@ object ThirdDeviceData {
|
|||||||
|
|
||||||
//结束任务
|
//结束任务
|
||||||
fun endTask() {
|
fun endTask() {
|
||||||
|
UiThreadHandler.removeCallbacks(delayedTts)
|
||||||
LineManager.getLineInfo {lineInfo ->
|
LineManager.getLineInfo {lineInfo ->
|
||||||
LedScreenManager.sendTripInfo2Led(
|
LedScreenManager.sendTripInfo2Led(
|
||||||
LedScreenManager.END_TRIP,
|
LedScreenManager.END_TRIP,
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffMsg
|
|||||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||||
import com.mogo.och.weaknet.bean.response.WriteOffCountResponse
|
import com.mogo.och.weaknet.bean.response.WriteOffCountResponse
|
||||||
import com.mogo.och.weaknet.bean.WriteOffPassenger
|
import com.mogo.och.weaknet.bean.WriteOffPassenger
|
||||||
import com.mogo.och.weaknet.repository.net.shuttlesaas.OrderServiceManager
|
import com.mogo.och.weaknet.repository.net.impl.shuttlesaas.OrderServiceManager
|
||||||
import com.mogo.och.weaknet.util.ShuttleVoiceManager
|
import com.mogo.och.weaknet.util.ShuttleVoiceManager
|
||||||
import io.reactivex.Observable
|
import io.reactivex.Observable
|
||||||
import io.reactivex.ObservableEmitter
|
import io.reactivex.ObservableEmitter
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ data class LineDataBean(
|
|||||||
* 线路名称
|
* 线路名称
|
||||||
*/
|
*/
|
||||||
@ColumnInfo(name = "line_name", typeAffinity = ColumnInfo.TEXT)
|
@ColumnInfo(name = "line_name", typeAffinity = ColumnInfo.TEXT)
|
||||||
|
@SerializedName("name")
|
||||||
var lineName: String? = null,
|
var lineName: String? = null,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
package com.mogo.och.weaknet.repository.db.repository
|
package com.mogo.och.weaknet.repository.db.repository
|
||||||
|
|
||||||
import com.mogo.eagle.core.network.utils.digest.DigestUtils
|
import com.mogo.eagle.core.network.utils.digest.DigestUtils
|
||||||
|
import com.mogo.och.common.module.manager.loop.BizLoopManager
|
||||||
import com.mogo.och.weaknet.repository.db.MyDataBase
|
import com.mogo.och.weaknet.repository.db.MyDataBase
|
||||||
import com.mogo.och.weaknet.repository.db.bean.ContrailDataBean
|
import com.mogo.och.weaknet.repository.db.bean.ContrailDataBean
|
||||||
import com.mogo.och.weaknet.repository.db.dao.ContrailDataDao
|
import com.mogo.och.weaknet.repository.db.dao.ContrailDataDao
|
||||||
|
|
||||||
object ContraiRepository {
|
object ContraiDb {
|
||||||
|
|
||||||
private var contrailDao: ContrailDataDao?=null
|
private var contrailDao: ContrailDataDao?=null
|
||||||
|
|
||||||
@@ -32,7 +33,7 @@ object ContraiRepository {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
DbThreadUtils.runInIoThread(runnable)
|
BizLoopManager.runInIoThread(runnable)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun deleteByLineId(lineId: Long) {
|
fun deleteByLineId(lineId: Long) {
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
package com.mogo.och.weaknet.repository.db.repository
|
|
||||||
|
|
||||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
|
||||||
|
|
||||||
object DbThreadUtils {
|
|
||||||
fun runInIoThread(runable:Runnable){
|
|
||||||
if(ThreadUtils.isMainThread()){
|
|
||||||
ThreadUtils.getIoPool().submit(runable)
|
|
||||||
}else{
|
|
||||||
runable.run()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -2,6 +2,7 @@ package com.mogo.och.weaknet.repository.db.repository
|
|||||||
|
|
||||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||||
|
import com.mogo.och.common.module.manager.loop.BizLoopManager
|
||||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||||
import com.mogo.och.weaknet.repository.db.MyDataBase
|
import com.mogo.och.weaknet.repository.db.MyDataBase
|
||||||
import com.mogo.och.weaknet.repository.db.bean.EventDataBean
|
import com.mogo.och.weaknet.repository.db.bean.EventDataBean
|
||||||
@@ -9,7 +10,7 @@ import com.mogo.och.weaknet.repository.db.dao.EventDataDao
|
|||||||
import io.reactivex.Observable
|
import io.reactivex.Observable
|
||||||
|
|
||||||
|
|
||||||
object EventRepository {
|
object EventDb {
|
||||||
|
|
||||||
private var eventDataDao: EventDataDao? = null
|
private var eventDataDao: EventDataDao? = null
|
||||||
|
|
||||||
@@ -31,7 +32,7 @@ object EventRepository {
|
|||||||
event.driverId = LoginStatusManager.getLoginInfo()?.driverId?:-1
|
event.driverId = LoginStatusManager.getLoginInfo()?.driverId?:-1
|
||||||
event.siteId = 0L
|
event.siteId = 0L
|
||||||
event.seq = 0
|
event.seq = 0
|
||||||
DbThreadUtils.runInIoThread {
|
BizLoopManager.runInIoThread {
|
||||||
eventDataDao?.insert(event)
|
eventDataDao?.insert(event)
|
||||||
eventCallback?.notifySyn()
|
eventCallback?.notifySyn()
|
||||||
}
|
}
|
||||||
@@ -56,7 +57,7 @@ object EventRepository {
|
|||||||
event.siteId = siteId
|
event.siteId = siteId
|
||||||
event.driverId = LoginStatusManager.getLoginInfo()?.driverId?:-1
|
event.driverId = LoginStatusManager.getLoginInfo()?.driverId?:-1
|
||||||
event.seq = seq
|
event.seq = seq
|
||||||
DbThreadUtils.runInIoThread {
|
BizLoopManager.runInIoThread {
|
||||||
eventDataDao?.insert(event)
|
eventDataDao?.insert(event)
|
||||||
eventCallback?.notifySyn()
|
eventCallback?.notifySyn()
|
||||||
}
|
}
|
||||||
@@ -81,7 +82,7 @@ object EventRepository {
|
|||||||
event.driverId = LoginStatusManager.getLoginInfo()?.driverId?:-1L
|
event.driverId = LoginStatusManager.getLoginInfo()?.driverId?:-1L
|
||||||
event.siteId = siteId
|
event.siteId = siteId
|
||||||
event.seq = seq
|
event.seq = seq
|
||||||
DbThreadUtils.runInIoThread {
|
BizLoopManager.runInIoThread {
|
||||||
eventDataDao?.insert(event)
|
eventDataDao?.insert(event)
|
||||||
eventCallback?.notifySyn()
|
eventCallback?.notifySyn()
|
||||||
}
|
}
|
||||||
@@ -99,7 +100,7 @@ object EventRepository {
|
|||||||
event.driverId = LoginStatusManager.getLoginInfo()?.driverId?:-1L
|
event.driverId = LoginStatusManager.getLoginInfo()?.driverId?:-1L
|
||||||
event.siteId = 0L
|
event.siteId = 0L
|
||||||
event.seq = 0
|
event.seq = 0
|
||||||
DbThreadUtils.runInIoThread {
|
BizLoopManager.runInIoThread {
|
||||||
eventDataDao?.insert(event)
|
eventDataDao?.insert(event)
|
||||||
eventCallback?.notifySyn()
|
eventCallback?.notifySyn()
|
||||||
}
|
}
|
||||||
@@ -1,12 +1,13 @@
|
|||||||
package com.mogo.och.weaknet.repository.db.repository
|
package com.mogo.och.weaknet.repository.db.repository
|
||||||
|
|
||||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||||
|
import com.mogo.och.common.module.manager.loop.BizLoopManager
|
||||||
import com.mogo.och.weaknet.repository.db.MyDataBase
|
import com.mogo.och.weaknet.repository.db.MyDataBase
|
||||||
import com.mogo.och.weaknet.repository.db.bean.LineDataBean
|
import com.mogo.och.weaknet.repository.db.bean.LineDataBean
|
||||||
import com.mogo.och.weaknet.repository.db.dao.LineDataDao
|
import com.mogo.och.weaknet.repository.db.dao.LineDataDao
|
||||||
import io.reactivex.Observable
|
import io.reactivex.Observable
|
||||||
|
|
||||||
object LineRepository {
|
object LineDb {
|
||||||
|
|
||||||
private var lineDao: LineDataDao?=null
|
private var lineDao: LineDataDao?=null
|
||||||
|
|
||||||
@@ -54,14 +55,14 @@ object LineRepository {
|
|||||||
minusLine.lineId?.let { lineId->
|
minusLine.lineId?.let { lineId->
|
||||||
// 删除线路对应的站点
|
// 删除线路对应的站点
|
||||||
|
|
||||||
SiteRepository.deleteByLineId(lineId)
|
SiteDb.deleteByLineId(lineId)
|
||||||
val runingTask = TaskRepository.queryRunningTaskByLineId(lineId)
|
val runingTask = TaskDb.queryRunningTaskByLineId(lineId)
|
||||||
if(runingTask.isNullOrEmpty()){
|
if(runingTask.isNullOrEmpty()){
|
||||||
// 删除线路对应的自驾信息
|
// 删除线路对应的自驾信息
|
||||||
|
|
||||||
ContraiRepository.deleteByLineId(lineId)
|
ContraiDb.deleteByLineId(lineId)
|
||||||
|
|
||||||
TaskRepository.deleteByLineId(lineId)
|
TaskDb.deleteByLineId(lineId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -70,7 +71,7 @@ object LineRepository {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DbThreadUtils.runInIoThread(runable)
|
BizLoopManager.runInIoThread(runable)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun deleteObsoleteData(){
|
fun deleteObsoleteData(){
|
||||||
@@ -1,11 +1,12 @@
|
|||||||
package com.mogo.och.weaknet.repository.db.repository
|
package com.mogo.och.weaknet.repository.db.repository
|
||||||
|
|
||||||
import com.mogo.eagle.core.network.utils.digest.DigestUtils
|
import com.mogo.eagle.core.network.utils.digest.DigestUtils
|
||||||
|
import com.mogo.och.common.module.manager.loop.BizLoopManager
|
||||||
import com.mogo.och.weaknet.repository.db.MyDataBase
|
import com.mogo.och.weaknet.repository.db.MyDataBase
|
||||||
import com.mogo.och.weaknet.repository.db.bean.SiteDataBean
|
import com.mogo.och.weaknet.repository.db.bean.SiteDataBean
|
||||||
import com.mogo.och.weaknet.repository.db.dao.SiteDataDao
|
import com.mogo.och.weaknet.repository.db.dao.SiteDataDao
|
||||||
|
|
||||||
object SiteRepository {
|
object SiteDb {
|
||||||
|
|
||||||
private var siteDataDao: SiteDataDao? = null
|
private var siteDataDao: SiteDataDao? = null
|
||||||
|
|
||||||
@@ -32,7 +33,7 @@ object SiteRepository {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
DbThreadUtils.runInIoThread(runnable)
|
BizLoopManager.runInIoThread(runnable)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun deleteByLineId(lineId: Long) {
|
fun deleteByLineId(lineId: Long) {
|
||||||
@@ -12,7 +12,7 @@ import com.mogo.och.weaknet.repository.db.dao.TaskDataDao
|
|||||||
import com.mogo.och.weaknet.repository.db.exception.DataException
|
import com.mogo.och.weaknet.repository.db.exception.DataException
|
||||||
import io.reactivex.Observable
|
import io.reactivex.Observable
|
||||||
|
|
||||||
object TaskRepository {
|
object TaskDb {
|
||||||
|
|
||||||
private var taskDataDao: TaskDataDao? = null
|
private var taskDataDao: TaskDataDao? = null
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@ object TaskRepository {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
DbThreadUtils.runInIoThread(runable)
|
BizLoopManager.runInIoThread(runable)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ object TaskRepository {
|
|||||||
}
|
}
|
||||||
CallerLogger.d(TAG,"更新任务状态用时:${System.currentTimeMillis()-startTime}")
|
CallerLogger.d(TAG,"更新任务状态用时:${System.currentTimeMillis()-startTime}")
|
||||||
startTime = System.currentTimeMillis()
|
startTime = System.currentTimeMillis()
|
||||||
updateCount = TaskSiteRepository.startTask(taskId, lineId, lineName)
|
updateCount = TaskSiteDb.startTask(taskId, lineId, lineName)
|
||||||
OchChainLogManager.writeChainLogDb("开始任务", "把正在使用的数据更新到RunningTask表格一共${updateCount}行数据")
|
OchChainLogManager.writeChainLogDb("开始任务", "把正在使用的数据更新到RunningTask表格一共${updateCount}行数据")
|
||||||
CallerLogger.d(TAG,"插入正在运行的线路用时:${System.currentTimeMillis()-startTime}")
|
CallerLogger.d(TAG,"插入正在运行的线路用时:${System.currentTimeMillis()-startTime}")
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
@@ -135,7 +135,7 @@ object TaskRepository {
|
|||||||
|
|
||||||
|
|
||||||
fun endTask(taskId: Long) {
|
fun endTask(taskId: Long) {
|
||||||
DbThreadUtils.runInIoThread{
|
BizLoopManager.runInIoThread{
|
||||||
taskDataDao?.endTask(taskId)
|
taskDataDao?.endTask(taskId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,12 +3,14 @@ package com.mogo.och.weaknet.repository.db.repository
|
|||||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||||
import com.mogo.eagle.core.utilcode.util.TAG
|
import com.mogo.eagle.core.utilcode.util.TAG
|
||||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||||
|
import com.mogo.och.common.module.manager.loop.BizLoopManager
|
||||||
import com.mogo.och.weaknet.repository.db.MyDataBase
|
import com.mogo.och.weaknet.repository.db.MyDataBase
|
||||||
import com.mogo.och.weaknet.repository.db.bean.TaskSiteDataBean
|
import com.mogo.och.weaknet.repository.db.bean.TaskSiteDataBean
|
||||||
import com.mogo.och.weaknet.repository.db.dao.TaskSiteDataDao
|
import com.mogo.och.weaknet.repository.db.dao.TaskSiteDataDao
|
||||||
import com.mogo.och.weaknet.repository.db.exception.DataException
|
import com.mogo.och.weaknet.repository.db.exception.DataException
|
||||||
|
import com.mogo.och.weaknet.repository.db.exception.NetDataException
|
||||||
|
|
||||||
object TaskSiteRepository {
|
object TaskSiteDb {
|
||||||
|
|
||||||
private var taskSiteDataDao: TaskSiteDataDao? = null
|
private var taskSiteDataDao: TaskSiteDataDao? = null
|
||||||
|
|
||||||
@@ -24,7 +26,7 @@ object TaskSiteRepository {
|
|||||||
fun startTask(taskId: Long, linId: Long,lineName:String):Int? {
|
fun startTask(taskId: Long, linId: Long,lineName:String):Int? {
|
||||||
// 获取线路的站点
|
// 获取线路的站点
|
||||||
var startTime = System.currentTimeMillis()
|
var startTime = System.currentTimeMillis()
|
||||||
val querySites = SiteRepository.querySiteByLineId(linId)
|
val querySites = SiteDb.querySiteByLineId(linId)
|
||||||
if(querySites.isNullOrEmpty()){
|
if(querySites.isNullOrEmpty()){
|
||||||
throw DataException("没有站点数据")
|
throw DataException("没有站点数据")
|
||||||
}
|
}
|
||||||
@@ -52,19 +54,19 @@ object TaskSiteRepository {
|
|||||||
|
|
||||||
// 滑动出发
|
// 滑动出发
|
||||||
fun updateLeave(taskId: Long, siteId: Long, leave:Boolean) {
|
fun updateLeave(taskId: Long, siteId: Long, leave:Boolean) {
|
||||||
DbThreadUtils.runInIoThread{
|
BizLoopManager.runInIoThread{
|
||||||
taskSiteDataDao?.updateLeave(taskId,siteId,if(leave) 1 else 0)
|
taskSiteDataDao?.updateLeave(taskId,siteId,if(leave) 1 else 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun updateDrivingStatus(taskId: Long, siteId: Long, drivingStatus: Int){
|
fun updateDrivingStatus(taskId: Long, siteId: Long, drivingStatus: Int){
|
||||||
DbThreadUtils.runInIoThread{
|
BizLoopManager.runInIoThread{
|
||||||
taskSiteDataDao?.updateDrivingStatus(taskId,siteId,drivingStatus)
|
taskSiteDataDao?.updateDrivingStatus(taskId,siteId,drivingStatus)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun updateDrivingStatusAndLeave(taskId: Long, siteId: Long, drivingStatus: Int, leave: Boolean){
|
fun updateDrivingStatusAndLeave(taskId: Long, siteId: Long, drivingStatus: Int, leave: Boolean){
|
||||||
DbThreadUtils.runInIoThread{
|
BizLoopManager.runInIoThread{
|
||||||
taskSiteDataDao?.updateDrivingStatusANdLeave(taskId,siteId,drivingStatus,if(leave) 1 else 0)
|
taskSiteDataDao?.updateDrivingStatusANdLeave(taskId,siteId,drivingStatus,if(leave) 1 else 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net
|
||||||
|
|
||||||
|
import com.mogo.och.weaknet.repository.db.bean.LineDataBean
|
||||||
|
import com.mogo.och.weaknet.repository.db.bean.TaskDataBean
|
||||||
|
import io.reactivex.Observable
|
||||||
|
|
||||||
|
interface IRepository {
|
||||||
|
fun queryCanUseLine(): Observable<List<LineDataBean>?>?
|
||||||
|
|
||||||
|
fun queryCanUserTask(lineId:Long): Observable<List<TaskDataBean>?>?
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net
|
||||||
|
|
||||||
|
import com.mogo.commons.env.ProjectUtils
|
||||||
|
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||||
|
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||||
|
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.impl.bus.BusRepository
|
||||||
|
import com.mogo.och.weaknet.repository.net.impl.bussaas.BusSaasRepository
|
||||||
|
import com.mogo.och.weaknet.repository.net.impl.shuttle.OrderServiceManager
|
||||||
|
import com.mogo.och.weaknet.repository.net.impl.shuttle.ShuttleRepository
|
||||||
|
import com.mogo.och.weaknet.repository.net.impl.shuttlesaas.ShuttleSaasRepository
|
||||||
|
import io.reactivex.Observable
|
||||||
|
|
||||||
|
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()
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
if(AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) {
|
||||||
|
repository = ShuttleRepository()
|
||||||
|
}else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) {
|
||||||
|
repository = BusRepository()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun queryCanUseLine() : Observable<List<LineDataBean>?>? {
|
||||||
|
return repository.queryCanUseLine()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun queryCanUserTask(lineId: Long): Observable<List<TaskDataBean>?>? {
|
||||||
|
return repository.queryCanUserTask(lineId)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net.bean.request;
|
||||||
|
|
||||||
|
import com.mogo.commons.storage.SharedPrefsMgr;
|
||||||
|
import com.mogo.och.common.module.utils.DateTimeUtil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 中止/结束任务请求
|
||||||
|
*/
|
||||||
|
public class BusCloseTaskRequest {
|
||||||
|
|
||||||
|
private String sn;
|
||||||
|
private int taskId;
|
||||||
|
private long writeVersion;
|
||||||
|
public BusCloseTaskRequest(int taskId) {
|
||||||
|
this.sn = SharedPrefsMgr.getInstance().getSn();
|
||||||
|
this.taskId = taskId;
|
||||||
|
this.writeVersion = DateTimeUtil.getCurrentTimeStamp();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSn() {
|
||||||
|
return sn;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net.bean.request;
|
||||||
|
|
||||||
|
import com.mogo.commons.storage.SharedPrefsMgr;
|
||||||
|
import com.mogo.och.common.module.utils.DateTimeUtil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author: wangmingjun
|
||||||
|
* @date: 2021/10/18
|
||||||
|
*/
|
||||||
|
public class BusResetDrivingLineRequest {
|
||||||
|
public String sn;
|
||||||
|
public int taskId; //切换到的线路id
|
||||||
|
public long writeVersion; //更新时间戳
|
||||||
|
|
||||||
|
public BusResetDrivingLineRequest(int taskId) {
|
||||||
|
this.sn = SharedPrefsMgr.getInstance().getSn();
|
||||||
|
this.taskId = taskId;
|
||||||
|
this.writeVersion = DateTimeUtil.getCurrentTimeStamp();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net.bean.request
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by pangfan on 2021/8/19
|
||||||
|
*
|
||||||
|
* 订单状态更新请求数据结构
|
||||||
|
*/
|
||||||
|
class BusRoutePlanningUpdateReqBean(
|
||||||
|
var sn: String, var lineId: Int, var startSiteId: Int,
|
||||||
|
var endSiteId: Int, var points: List<Result>
|
||||||
|
) {
|
||||||
|
data class Result(
|
||||||
|
var latitude: Double? = null,
|
||||||
|
var longitude: Double? = null
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net.bean.request;
|
||||||
|
|
||||||
|
import com.mogo.commons.storage.SharedPrefsMgr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author congtaowang
|
||||||
|
* @since 2021/3/22
|
||||||
|
*
|
||||||
|
* 小巴车运营状态请求参数
|
||||||
|
*/
|
||||||
|
public class BusUpdateSiteStatusRequest {
|
||||||
|
|
||||||
|
public String sn;
|
||||||
|
public int taskId;
|
||||||
|
public int seq;//站点序号
|
||||||
|
public int siteId;//站点id
|
||||||
|
public long writeVersion; //更新时间戳
|
||||||
|
|
||||||
|
public BusUpdateSiteStatusRequest(int taskId, int siteId, int seq, long writeVersion) {
|
||||||
|
this.sn = SharedPrefsMgr.getInstance().getSn();
|
||||||
|
this.seq = seq;
|
||||||
|
this.siteId = siteId;
|
||||||
|
this.taskId = taskId;
|
||||||
|
this.writeVersion = writeVersion;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net.bean.request
|
||||||
|
|
||||||
|
import com.mogo.och.weaknet.constant.BusConst
|
||||||
|
import java.util.UUID
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created on 2021/9/16
|
||||||
|
*
|
||||||
|
* 上传车机心跳信息请求数据
|
||||||
|
*/
|
||||||
|
class CarHeartbeatReqBean(
|
||||||
|
var sn: String, //经度
|
||||||
|
var lon: Double, //纬度
|
||||||
|
var lat: Double,
|
||||||
|
var msgId: String = UUID.randomUUID().toString(), //心跳信息唯一标识
|
||||||
|
var interval: Int = (BusConst.LOOP_PERIOD_60S / 1000).toInt() //上报间隔,单位秒,非必传,默认60秒
|
||||||
|
)
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net.bean.response;
|
||||||
|
|
||||||
|
import com.mogo.eagle.core.data.BaseData;
|
||||||
|
import com.mogo.och.weaknet.repository.db.bean.TaskDataBean;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author: wangmingjun
|
||||||
|
* @date: 2022/2/9
|
||||||
|
*/
|
||||||
|
public class BusQueryLineTaskResponse extends BaseData {
|
||||||
|
public List<TaskDataBean> data;
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net.bean.response;
|
||||||
|
|
||||||
|
import com.mogo.eagle.core.data.BaseData;
|
||||||
|
import com.mogo.och.weaknet.repository.db.bean.LineDataBean;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author: wangmingjun
|
||||||
|
* @date: 2022/2/9
|
||||||
|
*/
|
||||||
|
public class BusQueryLinesResponse extends BaseData {
|
||||||
|
public List<LineDataBean> data;
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net.impl.bus
|
||||||
|
|
||||||
|
import com.mogo.commons.AbsMogoApplication
|
||||||
|
import com.mogo.eagle.core.utilcode.util.NetworkUtils
|
||||||
|
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||||
|
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||||
|
import com.mogo.och.common.module.utils.ResourcesUtils
|
||||||
|
import com.mogo.och.shuttle.weaknet.R
|
||||||
|
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.IRepository
|
||||||
|
import com.mogo.och.weaknet.repository.net.bean.response.BusQueryLinesResponse
|
||||||
|
import io.reactivex.Observable
|
||||||
|
|
||||||
|
class BusRepository: IRepository {
|
||||||
|
|
||||||
|
private val content = AbsMogoApplication.getApp()
|
||||||
|
|
||||||
|
init {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun queryCanUseLine(): Observable<List<LineDataBean>?>? {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun queryCanUserTask(lineId: Long): Observable<List<TaskDataBean>?>? {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,166 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net.impl.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.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
|
||||||
|
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
|
||||||
|
*/
|
||||||
|
interface IBascApiService {
|
||||||
|
/**
|
||||||
|
* 根据车机坐标获取所在区域全部站点信息
|
||||||
|
*
|
||||||
|
* @param request 请求参数
|
||||||
|
* @return 接口返回数据
|
||||||
|
*/
|
||||||
|
@Headers("Content-Type:application/json;charset=UTF-8")
|
||||||
|
@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线路的, 不是重置线路中站点的
|
||||||
|
* @return 返回值是重置后的车站列表
|
||||||
|
* 开始路线
|
||||||
|
*/
|
||||||
|
@Headers("Content-Type:application/json;charset=UTF-8")
|
||||||
|
@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<BusRoutesResponse>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 离站,通知服务器
|
||||||
|
* @param request
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Headers("Content-Type:application/json;charset=UTF-8")
|
||||||
|
@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("/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")
|
||||||
|
@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>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询路线当天的任务
|
||||||
|
* @param appId
|
||||||
|
* @param ticket
|
||||||
|
* @param lineId 线路id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GET("/autopilot-car-hailing/line/v2/driver/bus/task/query")
|
||||||
|
fun queryBusTaskByLineId(@Header("appId") appId: String?, @Header("ticket") ticket: String?, @Query("lineId") lineId: String?): 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")
|
||||||
|
fun updateOrderRoute(
|
||||||
|
@Header("appId") appId: String?,
|
||||||
|
@Header("ticket") ticket: String?,
|
||||||
|
@Body data: BusRoutePlanningUpdateReqBean?
|
||||||
|
): Observable<BaseData>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 中止任务
|
||||||
|
* @param appId
|
||||||
|
* @param ticket
|
||||||
|
* @param data
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/abortTask")
|
||||||
|
fun abortTask(
|
||||||
|
@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("/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>
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,236 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net.impl.bus
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||||
|
import com.mogo.commons.debug.DebugConfig
|
||||||
|
import com.mogo.eagle.core.data.BaseData
|
||||||
|
import com.mogo.eagle.core.network.MoGoRetrofitFactory
|
||||||
|
import com.mogo.commons.storage.SharedPrefsMgr
|
||||||
|
import com.mogo.eagle.core.data.map.MogoLocation
|
||||||
|
import com.mogo.och.common.module.constant.OchCommonConst
|
||||||
|
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||||
|
import com.mogo.och.common.module.network.OchCommonSubscribeImpl
|
||||||
|
import com.mogo.och.common.module.network.interceptor.transformTry
|
||||||
|
import com.mogo.och.weaknet.bean.request.BusQueryLineStationsRequest
|
||||||
|
import com.mogo.och.weaknet.bean.response.BusRoutesResponse
|
||||||
|
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
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author: wangmingjun
|
||||||
|
* @date: 2021/10/20
|
||||||
|
*/
|
||||||
|
object OrderServiceManager {
|
||||||
|
|
||||||
|
private val M_SERVICE: IBascApiService =
|
||||||
|
MoGoRetrofitFactory.getInstance(OchCommonConst.getBaseUrl()).create(
|
||||||
|
IBascApiService::class.java
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询小巴车当前任务
|
||||||
|
* @param context
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@JvmStatic
|
||||||
|
fun queryBusRoutes(context: Context, callback: OchCommonServiceCallback<BusRoutesResponse>?) {
|
||||||
|
//获取当前高德坐标
|
||||||
|
M_SERVICE.queryBusRoutes(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
BusQueryLineStationsRequest()
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "queryBusRoutes"))
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重置线路站点
|
||||||
|
* @param context
|
||||||
|
* @param taskId
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@JvmStatic
|
||||||
|
fun switchLine(
|
||||||
|
context: Context,
|
||||||
|
taskId: Int,
|
||||||
|
callback: OchCommonServiceCallback<BusRoutesResponse>?
|
||||||
|
) {
|
||||||
|
M_SERVICE.switchLine(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
BusResetDrivingLineRequest(taskId)
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "switchLine"))
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 中断当前任务
|
||||||
|
* @param context
|
||||||
|
* @param taskId
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@JvmStatic
|
||||||
|
fun abortTask(context: Context, taskId: Int, callback: OchCommonServiceCallback<BaseData>?) {
|
||||||
|
M_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(context: Context, taskId: Int, callback: OchCommonServiceCallback<BaseData>?) {
|
||||||
|
M_SERVICE.endTask(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
BusCloseTaskRequest(taskId)
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "endTask"))
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 离站上报
|
||||||
|
* @param context
|
||||||
|
* @param seq
|
||||||
|
* @param siteId
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@JvmStatic
|
||||||
|
fun leaveStation(
|
||||||
|
context: Context,
|
||||||
|
seq: Int,
|
||||||
|
siteId: Int,
|
||||||
|
taskId: Int,
|
||||||
|
callback: OchCommonServiceCallback<BaseData>?
|
||||||
|
) {
|
||||||
|
M_SERVICE.leaveStation(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
BusUpdateSiteStatusRequest(taskId, siteId, seq, System.currentTimeMillis())
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "leaveStation"))
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 到站更新站点状态
|
||||||
|
* @param context
|
||||||
|
* @param seq
|
||||||
|
* @param siteId
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@JvmStatic
|
||||||
|
fun arriveSiteStation(
|
||||||
|
context: Context, seq: Int, siteId: Int, taskId: Int,
|
||||||
|
callback: OchCommonServiceCallback<BaseData>?
|
||||||
|
) {
|
||||||
|
M_SERVICE.arriveSiteStation(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
BusUpdateSiteStatusRequest(taskId, siteId, seq, System.currentTimeMillis())
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "arriveSiteStation"))
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun queryBusLines(
|
||||||
|
context: Context,
|
||||||
|
callback: OchCommonServiceCallback<BusQueryLinesResponse>?
|
||||||
|
) {
|
||||||
|
M_SERVICE.queryBusLines(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
SharedPrefsMgr.getInstance().sn
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "queryBusLines"))
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun queryBusTaskByLineId(
|
||||||
|
context: Context,
|
||||||
|
lineId: String?,
|
||||||
|
callback: OchCommonServiceCallback<BusQueryLineTaskResponse>?
|
||||||
|
) {
|
||||||
|
M_SERVICE.queryBusTaskByLineId(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
lineId
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "queryBusLines"))
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun updateOrderRoute(
|
||||||
|
context: Context,
|
||||||
|
lineId: Int,
|
||||||
|
startSiteId: Int,
|
||||||
|
endSiteId: Int,
|
||||||
|
points: List<MogoLocation>,
|
||||||
|
callback: OchCommonServiceCallback<BaseData>?
|
||||||
|
) {
|
||||||
|
val pointsResult = mutableListOf<BusRoutePlanningUpdateReqBean.Result>()
|
||||||
|
points.forEach {
|
||||||
|
val result = BusRoutePlanningUpdateReqBean.Result()
|
||||||
|
result.latitude = it.latitude;
|
||||||
|
result.longitude = it.longitude;
|
||||||
|
pointsResult.add(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
M_SERVICE.updateOrderRoute(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
BusRoutePlanningUpdateReqBean(
|
||||||
|
SharedPrefsMgr.getInstance().sn, lineId, startSiteId, endSiteId, pointsResult
|
||||||
|
)
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "updateOrderRoute"))
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 车机端上传心跳数据(只在出车状态时上传):包含高德坐标系经纬度
|
||||||
|
* @param context
|
||||||
|
* @param lon
|
||||||
|
* @param lat
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@JvmStatic
|
||||||
|
fun runCarHeartbeat(
|
||||||
|
context: Context, lon: Double, lat: Double,
|
||||||
|
callback: OchCommonServiceCallback<BaseData>?
|
||||||
|
) {
|
||||||
|
M_SERVICE.runCarHeartbeat(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
CarHeartbeatReqBean(
|
||||||
|
SharedPrefsMgr.getInstance().sn, lon, lat
|
||||||
|
)
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "runCarHeartbeat", false))
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net.impl.bussaas
|
||||||
|
|
||||||
|
import com.mogo.commons.AbsMogoApplication
|
||||||
|
import com.mogo.eagle.core.utilcode.util.NetworkUtils
|
||||||
|
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||||
|
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||||
|
import com.mogo.och.common.module.utils.ResourcesUtils
|
||||||
|
import com.mogo.och.shuttle.weaknet.R
|
||||||
|
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.IRepository
|
||||||
|
import com.mogo.och.weaknet.repository.net.bean.response.BusQueryLinesResponse
|
||||||
|
import io.reactivex.Observable
|
||||||
|
|
||||||
|
class BusSaasRepository: IRepository {
|
||||||
|
|
||||||
|
private val content = AbsMogoApplication.getApp()
|
||||||
|
|
||||||
|
init {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun queryCanUseLine(): Observable<List<LineDataBean>?>? {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun queryCanUserTask(lineId: Long): Observable<List<TaskDataBean>?>? {
|
||||||
|
TODO("Not yet implemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,143 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net.impl.bussaas
|
||||||
|
|
||||||
|
import com.mogo.eagle.core.data.BaseData
|
||||||
|
import com.mogo.och.weaknet.bean.response.BusRoutesResponse
|
||||||
|
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.response.BusQueryLineTaskResponse
|
||||||
|
import com.mogo.och.weaknet.repository.net.bean.response.BusQueryLinesResponse
|
||||||
|
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
|
||||||
|
*/
|
||||||
|
interface ISAASApiService {
|
||||||
|
/**
|
||||||
|
* 根据车机坐标获取所在区域全部站点信息
|
||||||
|
*/
|
||||||
|
@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>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param request 请求参数{"destLine":1,"sn":"F803EB2046PZD00229"} 这个接口是重置bus线路的, 不是重置线路中站点的
|
||||||
|
* @return 返回值是重置后的车站列表
|
||||||
|
* 开始路线
|
||||||
|
*/
|
||||||
|
@Headers("Content-Type:application/json;charset=UTF-8")
|
||||||
|
@POST("/och-bus-cabin/cab/flow/v1/bus/driver/startTask")
|
||||||
|
fun switchLine(
|
||||||
|
@Header("appId") appId: String?,
|
||||||
|
@Header("ticket") ticket: String?,
|
||||||
|
@Body request: BusResetDrivingLineRequest?
|
||||||
|
): Observable<BusRoutesResponse>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 离站,通知服务器
|
||||||
|
*/
|
||||||
|
@Headers("Content-Type:application/json;charset=UTF-8")
|
||||||
|
@POST("/och-bus-cabin/cab/flow/v1/bus/driver/leave")
|
||||||
|
fun leaveStation(
|
||||||
|
@Header("appId") appId: String?,
|
||||||
|
@Header("ticket") ticket: String?,
|
||||||
|
@Body request: BusUpdateSiteStatusRequest?
|
||||||
|
): Observable<BaseData>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 到站 更新到站信息
|
||||||
|
*/
|
||||||
|
@Headers("Content-type:application/json;charset=UTF-8")
|
||||||
|
@POST("/och-bus-cabin/cab/flow/v1/bus/driver/arrive")
|
||||||
|
fun arriveSiteStation(
|
||||||
|
@Header("appId") appId: String?,
|
||||||
|
@Header("ticket") ticket: String?,
|
||||||
|
@Body request: BusUpdateSiteStatusRequest?
|
||||||
|
): Observable<BaseData>
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询车辆配置的所有路线
|
||||||
|
*/
|
||||||
|
@Headers("Content-type:application/json;charset=UTF-8")
|
||||||
|
@GET("/och-bus-cabin/api/business/v1/driver/BusBindLine")
|
||||||
|
fun queryBusLines(
|
||||||
|
@Header("appId") appId: String?,
|
||||||
|
@Header("ticket") ticket: String?,
|
||||||
|
@Query("sn") sn: String?
|
||||||
|
): Observable<BusQueryLinesResponse>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询路线当天的任务
|
||||||
|
* @param appId
|
||||||
|
* @param ticket
|
||||||
|
* @param lineId 线路id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Headers("Content-type:application/json;charset=UTF-8")
|
||||||
|
@GET("/och-bus-cabin/api/business/v1/driver/bus/task/query")
|
||||||
|
fun queryBusTaskByLineId(
|
||||||
|
@Header("appId") appId: String?,
|
||||||
|
@Header("ticket") ticket: String?,
|
||||||
|
@Query("lineId") lineId: String?
|
||||||
|
): Observable<BusQueryLineTaskResponse>
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上传轨迹信息
|
||||||
|
*/
|
||||||
|
@Headers("Content-type:application/json;charset=UTF-8")
|
||||||
|
@POST("/autopilot-car-hailing/location/v2/driver/bus/saveLineCoordinate")
|
||||||
|
fun updateOrderRoute(
|
||||||
|
@Header("appId") appId: String?,
|
||||||
|
@Header("ticket") ticket: String?,
|
||||||
|
@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
|
||||||
|
* @param ticket
|
||||||
|
* @param data
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Headers("Content-type:application/json;charset=UTF-8")
|
||||||
|
@POST("/och-bus-cabin/cab/flow/v1/bus/driver/endTask")
|
||||||
|
fun endTask(
|
||||||
|
@Header("appId") appId: String?,
|
||||||
|
@Header("ticket") ticket: String?,
|
||||||
|
@Body data: BusCloseTaskRequest?
|
||||||
|
): Observable<BaseData>
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,234 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net.impl.bussaas
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||||
|
import com.mogo.commons.debug.DebugConfig
|
||||||
|
import com.mogo.eagle.core.data.BaseData
|
||||||
|
import com.mogo.eagle.core.network.MoGoRetrofitFactory
|
||||||
|
import com.mogo.commons.storage.SharedPrefsMgr
|
||||||
|
import com.mogo.eagle.core.data.map.MogoLocation
|
||||||
|
import com.mogo.och.common.module.constant.OchCommonConst
|
||||||
|
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||||
|
import com.mogo.och.common.module.network.OchCommonSubscribeImpl
|
||||||
|
import com.mogo.och.common.module.network.interceptor.transformTry
|
||||||
|
import com.mogo.och.weaknet.bean.response.BusRoutesResponse
|
||||||
|
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.response.BusQueryLineTaskResponse
|
||||||
|
import com.mogo.och.weaknet.repository.net.bean.response.BusQueryLinesResponse
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author: wangmingjun
|
||||||
|
* @date: 2021/10/20
|
||||||
|
*/
|
||||||
|
object OrderServiceManager {
|
||||||
|
|
||||||
|
private val M_SAAS_SERVICE: ISAASApiService =
|
||||||
|
MoGoRetrofitFactory.getInstance(OchCommonConst.getBaseUrl()).create(
|
||||||
|
ISAASApiService::class.java
|
||||||
|
)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询小巴车当前任务
|
||||||
|
* @param context
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@JvmStatic
|
||||||
|
fun queryBusRoutes(context: Context, callback: OchCommonServiceCallback<BusRoutesResponse>?) {
|
||||||
|
//获取当前高德坐标
|
||||||
|
|
||||||
|
M_SAAS_SERVICE.queryBusRoutes(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
SharedPrefsMgr.getInstance().sn
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "queryBusRoutes"))
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重置线路站点
|
||||||
|
* @param context
|
||||||
|
* @param taskId
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@JvmStatic
|
||||||
|
fun switchLine(
|
||||||
|
context: Context,
|
||||||
|
taskId: Int,
|
||||||
|
callback: OchCommonServiceCallback<BusRoutesResponse>?
|
||||||
|
) {
|
||||||
|
M_SAAS_SERVICE.switchLine(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
BusResetDrivingLineRequest(taskId)
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "switchLine"))
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 中断当前任务
|
||||||
|
* @param context
|
||||||
|
* @param taskId
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@JvmStatic
|
||||||
|
fun abortTask(context: Context, taskId: Int, 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(context: Context, taskId: Int, callback: OchCommonServiceCallback<BaseData>?) {
|
||||||
|
|
||||||
|
M_SAAS_SERVICE.endTask(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
BusCloseTaskRequest(taskId)
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "endTask"))
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 离站上报
|
||||||
|
* @param context
|
||||||
|
* @param seq
|
||||||
|
* @param siteId
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@JvmStatic
|
||||||
|
fun leaveStation(
|
||||||
|
context: Context,
|
||||||
|
seq: Int,
|
||||||
|
siteId: Int,
|
||||||
|
taskId: Int,
|
||||||
|
callback: OchCommonServiceCallback<BaseData>?
|
||||||
|
) {
|
||||||
|
M_SAAS_SERVICE.leaveStation(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
BusUpdateSiteStatusRequest(taskId, siteId, seq, System.currentTimeMillis())
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "leaveStation"))
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 到站更新站点状态
|
||||||
|
* @param context
|
||||||
|
* @param seq
|
||||||
|
* @param siteId
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@JvmStatic
|
||||||
|
fun arriveSiteStation(
|
||||||
|
context: Context, seq: Int, siteId: Int, taskId: Int,
|
||||||
|
callback: OchCommonServiceCallback<BaseData>?
|
||||||
|
) {
|
||||||
|
M_SAAS_SERVICE.arriveSiteStation(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
BusUpdateSiteStatusRequest(taskId, siteId, seq, System.currentTimeMillis())
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "arriveSiteStation"))
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun queryBusLines(
|
||||||
|
context: Context,
|
||||||
|
callback: OchCommonServiceCallback<BusQueryLinesResponse>?
|
||||||
|
) {
|
||||||
|
|
||||||
|
M_SAAS_SERVICE.queryBusLines(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
SharedPrefsMgr.getInstance().sn
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "queryBusLines"))
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun queryBusTaskByLineId(
|
||||||
|
context: Context,
|
||||||
|
lineId: String?,
|
||||||
|
callback: OchCommonServiceCallback<BusQueryLineTaskResponse>?
|
||||||
|
) {
|
||||||
|
M_SAAS_SERVICE.queryBusTaskByLineId(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
lineId
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "queryBusLines"))
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun updateOrderRoute(
|
||||||
|
context: Context,
|
||||||
|
lineId: Int,
|
||||||
|
startSiteId: Int,
|
||||||
|
endSiteId: Int,
|
||||||
|
points: List<MogoLocation>,
|
||||||
|
callback: OchCommonServiceCallback<BaseData>?
|
||||||
|
) {
|
||||||
|
val pointsResult = mutableListOf<BusRoutePlanningUpdateReqBean.Result>()
|
||||||
|
points.forEach {
|
||||||
|
val result = BusRoutePlanningUpdateReqBean.Result()
|
||||||
|
result.latitude = it.latitude;
|
||||||
|
result.longitude = it.longitude;
|
||||||
|
pointsResult.add(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
M_SAAS_SERVICE.updateOrderRoute(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
BusRoutePlanningUpdateReqBean(
|
||||||
|
SharedPrefsMgr.getInstance().sn, lineId, startSiteId, endSiteId, pointsResult
|
||||||
|
)
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "updateOrderRoute"))
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 车机端上传心跳数据(只在出车状态时上传):包含高德坐标系经纬度
|
||||||
|
* @param context
|
||||||
|
* @param lon
|
||||||
|
* @param lat
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@JvmStatic
|
||||||
|
fun runCarHeartbeat(
|
||||||
|
context: Context, lon: Double, lat: Double,
|
||||||
|
callback: OchCommonServiceCallback<BaseData>?
|
||||||
|
) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,112 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net.impl.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;
|
||||||
|
import com.mogo.och.weaknet.repository.net.bean.response.BusQueryLineTaskResponse;
|
||||||
|
import com.mogo.och.weaknet.repository.net.bean.response.BusQueryLinesResponse;
|
||||||
|
|
||||||
|
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>
|
||||||
|
*/
|
||||||
|
public interface IBascApiService {
|
||||||
|
/**
|
||||||
|
* 查询当前运行任务
|
||||||
|
*
|
||||||
|
* @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);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param request 请求参数{"destLine":1,"sn":"F803EB2046PZD00229"} 这个接口是重置bus线路的, 不是重置线路中站点的
|
||||||
|
* @return 返回值是重置后的车站列表
|
||||||
|
* 开始路线
|
||||||
|
*/
|
||||||
|
@Headers( {"Content-Type:application/json;charset=UTF-8"} )
|
||||||
|
@POST( "/och-shuttle-cabin/api/flow/v1/driver/startTask" )
|
||||||
|
Observable<BusRoutesResponse> switchLine(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusResetDrivingLineRequest request);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 离站,通知服务器
|
||||||
|
* @param request
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Headers({"Content-Type:application/json;charset=UTF-8"})
|
||||||
|
@POST("/och-shuttle-cabin/api/flow/v1/driver/leave")
|
||||||
|
Observable<BaseData> leaveStation(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusUpdateSiteStatusRequest request);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 到站 更新到站信息
|
||||||
|
* @param request
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Headers({"Content-type:application/json;charset=UTF-8"})
|
||||||
|
@POST("/och-shuttle-cabin/api/flow/v1/driver/arrive")
|
||||||
|
Observable<BaseData> arriveSiteStation(@Header ("appId") String appId,@Header("ticket") String ticket,@Body BusUpdateSiteStatusRequest request);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询车辆配置的所有路线
|
||||||
|
* @param appId
|
||||||
|
* @param ticket
|
||||||
|
* @param sn
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GET("/och-shuttle-cabin/api/business/v1/driver/bindLine/query")
|
||||||
|
Observable<BusQueryLinesResponse> queryBusLines(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询线路的任务
|
||||||
|
* @param appId
|
||||||
|
* @param ticket
|
||||||
|
* @param lineId 线路id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@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
|
||||||
|
* @param ticket
|
||||||
|
* @param data
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Headers( {"Content-type:application/json;charset=UTF-8"} )
|
||||||
|
@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-shuttle-cabin/api/business/v1/task/writeOffCount")
|
||||||
|
Observable<WriteOffCountResponse> writeOffCount(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("taskId") String taskId, @Query("siteId") String siteId);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,209 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net.impl.shuttle
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||||
|
import com.mogo.eagle.core.data.BaseData
|
||||||
|
import com.mogo.eagle.core.network.MoGoRetrofitFactory
|
||||||
|
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.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.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.bean.response.BusQueryLineTaskResponse
|
||||||
|
import com.mogo.och.weaknet.repository.net.bean.response.BusQueryLinesResponse
|
||||||
|
import io.reactivex.Observable
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author: wangmingjun
|
||||||
|
* @date: 2021/10/20
|
||||||
|
*/
|
||||||
|
object OrderServiceManager {
|
||||||
|
|
||||||
|
private val mService: IBascApiService = MoGoRetrofitFactory.getInstance(OchCommonConst.getShuttleUrl()).create(
|
||||||
|
IBascApiService::class.java
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询小巴车当前任务
|
||||||
|
* @param context
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@JvmStatic
|
||||||
|
fun queryBusRoutes(context: Context, callback: OchCommonServiceCallback<BusRoutesResponse>?) {
|
||||||
|
//获取当前高德坐标
|
||||||
|
mService.queryBusRoutes(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
BusQueryLineStationsRequest()
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "queryBusRoutes"))
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重置线路站点
|
||||||
|
* @param context
|
||||||
|
* @param taskId
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@JvmStatic
|
||||||
|
fun switchLine(
|
||||||
|
context: Context,
|
||||||
|
taskId: Int,
|
||||||
|
callback: OchCommonServiceCallback<BusRoutesResponse>?
|
||||||
|
) {
|
||||||
|
mService.switchLine(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
BusResetDrivingLineRequest(taskId)
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "switchLine"))
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 中断当前任务
|
||||||
|
* @param context
|
||||||
|
* @param taskId
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@JvmStatic
|
||||||
|
fun abortTask(context: Context, taskId: Int, 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(context: Context, taskId: Int, callback: OchCommonServiceCallback<BaseData>?) {
|
||||||
|
mService.endTask(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
BusCloseTaskRequest(taskId)
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "endTask"))
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 离站上报
|
||||||
|
* @param context
|
||||||
|
* @param seq
|
||||||
|
* @param siteId
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@JvmStatic
|
||||||
|
fun leaveStation(
|
||||||
|
context: Context,
|
||||||
|
seq: Int,
|
||||||
|
siteId: Int,
|
||||||
|
taskId: Int,
|
||||||
|
writeVersion: Long,
|
||||||
|
callback: OchCommonServiceCallback<BaseData>?
|
||||||
|
) {
|
||||||
|
mService.leaveStation(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
BusUpdateSiteStatusRequest(taskId, siteId, seq,writeVersion)
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "leaveStation"))
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 到站更新站点状态
|
||||||
|
* @param context
|
||||||
|
* @param seq
|
||||||
|
* @param siteId
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@JvmStatic
|
||||||
|
fun arriveSiteStation(
|
||||||
|
context: Context, seq: Int, siteId: Int, taskId: Int, writeVersion: Long,
|
||||||
|
callback: OchCommonServiceCallback<BaseData>?
|
||||||
|
) {
|
||||||
|
mService.arriveSiteStation(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
BusUpdateSiteStatusRequest(taskId, siteId, seq, writeVersion)
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "arriveSiteStation"))
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun queryBusLines(context: Context, callback: OchCommonServiceCallback<BusQueryLinesResponse>?) {
|
||||||
|
mService.queryBusLines(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
SharedPrefsMgr.getInstance().sn
|
||||||
|
)
|
||||||
|
.transformTry()
|
||||||
|
.subscribe(OchCommonSubscribeImpl(context, callback, "queryBusLines"))
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun queryBusLines(): Observable<List<LineDataBean>?> {
|
||||||
|
return mService.queryBusLines(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
SharedPrefsMgr.getInstance().sn
|
||||||
|
) .transformTry()
|
||||||
|
.flatMap(OchCommonNet("queryBusLines",false))
|
||||||
|
.flatMap {
|
||||||
|
Observable.just(it.data)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@JvmStatic
|
||||||
|
fun queryBusTaskByLineId(
|
||||||
|
lineId: Long?) :Observable<List<TaskDataBean>?> {
|
||||||
|
return mService.queryBusTaskByLineId(
|
||||||
|
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||||
|
SharedPrefsMgr.getInstance().token,
|
||||||
|
lineId
|
||||||
|
) .transformTry()
|
||||||
|
.flatMap(OchCommonNet<BusQueryLineTaskResponse>("queryBusLines",false))
|
||||||
|
.flatMap {
|
||||||
|
Observable.just(it.data)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun queryWriteOffCountByLineIdAndSiteId(
|
||||||
|
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"))
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net.impl.shuttle
|
||||||
|
|
||||||
|
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.IRepository
|
||||||
|
import io.reactivex.Observable
|
||||||
|
|
||||||
|
class ShuttleRepository: IRepository {
|
||||||
|
|
||||||
|
init {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun queryCanUseLine(): Observable<List<LineDataBean>?> {
|
||||||
|
return OrderServiceManager.queryBusLines()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun queryCanUserTask(lineId: Long): Observable<List<TaskDataBean>?> {
|
||||||
|
return OrderServiceManager.queryBusTaskByLineId(lineId)
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.mogo.och.weaknet.repository.net.shuttlesaas;
|
package com.mogo.och.weaknet.repository.net.impl.shuttlesaas;
|
||||||
|
|
||||||
import com.mogo.eagle.core.data.BaseData;
|
import com.mogo.eagle.core.data.BaseData;
|
||||||
import com.mogo.och.weaknet.bean.request.BusQueryLineStationsRequest;
|
import com.mogo.och.weaknet.bean.request.BusQueryLineStationsRequest;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.mogo.och.weaknet.repository.net.shuttlesaas
|
package com.mogo.och.weaknet.repository.net.impl.shuttlesaas
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.mogo.och.weaknet.repository.net.impl.shuttlesaas
|
||||||
|
|
||||||
|
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.LineDb
|
||||||
|
import com.mogo.och.weaknet.repository.db.repository.TaskDb
|
||||||
|
import com.mogo.och.weaknet.repository.net.IRepository
|
||||||
|
import io.reactivex.Observable
|
||||||
|
|
||||||
|
class ShuttleSaasRepository: IRepository {
|
||||||
|
|
||||||
|
override fun queryCanUseLine(): Observable<List<LineDataBean>?>? {
|
||||||
|
return LineDb.queryCanUseLine()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun queryCanUserTask(lineId: Long): Observable<List<TaskDataBean>?>? {
|
||||||
|
return TaskDb.queryCanUserTask(lineId)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user