[6.8.0]
[fea] [核销]
This commit is contained in:
@@ -2,15 +2,16 @@ package com.mogo.och.weaknet.model
|
||||
|
||||
import com.elegant.network.utils.GsonUtil
|
||||
import com.mogo.commons.AbsMogoApplication
|
||||
import com.mogo.commons.env.ProjectUtils
|
||||
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
|
||||
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
|
||||
import com.mogo.eagle.core.data.msgbox.MsgBoxType
|
||||
import com.mogo.eagle.core.data.msgbox.V2XMsg
|
||||
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager.saveMsgBox
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P
|
||||
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.loop.BizLoopManager
|
||||
@@ -20,16 +21,22 @@ import com.mogo.och.common.module.manager.socket.cloud.OCHSocketMessageManager
|
||||
import com.mogo.och.common.module.manager.socket.lan.ILanMessageListener
|
||||
import com.mogo.och.common.module.manager.socket.lan.LanSocketManager
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDetialMsg
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDevicesMsg
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffMsg
|
||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||
import com.mogo.och.weaknet.bean.response.WriteOffCountResponse
|
||||
import com.mogo.och.weaknet.bean.WriteOffPassenger
|
||||
import com.mogo.och.weaknet.repository.RepositoryManager
|
||||
import com.mogo.och.weaknet.repository.exception.DataException
|
||||
import com.mogo.och.weaknet.repository.net.bean.response.PassengerWriteOffResponse
|
||||
import com.mogo.och.weaknet.util.ShuttleVoiceManager
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.ObservableEmitter
|
||||
import io.reactivex.ObservableOnSubscribe
|
||||
import io.reactivex.Observer
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
|
||||
object TicketModel : IOchOnMessageListener<WriteOffPassenger>{
|
||||
@@ -42,26 +49,27 @@ object TicketModel : IOchOnMessageListener<WriteOffPassenger>{
|
||||
|
||||
private val observable = Observable.create(ObservableOnSubscribe<Pair<Int,Int>> { emitter -> emitterMain = emitter })
|
||||
|
||||
private val writeOffMsg = object : ILanMessageListener<WriteOffMsg> {
|
||||
override fun targetLan(): Class<WriteOffMsg> = WriteOffMsg::class.java
|
||||
override fun onLanMsgReceived(obj: WriteOffMsg?) = receiveWrteOffInfo(obj)
|
||||
}
|
||||
|
||||
private val writeOfDevicefMsg = object : ILanMessageListener<WriteOffDevicesMsg> {
|
||||
override fun targetLan(): Class<WriteOffDevicesMsg> = WriteOffDevicesMsg::class.java
|
||||
override fun onLanMsgReceived(obj: WriteOffDevicesMsg?) = receiveWrteOffDevicesInfo(obj)
|
||||
}
|
||||
|
||||
private val writeOfDevicefDetialMsg = object : ILanMessageListener<WriteOffDetialMsg> {
|
||||
override fun targetLan(): Class<WriteOffDetialMsg> = WriteOffDetialMsg::class.java
|
||||
override fun onLanMsgReceived(obj: WriteOffDetialMsg?) = receiveWrteOffDefailtInfo(obj)
|
||||
}
|
||||
|
||||
|
||||
fun load(){
|
||||
// 3s轮训站点核销人数
|
||||
if(RepositoryManager.supportWriteOff()) {
|
||||
// 3s轮训站点核销人数 人数本地核销 直接计算就好
|
||||
if (RepositoryManager.supportWriteOff() && RepositoryManager.supportWriteOffDb()) {
|
||||
BizLoopManager.setLoopFunction(
|
||||
SELECTWRITEOFFCOUNT,
|
||||
LoopInfo(3, TicketModel::selectWriteOffCount, scheduler = Schedulers.io())
|
||||
)
|
||||
}
|
||||
// 核销信息
|
||||
LanSocketManager.registerSocketMessageListener(DPMsgType.TYPE_WRITEOFF_INFO.type,writeOffMsg)
|
||||
LanSocketManager.registerSocketMessageListener(DPMsgType.TYPE_WRITEOFF_INFO_DETAIL.type,writeOfDevicefDetialMsg)
|
||||
// 核销设备信息
|
||||
LanSocketManager.registerSocketMessageListener(DPMsgType.TYPE_WRITEOFF_DEVICES_INFO.type,writeOfDevicefMsg)
|
||||
//监听核销乘客
|
||||
@@ -72,7 +80,7 @@ object TicketModel : IOchOnMessageListener<WriteOffPassenger>{
|
||||
if(RepositoryManager.supportWriteOff()) {
|
||||
BizLoopManager.removeLoopFunction(SELECTWRITEOFFCOUNT)
|
||||
}
|
||||
LanSocketManager.unRegisterSocketMessageListener(DPMsgType.TYPE_WRITEOFF_INFO.type,writeOffMsg)
|
||||
LanSocketManager.unRegisterSocketMessageListener(DPMsgType.TYPE_WRITEOFF_INFO_DETAIL.type,writeOfDevicefDetialMsg)
|
||||
LanSocketManager.unRegisterSocketMessageListener(DPMsgType.TYPE_WRITEOFF_DEVICES_INFO.type,writeOfDevicefMsg)
|
||||
OCHSocketMessageManager.releaseSocketMessageListener(OCHSocketMessageManager.msgWriteOffPassengerType)
|
||||
}
|
||||
@@ -92,8 +100,8 @@ object TicketModel : IOchOnMessageListener<WriteOffPassenger>{
|
||||
passenger.passengerSize,
|
||||
passenger.phone ?: "",
|
||||
passenger.ticketName?:"",
|
||||
passenger.orderNo?:""
|
||||
)
|
||||
TODO("服务器端核销需要在本地报备一下 用于计算数据")
|
||||
selectWriteOffCount()
|
||||
}
|
||||
|
||||
@@ -172,12 +180,167 @@ object TicketModel : IOchOnMessageListener<WriteOffPassenger>{
|
||||
}
|
||||
}
|
||||
}
|
||||
private fun receiveWrteOffDefailtInfo(writeOffDetialMsg: WriteOffDetialMsg?) {
|
||||
writeOffDetialMsg?.let {
|
||||
if(writeOffDetialMsg.code!=0){
|
||||
sendMessage2Driver(
|
||||
writeOffDetialMsg.msg?:"",
|
||||
writeOffDetialMsg.phone ?: ""
|
||||
)
|
||||
}else {
|
||||
RepositoryManager.writeOff(writeOffDetialMsg)
|
||||
?.subscribeOn(Schedulers.io())
|
||||
?.observeOn(AndroidSchedulers.mainThread())
|
||||
?.subscribe(object : Observer<PassengerWriteOffResponse.Result?> {
|
||||
override fun onSubscribe(d: Disposable) {
|
||||
d(TAG, "receiveWrteOffDefailtInfo onSubscribe")
|
||||
}
|
||||
|
||||
private fun receiveWrteOffDevicesInfo(writeOffMsg: WriteOffDevicesMsg?) {
|
||||
writeOffMsg?.let {
|
||||
if (writeOffMsg.isConnectScanner != null) {
|
||||
val reason = if (writeOffMsg.reason == null) "" else writeOffMsg.reason!!
|
||||
if (writeOffMsg.isConnectScanner==true) { // 链接成功
|
||||
override fun onError(e: Throwable) {
|
||||
d(TAG, "receiveWrteOffDefailtInfo onError${e.printStackTrace()}")
|
||||
if (e is DataException) {
|
||||
CallerLogger.d(M_BUS_P + TAG, "核销失败 ${e.code}-----${e.msg}")
|
||||
when (e.code) {
|
||||
6002 -> {
|
||||
sendMessage2Driver(
|
||||
"同一订单核销间隔时间需大于2分钟",
|
||||
writeOffDetialMsg.phone ?: ""
|
||||
)
|
||||
}
|
||||
|
||||
1009 -> {
|
||||
sendMessage2Driver(
|
||||
"车票所选乘车日期非今日",
|
||||
writeOffDetialMsg.phone ?: ""
|
||||
)
|
||||
}
|
||||
|
||||
1005 -> {
|
||||
sendMessage2Driver(
|
||||
"车辆未登录、或没有任务",
|
||||
writeOffDetialMsg.phone ?: ""
|
||||
)
|
||||
}
|
||||
|
||||
1006 -> {
|
||||
sendMessage2Driver(
|
||||
"车票路线信息与当前车辆执行任务的路线信息不符合",
|
||||
writeOffDetialMsg.phone ?: ""
|
||||
)
|
||||
}
|
||||
|
||||
1008 -> {
|
||||
sendMessage2Driver(
|
||||
"车票剩余可用次数为0",
|
||||
writeOffDetialMsg.phone ?: ""
|
||||
)
|
||||
}
|
||||
|
||||
6001 -> {
|
||||
sendMessage2Driver(
|
||||
"二维码已过期",
|
||||
writeOffDetialMsg.phone ?: ""
|
||||
)
|
||||
}
|
||||
|
||||
1012 -> {
|
||||
sendMessage2Driver(
|
||||
"当前用户下单路线非当前的车辆所属公司",
|
||||
writeOffDetialMsg.phone ?: ""
|
||||
)
|
||||
}
|
||||
|
||||
else -> {
|
||||
when (e.msg) {
|
||||
"6002" -> {
|
||||
sendMessage2Driver(
|
||||
"同一订单核销间隔时间需大于2分钟",
|
||||
writeOffDetialMsg.phone ?: ""
|
||||
)
|
||||
}
|
||||
|
||||
"1009" -> {
|
||||
sendMessage2Driver(
|
||||
"车票所选乘车日期非今日",
|
||||
writeOffDetialMsg.phone ?: ""
|
||||
)
|
||||
}
|
||||
|
||||
"1005" -> {
|
||||
sendMessage2Driver(
|
||||
"车辆未登录、或没有任务",
|
||||
writeOffDetialMsg.phone ?: ""
|
||||
)
|
||||
}
|
||||
|
||||
"1006" -> {
|
||||
sendMessage2Driver(
|
||||
"车票路线信息与当前车辆执行任务的路线信息不符合",
|
||||
writeOffDetialMsg.phone ?: ""
|
||||
)
|
||||
}
|
||||
|
||||
"1008" -> {
|
||||
sendMessage2Driver(
|
||||
"车票剩余可用次数为0",
|
||||
writeOffDetialMsg.phone ?: ""
|
||||
)
|
||||
}
|
||||
|
||||
"6001" -> {
|
||||
sendMessage2Driver(
|
||||
"二维码已过期",
|
||||
writeOffDetialMsg.phone ?: ""
|
||||
)
|
||||
}
|
||||
|
||||
"1012" -> {
|
||||
sendMessage2Driver(
|
||||
"当前用户下单路线非当前的车辆所属公司",
|
||||
writeOffDetialMsg.phone ?: ""
|
||||
)
|
||||
}
|
||||
|
||||
else -> {
|
||||
sendMessage2Driver(
|
||||
e.msg,
|
||||
writeOffDetialMsg.phone ?: ""
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onComplete() {
|
||||
d(TAG, "receiveWrteOffDefailtInfo onComplete")
|
||||
}
|
||||
|
||||
override fun onNext(data: PassengerWriteOffResponse.Result) {
|
||||
d(TAG, "queryBusLines onNext ${data}")
|
||||
selectWriteOffCount()
|
||||
playPassenger(
|
||||
data.ticketSize ?: 0,
|
||||
data.phone ?: "",
|
||||
data.ticketName ?: ""
|
||||
)
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
private fun sendMessage2Driver(message:String,phone:String){
|
||||
val msg = WriteOffMsg(false, phone, 0, "", "验票失败,${message}","")
|
||||
receiveWrteOffInfo(msg)
|
||||
}
|
||||
|
||||
private fun receiveWrteOffDevicesInfo(writeOffDevicesMsg: WriteOffDevicesMsg?) {
|
||||
writeOffDevicesMsg?.let {
|
||||
if (writeOffDevicesMsg.isConnectScanner != null) {
|
||||
val reason = if (writeOffDevicesMsg.reason == null) "" else writeOffDevicesMsg.reason!!
|
||||
if (writeOffDevicesMsg.isConnectScanner==true) { // 链接成功
|
||||
saveMsgBox(
|
||||
MsgBoxBean(
|
||||
MsgBoxType.V2X,
|
||||
@@ -206,7 +369,7 @@ object TicketModel : IOchOnMessageListener<WriteOffPassenger>{
|
||||
}
|
||||
}
|
||||
|
||||
private fun playPassenger(ticketSize: Int,phone:String,ticketName:String,orderNo:String) {
|
||||
private fun playPassenger(ticketSize: Int,phone:String,ticketName:String) {
|
||||
|
||||
ShuttleVoiceManager.writeOffCount(ticketSize)
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.mogo.eagle.core.data.BaseData
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDetialMsg
|
||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||
import com.mogo.och.weaknet.bean.request.ShuttleEventRequest
|
||||
import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse
|
||||
@@ -18,6 +19,7 @@ import com.mogo.och.weaknet.repository.db.repository.EventDb
|
||||
import com.mogo.och.weaknet.repository.line.ILineRepository
|
||||
import com.mogo.och.weaknet.repository.line.impl.NormalRepository
|
||||
import com.mogo.och.weaknet.repository.line.impl.WeaknetRepository
|
||||
import com.mogo.och.weaknet.repository.net.bean.response.PassengerWriteOffResponse
|
||||
import com.mogo.och.weaknet.repository.writeoff.IWriteOffRepository
|
||||
import com.mogo.och.weaknet.repository.writeoff.impl.WriteOffCacheRepository
|
||||
import com.mogo.och.weaknet.repository.writeoff.impl.WriteOffNormallRepository
|
||||
@@ -151,6 +153,12 @@ object RepositoryManager {
|
||||
}
|
||||
return false
|
||||
}
|
||||
fun supportWriteOffDb():Boolean{
|
||||
if(supportWriteOff()){
|
||||
return ProjectUtils.isSaas()
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
fun queryCarExecutableTaskList(
|
||||
ochCommonServiceCallback: OchCommonServiceCallback<CarExecutableTaskResponse>
|
||||
@@ -170,8 +178,8 @@ object RepositoryManager {
|
||||
}
|
||||
}
|
||||
|
||||
fun writeOff(){
|
||||
writeOffRepository?.writeOffEvent()
|
||||
fun writeOff(writeOffDetialMsg: WriteOffDetialMsg): Observable<PassengerWriteOffResponse.Result>? {
|
||||
return writeOffRepository?.writeOffEvent(writeOffDetialMsg)
|
||||
}
|
||||
|
||||
fun closeDb() {
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
package com.mogo.och.weaknet.repository.exception
|
||||
|
||||
class DataException: RuntimeException {
|
||||
var code:Int = 0
|
||||
var msg:String = ""
|
||||
constructor() : super()
|
||||
constructor(code:Int,message: String?) : super("${code}_${message}")
|
||||
constructor(code:Int, message: String) : super("${code}_${message}"){
|
||||
this.code = code
|
||||
this.msg = message
|
||||
}
|
||||
|
||||
companion object{
|
||||
val startTaskErrorCode = 10010
|
||||
}
|
||||
|
||||
@@ -6,10 +6,11 @@ import com.mogo.och.common.module.network.OchCommonServiceCallback;
|
||||
import com.mogo.och.data.bean.BusRoutesResult;
|
||||
import com.mogo.och.weaknet.bean.request.ShuttleEventRequest;
|
||||
import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse;
|
||||
import com.mogo.och.weaknet.bean.response.WriteOffCountResponse;
|
||||
import com.mogo.eagle.core.data.BaseData;
|
||||
import 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.PassengerWriteOffRequest;
|
||||
import com.mogo.och.weaknet.repository.net.bean.response.PassengerWriteOffResponse;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -47,7 +48,14 @@ public interface NetInterface {
|
||||
return Observable.just(new BusRoutesResult());
|
||||
}
|
||||
|
||||
default void writeOffCount(Context context , Long taskId, Long siteId, OchCommonServiceCallback<WriteOffCountResponse> callback){}
|
||||
default Observable<Integer> writeOffCount(Context context , Long taskId, Long siteId){
|
||||
return Observable.just(0);
|
||||
}
|
||||
|
||||
default Observable<PassengerWriteOffResponse.Result> writeOffTicket(Context context,
|
||||
PassengerWriteOffRequest ticketInfo){
|
||||
return Observable.just(new PassengerWriteOffResponse.Result("",0,"",0L));
|
||||
}
|
||||
|
||||
default void queryCarExecutableTaskList(Context context , OchCommonServiceCallback<CarExecutableTaskResponse> callback){}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.data.BaseData
|
||||
import com.mogo.eagle.core.network.MoGoRetrofitFactory
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.manager.cache.OchSPManager
|
||||
import com.mogo.och.common.module.network.OchCommonNet
|
||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||
import com.mogo.och.common.module.network.OchCommonSubscribeImpl
|
||||
@@ -14,56 +15,53 @@ import com.mogo.och.data.bean.BusRoutesResult
|
||||
import com.mogo.och.weaknet.bean.request.BusQueryLineStationsRequest
|
||||
import com.mogo.och.weaknet.bean.request.ShuttleEventRequest
|
||||
import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse
|
||||
import com.mogo.och.weaknet.bean.response.WriteOffCountResponse
|
||||
import com.mogo.och.weaknet.repository.net.NetInterface
|
||||
import com.mogo.och.weaknet.repository.net.bean.request.PassengerWriteOffRequest
|
||||
import com.mogo.och.weaknet.repository.net.bean.response.PassengerWriteOffResponse
|
||||
import io.reactivex.Observable
|
||||
|
||||
/**
|
||||
* @author: wangmingjun
|
||||
* @date: 2021/10/20
|
||||
*/
|
||||
object DaliShuttleServiceManager: NetInterface {
|
||||
object DaliShuttleServiceManager : NetInterface {
|
||||
|
||||
private val mService: IDaliShuttleApiService = MoGoRetrofitFactory.getInstance(OchCommonConst.getShuttleUrl()).create(
|
||||
IDaliShuttleApiService::class.java
|
||||
)
|
||||
private val mService: IDaliShuttleApiService =
|
||||
MoGoRetrofitFactory.getInstance(OchCommonConst.getShuttleUrl()).create(
|
||||
IDaliShuttleApiService::class.java
|
||||
)
|
||||
|
||||
|
||||
/**
|
||||
* 查询小巴车当前任务
|
||||
* @param context
|
||||
* @param callback
|
||||
*/
|
||||
override fun queryBusRoutes(): Observable<BusRoutesResult?>? {
|
||||
//获取当前高德坐标
|
||||
return mService.queryBusRoutes(
|
||||
return mService.queryBusRoutes(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
BusQueryLineStationsRequest()
|
||||
) .transformIoTry()
|
||||
.flatMap(OchCommonNet("saas shuttle queryBusRoutes",false))
|
||||
).transformIoTry()
|
||||
.flatMap(OchCommonNet("saas shuttle queryBusRoutes", false))
|
||||
.flatMap {
|
||||
Observable.just(it.data?:BusRoutesResult())
|
||||
Observable.just(it.data ?: BusRoutesResult())
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 只发生在大理和saas环境 查询当前站点核销的人数
|
||||
*/
|
||||
override fun writeOffCount(
|
||||
context: Context,
|
||||
taskId: Long?,
|
||||
siteId: Long?,
|
||||
callback: OchCommonServiceCallback<WriteOffCountResponse>?
|
||||
) {
|
||||
mService.writeOffCount(
|
||||
override fun writeOffCount(context: Context?, taskId: Long?, siteId: Long?): Observable<Int> {
|
||||
return mService.writeOffCount(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
taskId?.toString(),
|
||||
siteId?.toString()
|
||||
)
|
||||
.transformIoTry()
|
||||
.subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount"))
|
||||
.flatMap(OchCommonNet("saas shuttle writeOffCount", false))
|
||||
.flatMap {
|
||||
Observable.just(it.data ?: 0)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -98,5 +96,22 @@ object DaliShuttleServiceManager: NetInterface {
|
||||
.subscribe(OchCommonSubscribeImpl(context, callback, "reportCabinEvent"))
|
||||
}
|
||||
|
||||
override fun writeOffTicket(
|
||||
context: Context,
|
||||
ticketInfo: PassengerWriteOffRequest,
|
||||
): Observable<PassengerWriteOffResponse.Result?>? {
|
||||
ticketInfo.sn = OchSPManager.getSn()
|
||||
return mService.daliwriteOffTicket(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
ticketInfo
|
||||
)
|
||||
.transformIoTry()
|
||||
.flatMap(OchCommonNet("dali shuttle writeOffCount",false))
|
||||
.flatMap {
|
||||
Observable.just(it.data)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -14,7 +14,6 @@ import com.mogo.och.common.module.network.interceptor.transformIoTry
|
||||
import com.mogo.och.data.bean.BusRoutesResult
|
||||
import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse
|
||||
import com.mogo.och.weaknet.bean.request.ShuttleEventRequest
|
||||
import com.mogo.och.weaknet.bean.response.WriteOffCountResponse
|
||||
import com.mogo.och.weaknet.repository.net.bean.request.WriteOffCountReqBean
|
||||
import com.mogo.och.weaknet.repository.net.NetInterface
|
||||
import io.reactivex.Observable
|
||||
@@ -51,24 +50,17 @@ object SaasBusServiceManager: NetInterface {
|
||||
/**
|
||||
* 只发生在大理和saas环境 查询当前站点核销的人数
|
||||
*/
|
||||
override fun writeOffCount(
|
||||
context: Context,
|
||||
taskId: Long,
|
||||
siteId: Long,
|
||||
callback: OchCommonServiceCallback<WriteOffCountResponse>?
|
||||
) {
|
||||
OchSPManager.getSn()?.let {
|
||||
mService.writeOffCount(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
WriteOffCountReqBean(it,taskId,
|
||||
siteId,
|
||||
)
|
||||
)
|
||||
.transformIoTry()
|
||||
.subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount"))
|
||||
}
|
||||
|
||||
override fun writeOffCount(context: Context?, taskId: Long?, siteId: Long?): Observable<Int> {
|
||||
return mService.writeOffCount(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
WriteOffCountReqBean(OchSPManager.getSn()?:"",taskId?:0, siteId?:0,)
|
||||
)
|
||||
.transformIoTry()
|
||||
.flatMap(OchCommonNet("saas shuttle writeOffCount",false))
|
||||
.flatMap {
|
||||
Observable.just(it.data?:0)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -15,8 +15,6 @@ import com.mogo.och.data.bean.BusRoutesResult
|
||||
import com.mogo.och.weaknet.bean.request.BusQueryLineStationsRequest
|
||||
import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse
|
||||
import com.mogo.och.weaknet.bean.request.ShuttleEventRequest
|
||||
import com.mogo.och.weaknet.bean.response.WriteOffCountResponse
|
||||
import com.mogo.och.weaknet.repository.net.bean.request.WriteOffCountReqBean
|
||||
import com.mogo.och.weaknet.repository.net.NetInterface
|
||||
import io.reactivex.Observable
|
||||
|
||||
@@ -33,8 +31,6 @@ object SaasShuttleServiceManager: NetInterface {
|
||||
|
||||
/**
|
||||
* 查询小巴车当前任务
|
||||
* @param context
|
||||
* @param callback
|
||||
*/
|
||||
override fun queryBusRoutes(): Observable<BusRoutesResult?>? {
|
||||
//获取当前高德坐标
|
||||
@@ -49,29 +45,6 @@ object SaasShuttleServiceManager: NetInterface {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 只发生在大理和saas环境 查询当前站点核销的人数
|
||||
*/
|
||||
override fun writeOffCount(
|
||||
context: Context,
|
||||
taskId: Long,
|
||||
siteId: Long,
|
||||
callback: OchCommonServiceCallback<WriteOffCountResponse>?
|
||||
) {
|
||||
OchSPManager.getSn()?.let {
|
||||
mService.writeOffCount(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
WriteOffCountReqBean(
|
||||
it, taskId,
|
||||
siteId,
|
||||
)
|
||||
)
|
||||
.transformIoTry()
|
||||
.subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount"))
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 同步 线路、站点、任务、自驾轨迹信息
|
||||
*/
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
package com.mogo.och.weaknet.repository.writeoff
|
||||
|
||||
import android.content.Context
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDetialMsg
|
||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||
import com.mogo.och.weaknet.bean.response.WriteOffCountResponse
|
||||
import com.mogo.och.weaknet.repository.net.bean.response.PassengerWriteOffResponse
|
||||
import io.reactivex.Observable
|
||||
|
||||
interface IWriteOffRepository {
|
||||
|
||||
fun queryWriteoffCount(context: Context, taskId: Long, siteId: Long, callback: OchCommonServiceCallback<WriteOffCountResponse>?)
|
||||
fun queryWriteoffCount(context: Context, taskId: Long, siteId: Long, callback: OchCommonServiceCallback<WriteOffCountResponse>?): Observable<Int>?
|
||||
|
||||
fun writeOffEvent()
|
||||
fun writeOffEvent(writeOffDetialMsg: WriteOffDetialMsg): Observable<PassengerWriteOffResponse.Result>?
|
||||
|
||||
fun release()
|
||||
|
||||
|
||||
@@ -7,14 +7,16 @@ 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.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDetialMsg
|
||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||
import com.mogo.och.weaknet.bean.response.WriteOffCountResponse
|
||||
import com.mogo.och.weaknet.repository.net.exception.NetException
|
||||
import com.mogo.och.weaknet.repository.net.NetInterface
|
||||
import com.mogo.och.weaknet.repository.net.project.dali.shuttle.DaliShuttleServiceManager
|
||||
import com.mogo.och.weaknet.repository.net.bean.response.PassengerWriteOffResponse
|
||||
import com.mogo.och.weaknet.repository.net.project.saas.bus.SaasBusServiceManager
|
||||
import com.mogo.och.weaknet.repository.net.project.saas.shuttle.SaasShuttleServiceManager
|
||||
import com.mogo.och.weaknet.repository.writeoff.IWriteOffRepository
|
||||
import io.reactivex.Observable
|
||||
|
||||
class WriteOffCacheRepository : IWriteOffRepository {
|
||||
private val TAG = "ShuttleSaasRepository"
|
||||
@@ -51,12 +53,12 @@ class WriteOffCacheRepository : IWriteOffRepository {
|
||||
taskId: Long,
|
||||
siteId: Long,
|
||||
callback: OchCommonServiceCallback<WriteOffCountResponse>?
|
||||
) {
|
||||
weakNetInterface?.writeOffCount(context,taskId,siteId,callback)
|
||||
): Observable<Int>? {
|
||||
TODO("本地计算核销数量 数据来源有两个地方 1、本地数据库计算 + 2、服务器核销")
|
||||
}
|
||||
|
||||
override fun writeOffEvent() {
|
||||
|
||||
override fun writeOffEvent(writeOffDetialMsg: WriteOffDetialMsg): Observable<PassengerWriteOffResponse.Result>? {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun release() {
|
||||
|
||||
@@ -1,20 +1,23 @@
|
||||
package com.mogo.och.weaknet.repository.writeoff.impl
|
||||
|
||||
import android.content.Context
|
||||
import com.mogo.commons.AbsMogoApplication
|
||||
import com.mogo.commons.env.Project
|
||||
import com.mogo.commons.env.ProjectUtils
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDetialMsg
|
||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||
import com.mogo.och.weaknet.bean.response.WriteOffCountResponse
|
||||
import com.mogo.och.weaknet.repository.net.NetInterface
|
||||
import com.mogo.och.weaknet.repository.net.bean.request.PassengerWriteOffRequest
|
||||
import com.mogo.och.weaknet.repository.net.bean.response.PassengerWriteOffResponse
|
||||
import com.mogo.och.weaknet.repository.net.exception.NetException
|
||||
import com.mogo.och.weaknet.repository.net.project.dali.bus.DaliBusServiceManager
|
||||
import com.mogo.och.weaknet.repository.net.project.dali.shuttle.DaliShuttleServiceManager
|
||||
import com.mogo.och.weaknet.repository.net.project.mogo.bus.MogoBusServiceManager
|
||||
import com.mogo.och.weaknet.repository.net.project.mogo.shuttle.MogoShuttleServiceManager
|
||||
import com.mogo.och.weaknet.repository.writeoff.IWriteOffRepository
|
||||
import io.reactivex.Observable
|
||||
|
||||
class WriteOffNormallRepository: IWriteOffRepository {
|
||||
|
||||
@@ -55,12 +58,17 @@ class WriteOffNormallRepository: IWriteOffRepository {
|
||||
taskId: Long,
|
||||
siteId: Long,
|
||||
callback: OchCommonServiceCallback<WriteOffCountResponse>?
|
||||
) {
|
||||
normalNetInterface?.writeOffCount(context,taskId,siteId,callback)
|
||||
): Observable<Int>? {
|
||||
return normalNetInterface?.writeOffCount(context,taskId,siteId)
|
||||
}
|
||||
|
||||
override fun writeOffEvent() {
|
||||
|
||||
override fun writeOffEvent(writeOffDetialMsg: WriteOffDetialMsg): Observable<PassengerWriteOffResponse.Result>? {
|
||||
val passengerWriteOffRequest = PassengerWriteOffRequest(writeOffDetialMsg.orderNo, writeOffDetialMsg.uid)
|
||||
return normalNetInterface?.writeOffTicket(
|
||||
AbsMogoApplication.getApp(),
|
||||
passengerWriteOffRequest,
|
||||
)
|
||||
}
|
||||
|
||||
override fun release() {
|
||||
|
||||
Reference in New Issue
Block a user