diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/network/BusPassengerServiceManager.kt b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/network/BusPassengerServiceManager.kt index a09db90434..aa8d8842b8 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/network/BusPassengerServiceManager.kt +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/network/BusPassengerServiceManager.kt @@ -4,6 +4,7 @@ import android.content.Context import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager.getServerToken import com.mogo.och.bus.passenger.bean.BusPassengerRoutesResponse import com.mogo.cloud.passport.MoGoAiCloudClientConfig +import com.mogo.commons.debug.DebugConfig import com.mogo.och.bus.passenger.bean.BusPassengerQueryLineRequest import com.mogo.och.bus.passenger.bean.BusPassengerOperationStatusResponse import com.mogo.eagle.core.network.MoGoRetrofitFactory @@ -19,6 +20,9 @@ object BusPassengerServiceManager { private var driverSnCache = "" + private var mBusPassengerSaasServiceApi = + MoGoRetrofitFactory.getInstance(OchCommonConst.getBaseUrl()).create(PassengerSAASServiceApi::class.java) + private var mBusPassengerServiceApi = MoGoRetrofitFactory.getInstance(OchCommonConst.getBaseUrl()).create(PassengerServiceApi::class.java) @@ -44,14 +48,25 @@ object BusPassengerServiceManager { fun queryDriverSiteByCoordinate( context: Context, callback: OchCommonServiceCallback? ) { - mBusPassengerServiceApi.queryDriverSiteByCoordinate( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - BusPassengerQueryLineRequest( - driverAppSn - ) - ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverSiteByCoordinate")) + if (DebugConfig.getProjectFlavor().contains("saas")){ + mBusPassengerSaasServiceApi.queryDriverSiteByCoordinate( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusPassengerQueryLineRequest( + driverAppSn + ) + ).transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverSiteByCoordinate")) + }else{ + mBusPassengerServiceApi.queryDriverSiteByCoordinate( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusPassengerQueryLineRequest( + driverAppSn + ) + ).transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverSiteByCoordinate")) + } } /** @@ -64,12 +79,23 @@ object BusPassengerServiceManager { context: Context, callback: OchCommonServiceCallback? ) { - mBusPassengerServiceApi.queryDriverOperationStatus( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - driverAppSn - ) - .transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverOperationStatus")) + + if (DebugConfig.getProjectFlavor().contains("saas")){ + mBusPassengerSaasServiceApi.queryDriverOperationStatus( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + driverAppSn + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverOperationStatus")) + }else{ + mBusPassengerServiceApi.queryDriverOperationStatus( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + driverAppSn + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverOperationStatus")) + } } } \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/network/PassengerSAASServiceApi.java b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/network/PassengerSAASServiceApi.java new file mode 100644 index 0000000000..c1dd487df2 --- /dev/null +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/network/PassengerSAASServiceApi.java @@ -0,0 +1,41 @@ +package com.mogo.och.bus.passenger.network; + +import com.mogo.och.bus.passenger.bean.BusPassengerOperationStatusResponse; +import com.mogo.och.bus.passenger.bean.BusPassengerQueryLineRequest; +import com.mogo.och.bus.passenger.bean.BusPassengerRoutesResponse; + +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; + +/** + * Created on 2022/3/31 + * + * Bus乘客端接口定义 + */ +interface PassengerSAASServiceApi { + /** + * 查询bus司机端绑定路线 + * @return 接口返回数据 + */ + @Headers( {"Content-Type:application/json;charset=UTF-8"} ) +// @POST( "/autopilot-car-hailing/line/v2/driver/bus/passenger/lineDataWithDriver/query" ) + @POST( "/autopilot-car-hailing/line/v2/driver/bus/lineDataWithDriver/query" ) + Observable queryDriverSiteByCoordinate(@Header("appId") String appId, @Header("ticket") String ticket, @Body BusPassengerQueryLineRequest request); + + /** + * 查询司机端的登陆状态 + * @param sn + * @return + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) +// @GET("/autopilot-car-hailing/operation/v1/driver/bus/passenger/loginStatus") + @GET("/och-bus-cabin/api/business/v1/loginStatus") + Observable queryDriverOperationStatus(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn); + + +} diff --git a/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/net/ISAASApiService.java b/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/net/ISAASApiService.java new file mode 100644 index 0000000000..43b4bb06ba --- /dev/null +++ b/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/net/ISAASApiService.java @@ -0,0 +1,165 @@ +package com.mogo.och.bus.net; + +import com.mogo.eagle.core.data.BaseData; +import com.mogo.och.bus.bean.BusCloseTaskRequest; +import com.mogo.och.bus.bean.BusOrdersResponse; +import com.mogo.och.bus.bean.BusQueryLineStationsRequest; +import com.mogo.och.bus.bean.BusQueryLineTaskResponse; +import com.mogo.och.bus.bean.BusQueryLinesResponse; +import com.mogo.och.bus.bean.BusQueryWriteOffPassengersResponse; +import com.mogo.och.bus.bean.BusResetDrivingLineRequest; +import com.mogo.och.bus.bean.BusRoutePlanningUpdateReqBean; +import com.mogo.och.bus.bean.BusRoutesResponse; +import com.mogo.och.bus.bean.BusUpdateSiteStatusRequest; +import com.mogo.och.bus.bean.BusWriteOffPassengersQueryRequest; +import com.mogo.och.bus.bean.CarHeartbeatReqBean; +import com.mogo.och.bus.bean.QueryLeaveAwayPassengersRequest; +import com.mogo.och.bus.bean.QueryLeaveAwayPassengersResponse; + +import io.reactivex.Observable; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.Header; +import retrofit2.http.Headers; +import retrofit2.http.POST; +import retrofit2.http.Query; + +/** + * 小巴车相关接口 + * + * @author tongchenfei + *

+ * wiki: http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=48970072 + */ +public interface ISAASApiService { + /** + * 根据车机坐标获取所在区域全部站点信息 + * + * @param request 请求参数 + * @return 接口返回数据 + */ + @Headers( {"Content-Type:application/json;charset=UTF-8"} ) +// @POST( "/autopilot-car-hailing/line/v2/driver/bus/lineDataWithDriver/query" ) + @GET( "/och-bus-cabin/api/business/v1/driver/bus/lineDataWithDriver/query" ) + Observable queryBusRoutes(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn); + + /** + * @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" ) + @POST( "/och-bus-cabin/cab/flow/v1/bus/driver/startTask" ) + Observable switchLine(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusResetDrivingLineRequest request); + + /** + * 离站,通知服务器 + * @param request + * @return + */ + @Headers({"Content-Type:application/json;charset=UTF-8"}) +// @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/leave") + @POST("/och-bus-cabin/cab/flow/v1/bus/driver/leave") + Observable leaveStation(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusUpdateSiteStatusRequest request); + + /** + * 到站 更新到站信息 + * @param request + * @return + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) +// @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/arrive") + @POST("/och-bus-cabin/cab/flow/v1/bus/driver/arrive") + Observable< BaseData > arriveSiteStation(@Header ("appId") String appId,@Header("ticket") String ticket,@Body BusUpdateSiteStatusRequest request); + + + /** + * 到站查询下车乘客 + * @param request + * @return + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) +// @POST("/autopilot-car-hailing/order/v2/driver/bus/driving/siteArrivedOrders") + @POST("/och-bus-cabin/api/business/v1/siteArrivedOrders") + Observable< QueryLeaveAwayPassengersResponse > queryStationLeaveAwayPassengers(@Header ("appId") String appId,@Header("ticket") String ticket,@Body QueryLeaveAwayPassengersRequest request); + + @Headers({"Content-type:application/json;charset=UTF-8"}) +// @GET("/autopilot-car-hailing/order/v2/driver/bus/servicingOrders/query") + @GET("/och-bus-cabin/api/business/v1/servicingOrders/query") + Observable queryBusOrders(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn); + + /** + * 车机端上传心跳数据(只在出车状态时上传):包含高德坐标系经纬度 + * @param data + * @return + */ + @Headers( {"Content-type:application/json;charset=UTF-8"} ) + @POST( "/autopilot-car-hailing/location/v2/driver/bus/heartbeat" ) + Observable runCarHeartbeat(@Header ("appId") String appId,@Header("ticket") String ticket,@Body CarHeartbeatReqBean data); + + /** + * 查询车辆配置的所有路线 + * @param appId + * @param ticket + * @param sn + * @return + */ + @Headers( {"Content-type:application/json;charset=UTF-8"} ) + // @GET("/autopilot-car-hailing/line/v2/driver/bus/bindLine/query") + @GET("/och-bus-cabin/api/business/v1/driver/BusBindLine") + Observable queryBusLines(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn); + + /** + * 查询路线当天的任务 + * @param appId + * @param ticket + * @param lineId 线路id + * @return + */ + @Headers( {"Content-type:application/json;charset=UTF-8"} ) + // @GET("/autopilot-car-hailing/line/v2/driver/bus/task/query") + @GET("/och-bus-cabin/api/business/v1/driver/bus/task/query") + Observable queryBusTaskByLineId(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("lineId") String lineId); + + + @Headers( {"Content-type:application/json;charset=UTF-8"} ) + @POST( "/autopilot-car-hailing/location/v2/driver/bus/saveLineCoordinate" ) + Observable updateOrderRoute(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusRoutePlanningUpdateReqBean data); + + /** + * 中止任务 + * @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/abortTask") + @POST("/och-bus-cabin/cab/flow/v1/bus/driver/abortTask") + Observable 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("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/endTask") + @POST("/och-bus-cabin/cab/flow/v1/bus/driver/endTask") + Observable endTask(@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("/autopilot-car-hailing/operation/v1/driver/order/verificationResult") + Observable queryWriteOffPassengers(@Header ("appId") String appId, @Header("ticket") String ticket, @Body BusWriteOffPassengersQueryRequest data); +} + diff --git a/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/net/OrderServiceManager.kt b/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/net/OrderServiceManager.kt index 9002603bb5..884d342eac 100644 --- a/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/net/OrderServiceManager.kt +++ b/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/net/OrderServiceManager.kt @@ -2,6 +2,7 @@ package com.mogo.och.bus.net 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.och.bus.bean.* @@ -20,6 +21,10 @@ object OrderServiceManager { IBascApiService::class.java ) + private val M_SAAS_SERVICE: ISAASApiService = MoGoRetrofitFactory.getInstance(OchCommonConst.getBaseUrl()).create( + ISAASApiService::class.java + ) + /** * 查询小巴车当前任务 * @param context @@ -28,13 +33,25 @@ object OrderServiceManager { @JvmStatic fun queryBusRoutes(context: Context, callback: OchCommonServiceCallback?) { //获取当前高德坐标 - M_SERVICE.queryBusRoutes( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - BusQueryLineStationsRequest() - ) - .transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusRoutes")) + if (DebugConfig.getProjectFlavor().contains("saas")){ + M_SAAS_SERVICE.queryBusRoutes( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + MoGoAiCloudClientConfig.getInstance().sn + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusRoutes")) + + }else{ + M_SERVICE.queryBusRoutes( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusQueryLineStationsRequest() + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusRoutes")) + } + } /** @@ -49,13 +66,24 @@ object OrderServiceManager { taskId: Int, callback: OchCommonServiceCallback? ) { - M_SERVICE.switchLine( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - BusResetDrivingLineRequest(taskId) - ) - .transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "switchLine")) + + if (DebugConfig.getProjectFlavor().contains("saas")){ + M_SAAS_SERVICE.switchLine( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusResetDrivingLineRequest(taskId) + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "switchLine")) + }else{ + M_SERVICE.switchLine( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusResetDrivingLineRequest(taskId) + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "switchLine")) + } } /** @@ -66,13 +94,24 @@ object OrderServiceManager { */ @JvmStatic fun abortTask(context: Context, taskId: Int, callback: OchCommonServiceCallback?) { - M_SERVICE.abortTask( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - BusCloseTaskRequest(taskId) - ) - .transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "abortTask")) + + if (DebugConfig.getProjectFlavor().contains("saas")){ + M_SAAS_SERVICE.abortTask( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusCloseTaskRequest(taskId) + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "abortTask")) + }else{ + M_SERVICE.abortTask( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusCloseTaskRequest(taskId) + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "abortTask")) + } } /** @@ -83,13 +122,24 @@ object OrderServiceManager { */ @JvmStatic fun endTask(context: Context, taskId: Int, callback: OchCommonServiceCallback?) { - M_SERVICE.endTask( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - BusCloseTaskRequest(taskId) - ) - .transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "endTask")) + if (DebugConfig.getProjectFlavor().contains("saas")){ + M_SAAS_SERVICE.endTask( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusCloseTaskRequest(taskId) + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "endTask")) + }else{ + M_SERVICE.endTask( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusCloseTaskRequest(taskId) + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "endTask")) + } + } /** @@ -107,13 +157,23 @@ object OrderServiceManager { taskId: Int, callback: OchCommonServiceCallback? ) { - M_SERVICE.leaveStation( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - BusUpdateSiteStatusRequest(taskId, siteId, seq) - ) - .transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "leaveStation")) + if (DebugConfig.getProjectFlavor().contains("saas")){ + M_SAAS_SERVICE.leaveStation( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusUpdateSiteStatusRequest(taskId, siteId, seq) + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "leaveStation")) + }else{ + M_SERVICE.leaveStation( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusUpdateSiteStatusRequest(taskId, siteId, seq) + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "leaveStation")) + } } /** @@ -128,13 +188,23 @@ object OrderServiceManager { context: Context, seq: Int, siteId: Int, taskId: Int, callback: OchCommonServiceCallback? ) { - M_SERVICE.arriveSiteStation( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - BusUpdateSiteStatusRequest(taskId, siteId, seq) - ) - .transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "arriveSiteStation")) + if (DebugConfig.getProjectFlavor().contains("saas")){ + M_SAAS_SERVICE.arriveSiteStation( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusUpdateSiteStatusRequest(taskId, siteId, seq) + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "arriveSiteStation")) + }else{ + M_SERVICE.arriveSiteStation( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusUpdateSiteStatusRequest(taskId, siteId, seq) + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "arriveSiteStation")) + } } /** @@ -190,23 +260,44 @@ object OrderServiceManager { */ @JvmStatic fun queryBusOrders(context: Context, callback: OchCommonServiceCallback?) { - M_SERVICE.queryBusOrders( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - MoGoAiCloudClientConfig.getInstance().sn - ) - .transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusOrders")) + if (DebugConfig.getProjectFlavor().contains("saas")){ + M_SAAS_SERVICE.queryBusOrders( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + MoGoAiCloudClientConfig.getInstance().sn + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusOrders")) + }else{ + M_SERVICE.queryBusOrders( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + MoGoAiCloudClientConfig.getInstance().sn + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusOrders")) + } } @JvmStatic fun queryBusLines(context: Context, callback: OchCommonServiceCallback?) { - M_SERVICE.queryBusLines( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - MoGoAiCloudClientConfig.getInstance().sn - ) - .transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusLines")) + if (DebugConfig.getProjectFlavor().contains("saas")){ + M_SAAS_SERVICE.queryBusLines( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + MoGoAiCloudClientConfig.getInstance().sn + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusLines")) + }else{ + M_SERVICE.queryBusLines( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + MoGoAiCloudClientConfig.getInstance().sn + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusLines")) + } + } @JvmStatic fun queryBusTaskByLineId( @@ -214,13 +305,23 @@ object OrderServiceManager { lineId: String?, callback: OchCommonServiceCallback? ) { - M_SERVICE.queryBusTaskByLineId( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - lineId - ) - .transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusLines")) + if (DebugConfig.getProjectFlavor().contains("saas")){ + M_SAAS_SERVICE.queryBusTaskByLineId( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + lineId + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusLines")) + }else{ + M_SERVICE.queryBusTaskByLineId( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + lineId + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusLines")) + } } @JvmStatic fun updateOrderRoute( @@ -231,15 +332,27 @@ object OrderServiceManager { points: List?, callback: OchCommonServiceCallback? ) { - M_SERVICE.updateOrderRoute( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - BusRoutePlanningUpdateReqBean( - MoGoAiCloudClientConfig.getInstance().sn, lineId, startSiteId, endSiteId, points + if (DebugConfig.getProjectFlavor().contains("saas")){ + M_SAAS_SERVICE.updateOrderRoute( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusRoutePlanningUpdateReqBean( + MoGoAiCloudClientConfig.getInstance().sn, lineId, startSiteId, endSiteId, points + ) ) - ) - .transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "updateOrderRoute")) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "updateOrderRoute")) + }else{ + M_SERVICE.updateOrderRoute( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + BusRoutePlanningUpdateReqBean( + MoGoAiCloudClientConfig.getInstance().sn, lineId, startSiteId, endSiteId, points + ) + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "updateOrderRoute")) + } } /** @@ -254,15 +367,19 @@ object OrderServiceManager { context: Context, lon: Double, lat: Double, callback: OchCommonServiceCallback? ) { - M_SERVICE.runCarHeartbeat( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - CarHeartbeatReqBean( - MoGoAiCloudClientConfig.getInstance().sn, lon, lat + if (DebugConfig.getProjectFlavor().contains("saas")){ + + }else{ + M_SERVICE.runCarHeartbeat( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + CarHeartbeatReqBean( + MoGoAiCloudClientConfig.getInstance().sn, lon, lat + ) ) - ) - .transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "runCarHeartbeat")) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "runCarHeartbeat")) + } } } \ No newline at end of file diff --git a/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/net/login/OchCommonServiceManager.kt b/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/net/login/OchCommonServiceManager.kt index 83f8dec4ee..6a52618adb 100644 --- a/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/net/login/OchCommonServiceManager.kt +++ b/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/net/login/OchCommonServiceManager.kt @@ -9,6 +9,7 @@ import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.cloud.passport.MoGoAiCloudClient +import com.mogo.commons.debug.DebugConfig import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.network.MoGoRetrofitFactory import com.mogo.och.common.module.biz.network.OchCommonServiceCallback @@ -27,6 +28,11 @@ object OchCommonServiceManager { OchLoginServiceApi::class.java ) + private val mLoginSaasServiceApi: OchSAASLoginServiceApi = + MoGoRetrofitFactory.getInstance(OchCommonConst.getBaseUrl()).create( + OchSAASLoginServiceApi::class.java + ) + /** * 获取手机验证码 * @param context @@ -37,12 +43,21 @@ object OchCommonServiceManager { context: Context, phone: String?, callback: OchCommonServiceCallback? ) { - mLoginServiceApi.getPhoneCode( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - TaxiLoginSmsReqBean(phone) - ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "getPhoneCode")) + if (DebugConfig.getProjectFlavor().contains("saas")){ + mLoginSaasServiceApi.getPhoneCode( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + TaxiLoginSmsReqBean(phone) + ).transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "getPhoneCode")) + }else{ + mLoginServiceApi.getPhoneCode( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + TaxiLoginSmsReqBean(phone) + ).transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "getPhoneCode")) + } } /** @@ -57,11 +72,20 @@ object OchCommonServiceManager { callback: OchCommonServiceCallback? ) { val sn = MoGoAiCloudClientConfig.getInstance().sn - mLoginServiceApi.gotoLoginBycode4Bus( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - TaxiLoginReqBean(phone, code, sn, location4Login) - ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "gotoLoginBycode")) + + if (DebugConfig.getProjectFlavor().contains("saas")){ + mLoginSaasServiceApi.gotoLoginBycode4Bus( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + TaxiLoginReqBean(phone, code, sn, location4Login) + ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "gotoLoginBycode")) + }else{ + mLoginServiceApi.gotoLoginBycode4Bus( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + TaxiLoginReqBean(phone, code, sn, location4Login) + ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "gotoLoginBycode")) + } } /** @@ -73,11 +97,19 @@ object OchCommonServiceManager { location4Login: TaxiLogoutReqBean.Location4Login?, callback: OchCommonServiceCallback? ) { - mLoginServiceApi.logout4Bus( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - TaxiLogoutReqBean(MoGoAiCloudClientConfig.getInstance().sn, location4Login) - ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout")) + if (DebugConfig.getProjectFlavor().contains("saas")){ + mLoginSaasServiceApi.logout4Bus( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + TaxiLogoutReqBean(MoGoAiCloudClientConfig.getInstance().sn, location4Login) + ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout")) + }else{ + mLoginServiceApi.logout4Bus( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + TaxiLogoutReqBean(MoGoAiCloudClientConfig.getInstance().sn, location4Login) + ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "logout")) + } } /** @@ -96,12 +128,22 @@ object OchCommonServiceManager { MoGoAiCloudClient.getInstance().refreshToken() return } - mLoginServiceApi.queryDriverServiceStatusAndLoginStatus( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - MoGoAiCloudClientConfig.getInstance().token, - MoGoAiCloudClientConfig.getInstance().sn - ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverServiceStatus")) + if (DebugConfig.getProjectFlavor().contains("saas")){ + mLoginSaasServiceApi.queryDriverServiceStatusAndLoginStatus( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + MoGoAiCloudClientConfig.getInstance().sn + ).transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverServiceStatus")) + }else{ + mLoginServiceApi.queryDriverServiceStatusAndLoginStatus( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + MoGoAiCloudClientConfig.getInstance().sn + ).transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverServiceStatus")) + } + } } \ No newline at end of file diff --git a/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/net/login/OchSAASLoginServiceApi.java b/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/net/login/OchSAASLoginServiceApi.java new file mode 100644 index 0000000000..5825f6f6eb --- /dev/null +++ b/OCH/mogo-och-bus/src/jinlvvan/java/com/mogo/och/bus/net/login/OchSAASLoginServiceApi.java @@ -0,0 +1,69 @@ +package com.mogo.och.bus.net.login; + +import com.mogo.eagle.core.data.BaseData; +import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; +import com.mogo.och.common.module.biz.bean.TaxiLoginReqBean; +import com.mogo.och.common.module.biz.bean.TaxiLoginRespBean; +import com.mogo.och.common.module.biz.bean.TaxiLoginSmsReqBean; +import com.mogo.och.common.module.biz.bean.TaxiLogoutReqBean; + +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; + +/** + * Created by pangfan on 2021/8/19 + *

+ * 网约车-出租车接口定义 + */ +interface OchSAASLoginServiceApi { + /** + * 获取手机验证码 + * + * @return + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @POST("/autopilot-car-hailing/driver/v2/driver/taxi/sendSms") + Observable getPhoneCode(@Header("appId") String appId + , @Header("ticket") String ticket, @Body TaxiLoginSmsReqBean data); + + /** + * 通过验证码登录 + * + * @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/startOperation") + @POST("/och-bus-cabin/cab/flow/v1/bus/driver/startOperation") + Observable gotoLoginBycode4Bus(@Header("appId") String appId + , @Header("ticket") String ticket, @Body TaxiLoginReqBean data); + + /** + * 登出接口 + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) +// @POST("/autopilot-car-hailing/cab/flow/v1/bus/driver/bus/endOperation") + @POST("/och-bus-cabin/cab/flow/v1/bus/driver/endOperation") + Observable logout4Bus(@Header("appId") String appId, @Header("ticket") String ticket, + @Body TaxiLogoutReqBean data); + + /** + * 接单状态和登录状态查询 出租车司机端、小巴车司机端、小巴车乘客端 + * + * @param sn + * @return + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) +// @GET("/autopilot-car-hailing/operation/v1/driver/bus/loginStatus") + @GET("/och-bus-cabin/api/business/v1/loginStatus") + Observable queryDriverServiceStatusAndLoginStatus(@Header("appId") String appId + , @Header("ticket") String ticket, @Query("sn") String sn); + +} diff --git a/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt b/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt index 5ccbec8187..2053f232d9 100644 --- a/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt +++ b/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt @@ -80,6 +80,7 @@ object ConfigStartUp { DebugConfig.setLauncher(BuildConfig.IS_LAUNCHER) DebugConfig.setCarMachineType(BuildConfig.CAR_MACHINE_TYPE) DebugConfig.setProductFlavor(BuildConfig.FLAVOR_product) + DebugConfig.setProjectFlavor(BuildConfig.FLAVOR_project) DebugConfig.setSocketAppId(BuildConfig.SOCKET_APP_ID) DebugConfig.setMapVersion(BuildConfig.MAP_SDK_VERSION) DebugConfig.setMapOptVersion(BuildConfig.MAP_SDK_OPT_VERSION) diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java index 4210cfb971..3056d07556 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java @@ -124,6 +124,7 @@ public class DebugConfig { } private static String sProductFlavor; + private static String sProjectFlavor = ""; public static String getProductFlavor() { return sProductFlavor; @@ -138,6 +139,18 @@ public class DebugConfig { DebugConfig.sProductFlavor = sProductFlavor; } + /** + * project flavor + * @param projectFlavor + */ + public static void setProjectFlavor(String projectFlavor) { + DebugConfig.sProjectFlavor = projectFlavor; + } + + public static String getProjectFlavor() { + return sProjectFlavor; + } + private static String sSocketAppId; public static void setSocketAppId(String sSocketAppId) {