[routing]
[fea] [bus、接驳、班车 验路模式 站点单独接口获取]
This commit is contained in:
@@ -168,6 +168,15 @@ data class SaveGrayContrailErrorReasons(
|
||||
var noteCodes: MutableList<String>,
|
||||
) //feedback 1:成功 2:失败
|
||||
|
||||
/**
|
||||
* 小巴、接驳、班车 获取站点的参数
|
||||
*/
|
||||
data class QuerySitesReasons(
|
||||
var lineId: Long, // 线路id
|
||||
var businessType: Int,// 业务模式
|
||||
)
|
||||
|
||||
|
||||
enum class EndGrayTaskFeedbackType(var type: Int) {
|
||||
USABLE_YES(1),
|
||||
USABLE_NO(2)
|
||||
@@ -181,6 +190,8 @@ data class BindLineListResponse(val data: List<Result>?) : BaseData() {
|
||||
)
|
||||
}
|
||||
|
||||
data class SitesInfo(val data: List<RoutingSite>?) : BaseData()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,9 @@ import com.mogo.och.biz.routing.bean.BindLineListResponse
|
||||
import com.mogo.och.biz.routing.bean.QueryGrayContrailListRsp
|
||||
import com.mogo.och.biz.routing.bean.QueryPointErrorReasonsRsp
|
||||
import com.mogo.och.biz.routing.bean.QueryRoutingContrailByIdRsp
|
||||
import com.mogo.och.biz.routing.bean.QuerySitesReasons
|
||||
import com.mogo.och.biz.routing.bean.SaveGrayContrailErrorReasons
|
||||
import com.mogo.och.biz.routing.bean.SitesInfo
|
||||
import com.mogo.och.biz.routing.bean.StartGrayContrailTaskReq
|
||||
import com.mogo.och.biz.routing.bean.StartGrayContrailTaskRsp
|
||||
import io.reactivex.Observable
|
||||
@@ -87,25 +89,14 @@ interface RoutingServiceApi {
|
||||
): Observable<BaseData>
|
||||
|
||||
|
||||
/**
|
||||
* 查询车辆配置的所有路线
|
||||
* @param appId
|
||||
* @param ticket
|
||||
* @param sn
|
||||
* @return
|
||||
*/
|
||||
@GET("/och-vehicle/public/car/queryBindLineListBySn")
|
||||
fun queryBindLineListBySn(
|
||||
@Header("appId") appId: String?,
|
||||
@Header("ticket") ticket: String?,
|
||||
@Query("sn") sn: String?
|
||||
): Observable<BindLineListResponse?>?
|
||||
|
||||
@GET("/och-shuttle-cabin/api/business/v1/driver/queryBindLineListBySn")
|
||||
fun daliQueryBindLineListBySn(
|
||||
@Header("appId") appId: String?,
|
||||
@Header("ticket") ticket: String?,
|
||||
@Query("sn") sn: String?
|
||||
): Observable<BindLineListResponse?>?
|
||||
@Headers("Content-type:application/json;charset=UTF-8")
|
||||
@POST("/och-vehicle/api/line/querySiteListByLine")
|
||||
fun querySiteListByLine(
|
||||
@Header("appId") appId: String = MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
@Header("ticket") ticket: String = SharedPrefsMgr.getInstance().token,
|
||||
@Body data: QuerySitesReasons
|
||||
): Observable<SitesInfo>
|
||||
|
||||
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
package com.mogo.och.biz.routing.net
|
||||
|
||||
import android.content.Context
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||
import com.mogo.commons.env.ProjectUtils
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.data.BaseData
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
@@ -12,11 +10,10 @@ import com.mogo.och.biz.routing.bean.EndGrayContrailTaskReq
|
||||
import com.mogo.och.biz.routing.bean.GrayLineBean
|
||||
import com.mogo.och.biz.routing.bean.QueryGrayContrailListRsp
|
||||
import com.mogo.och.biz.routing.bean.QueryPointErrorReasonsRsp
|
||||
import com.mogo.och.biz.routing.bean.QueryRoutingContrailByIdRsp
|
||||
import com.mogo.och.biz.routing.bean.QuerySitesReasons
|
||||
import com.mogo.och.biz.routing.bean.SaveGrayContrailErrorReasons
|
||||
import com.mogo.och.biz.routing.bean.StartGrayAndQueryContrailRsp
|
||||
import com.mogo.och.biz.routing.bean.StartGrayContrailTaskReq
|
||||
import com.mogo.och.biz.routing.bean.StartGrayContrailTaskRsp
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||
@@ -25,7 +22,6 @@ import com.mogo.och.common.module.network.interceptor.transformTry
|
||||
import com.mogo.och.data.bean.BusStationBean
|
||||
import com.mogo.och.weaknet.repository.db.exception.NetDataException
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.functions.BiFunction
|
||||
|
||||
object RoutingServiceManager {
|
||||
|
||||
@@ -96,61 +92,43 @@ object RoutingServiceManager {
|
||||
||AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)
|
||||
||AppIdentityModeUtils.isScheduled(FunctionBuildConfig.appIdentityMode)
|
||||
) {
|
||||
val querySites = if(ProjectUtils.isSaas()) {
|
||||
mRoutingServiceApi.queryBindLineListBySn(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
SharedPrefsMgr.getInstance().sn
|
||||
val request = QuerySitesReasons(grayLineBean.lineId?:0,
|
||||
LoginStatusManager.getOchBizInfo()?.businessType?:11)
|
||||
val querySites = mRoutingServiceApi.querySiteListByLine(data = request)
|
||||
|
||||
Observable.zip(requestContral,startRouting,querySites) { t1, t2, t3 ->
|
||||
if ((t1.code != 0 && t1.code != 200) || t1.data == null) {
|
||||
throw NetDataException(t1.code, "${t1.msg}_queryCabinContrailById")
|
||||
}
|
||||
if (t2.code != 0 && t2.code != 200 || t2.data == null) {
|
||||
throw NetDataException(t2.code, "${t2.msg}_saveFeedback")
|
||||
}
|
||||
if (t3.code != 0 && t3.code != 200 || t3.data.isNullOrEmpty()) {
|
||||
throw NetDataException(t3.code, "${t3.msg}_saveFeedback")
|
||||
}
|
||||
val stationList = mutableListOf<BusStationBean>()
|
||||
t3.data.let { lineList->
|
||||
lineList.forEach {
|
||||
stationList.add(it.toBusStationBean())
|
||||
}
|
||||
}
|
||||
val result = StartGrayAndQueryContrailRsp(
|
||||
taskId = t2.data!!,
|
||||
contrail = t1.data,
|
||||
grayLineBean = grayLineBean,
|
||||
stationList = stationList
|
||||
)
|
||||
}else if(ProjectUtils.isDali()){
|
||||
mRoutingServiceApi.queryBindLineListBySn(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
SharedPrefsMgr.getInstance().sn
|
||||
result.code = t1.code
|
||||
result.msg = t1.msg
|
||||
result
|
||||
}.transformTry()
|
||||
.subscribe(
|
||||
OchCommonSubscribeImpl(
|
||||
context,
|
||||
callback,
|
||||
"startGrayTaskAndQueryRoutingContrail"
|
||||
)
|
||||
)
|
||||
}else{
|
||||
null
|
||||
}
|
||||
querySites?.let { querysites->
|
||||
Observable.zip(requestContral,startRouting,querysites) { t1, t2, t3 ->
|
||||
if ((t1.code != 0 && t1.code != 200) || t1.data == null) {
|
||||
throw NetDataException(t1.code, "${t1.msg}_queryCabinContrailById")
|
||||
}
|
||||
if (t2.code != 0 && t2.code != 200 || t2.data == null) {
|
||||
throw NetDataException(t2.code, "${t2.msg}_saveFeedback")
|
||||
}
|
||||
if (t3.code != 0 && t3.code != 200 || t3.data == null) {
|
||||
throw NetDataException(t3.code, "${t3.msg}_saveFeedback")
|
||||
}
|
||||
val stationList = mutableListOf<BusStationBean>()
|
||||
t3.data.let { lineList->
|
||||
val info = lineList.filter {
|
||||
it.line?.lineId==grayLineBean.lineId
|
||||
}
|
||||
if(info.isNotEmpty()){
|
||||
info.first().siteList?.let { it1 -> stationList.addAll(it1) }
|
||||
}else{
|
||||
throw NetDataException(t3.code, "${t3.msg}_queryBindLineListBySn _ 未找到线路")
|
||||
}
|
||||
}
|
||||
val result = StartGrayAndQueryContrailRsp(
|
||||
taskId = t2.data!!,
|
||||
contrail = t1.data,
|
||||
grayLineBean = grayLineBean,
|
||||
stationList = stationList
|
||||
)
|
||||
result.code = t1.code
|
||||
result.msg = t1.msg
|
||||
result
|
||||
}.transformTry()
|
||||
.subscribe(
|
||||
OchCommonSubscribeImpl(
|
||||
context,
|
||||
callback,
|
||||
"startGrayTaskAndQueryRoutingContrail"
|
||||
)
|
||||
)
|
||||
}
|
||||
}else if(AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)){
|
||||
Observable.zip(requestContral,startRouting) { t1, t2 ->
|
||||
if ((t1.code != 0 && t1.code != 200)||t1.data==null) {
|
||||
|
||||
Reference in New Issue
Block a user