[6.8.0]
[fea] [核销次数查询和展示]
This commit is contained in:
@@ -68,13 +68,13 @@ object TicketModel {
|
|||||||
if(passenger==null||passenger.passengerSize==0){
|
if(passenger==null||passenger.passengerSize==0){
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
RepositoryManager.saveWriteOff4Socket(passenger)
|
||||||
writeOffSuccess(
|
writeOffSuccess(
|
||||||
passenger.passengerSize,
|
passenger.passengerSize,
|
||||||
passenger.phone ?: "",
|
passenger.phone ?: "",
|
||||||
passenger.ticketName?:"",
|
passenger.ticketName?:"",
|
||||||
0
|
0
|
||||||
)
|
)
|
||||||
TODO("服务器端核销需要在本地报备一下 用于计算数据")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -110,29 +110,42 @@ object TicketModel {
|
|||||||
private fun selectWriteOffCount(){
|
private fun selectWriteOffCount(){
|
||||||
LineManager.getStations().first?.let { firstStation->
|
LineManager.getStations().first?.let { firstStation->
|
||||||
LineModel.currentTask?.let { currentTask->
|
LineModel.currentTask?.let { currentTask->
|
||||||
RepositoryManager.queryWriteoffCount(
|
val queryWriteoffCount = RepositoryManager.queryWriteoffCount(
|
||||||
AbsMogoApplication.getApp(),
|
AbsMogoApplication.getApp(),
|
||||||
currentTask.taskId?:0L,
|
currentTask.taskId ?: 0L,
|
||||||
firstStation.siteId.toLong(),
|
firstStation.siteId.toLong()
|
||||||
object : OchCommonServiceCallback<WriteOffCountResponse> {
|
)
|
||||||
override fun onSuccess(data: WriteOffCountResponse?) {
|
if(queryWriteoffCount!=null){
|
||||||
data?.let {
|
queryWriteoffCount.subscribe(
|
||||||
val count = if(it.data==null){
|
object : Observer<Int> {
|
||||||
0
|
override fun onSubscribe(d: Disposable) {
|
||||||
}else{
|
|
||||||
it.data
|
|
||||||
}
|
|
||||||
emitterMain?.onNext(Pair<Int,Int>(firstStation.siteId,count))
|
|
||||||
d(SceneConstant.M_BUS + TAG, "${firstStation.name}核销人数:${count}")
|
|
||||||
OchChainLogManager.writeChainLog("核销人数","任务:${currentTask.taskId} zhan'dian")
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
override fun onFail(code: Int, msg: String?) {
|
override fun onError(e: Throwable) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onComplete() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onNext(count: Int) {
|
||||||
|
emitterMain?.onNext(Pair<Int, Int>(firstStation.siteId, count))
|
||||||
|
d(
|
||||||
|
SceneConstant.M_BUS + TAG,
|
||||||
|
"${firstStation.name}核销人数:${count}"
|
||||||
|
)
|
||||||
|
OchChainLogManager.writeChainLog(
|
||||||
|
"核销人数",
|
||||||
|
"任务:${currentTask.taskId} zhan'dian"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
)
|
||||||
return
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,12 +7,13 @@ import com.mogo.eagle.core.data.BaseData
|
|||||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||||
|
import com.mogo.och.common.module.manager.loop.BizLoopManager
|
||||||
import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDetialMsg
|
import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDetialMsg
|
||||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||||
import com.mogo.och.weaknet.bean.WaitUploadLine
|
import com.mogo.och.weaknet.bean.WaitUploadLine
|
||||||
|
import com.mogo.och.weaknet.bean.WriteOffPassenger
|
||||||
import com.mogo.och.weaknet.bean.request.ShuttleEventRequest
|
import com.mogo.och.weaknet.bean.request.ShuttleEventRequest
|
||||||
import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse
|
import com.mogo.och.weaknet.bean.response.CarExecutableTaskResponse
|
||||||
import com.mogo.och.weaknet.bean.response.WriteOffCountResponse
|
|
||||||
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.bean.TaskDataBean
|
import com.mogo.och.weaknet.repository.db.bean.TaskDataBean
|
||||||
@@ -179,8 +180,8 @@ object RepositoryManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun queryWriteoffCount(context: Context, taskId: Long, siteId: Long, callback: OchCommonServiceCallback<WriteOffCountResponse>?){
|
fun queryWriteoffCount(context: Context, taskId: Long, siteId: Long): Observable<Int>? {
|
||||||
writeOffRepository?.queryWriteoffCount(context,taskId,siteId,callback)
|
return writeOffRepository?.queryWriteoffCount(context,taskId,siteId)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun writeOff(writeOffDetialMsg: WriteOffDetialMsg): Observable<PassengerWriteOffResponse.Result>? {
|
fun writeOff(writeOffDetialMsg: WriteOffDetialMsg): Observable<PassengerWriteOffResponse.Result>? {
|
||||||
@@ -196,6 +197,15 @@ object RepositoryManager {
|
|||||||
return writeOffRepository?.canCanEndTask(taskId)?:true
|
return writeOffRepository?.canCanEndTask(taskId)?:true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 安全员小程序核销成功的用户计数用
|
||||||
|
*/
|
||||||
|
fun saveWriteOff4Socket(passenger: WriteOffPassenger) {
|
||||||
|
BizLoopManager.runInIoThread{
|
||||||
|
writeOffRepository?.writeOffEvent4Socket(passenger)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun closeDb() {
|
fun closeDb() {
|
||||||
if (supportDb()) {
|
if (supportDb()) {
|
||||||
MyDataBase.instance?.close()
|
MyDataBase.instance?.close()
|
||||||
|
|||||||
@@ -19,6 +19,11 @@ interface WriteOffDataDao {
|
|||||||
@Delete
|
@Delete
|
||||||
fun delete(vararg eventDataBean: WriteOffDataBean)
|
fun delete(vararg eventDataBean: WriteOffDataBean)
|
||||||
|
|
||||||
|
// 删除过时数据
|
||||||
|
@Query("DELETE FROM ${WriteOffDataBean.writeoffDataTable} WHERE event_save_time < :zeroTime")
|
||||||
|
fun deleteObsoleteData(zeroTime: Long = DateTimeUtil.getCurrentDateZero()):Int
|
||||||
|
|
||||||
|
|
||||||
@Query("SELECT * FROM ${WriteOffDataBean.writeoffDataTable} WHERE event_save_time > :zeroTime and order_no = :orderNo order by event_save_time")
|
@Query("SELECT * FROM ${WriteOffDataBean.writeoffDataTable} WHERE event_save_time > :zeroTime and order_no = :orderNo order by event_save_time")
|
||||||
fun queryWriteOffByOrderNo(zeroTime: Long = DateTimeUtil.getCurrentDateZero(),orderNo:String): List<WriteOffDataBean>?
|
fun queryWriteOffByOrderNo(zeroTime: Long = DateTimeUtil.getCurrentDateZero(),orderNo:String): List<WriteOffDataBean>?
|
||||||
|
|
||||||
@@ -28,5 +33,8 @@ interface WriteOffDataDao {
|
|||||||
@Query("SELECT * FROM ${WriteOffDataBean.writeoffDataTable} WHERE update_status = ${WriteOffDataBean.notUpdate} LIMIT 10 OFFSET 0")
|
@Query("SELECT * FROM ${WriteOffDataBean.writeoffDataTable} WHERE update_status = ${WriteOffDataBean.notUpdate} LIMIT 10 OFFSET 0")
|
||||||
fun queryWriteOffEventByStatusWithPage():List<WriteOffDataBean>?
|
fun queryWriteOffEventByStatusWithPage():List<WriteOffDataBean>?
|
||||||
|
|
||||||
|
@Query("SELECT * FROM ${WriteOffDataBean.writeoffDataTable} WHERE event_save_time > :zeroTime and task_id = :taskId and site_id = :siteId")
|
||||||
|
fun queryWriteOffByTaskAndSiteId(taskId: Long, siteId: Long,zeroTime: Long = DateTimeUtil.getCurrentDateZero()):List<WriteOffDataBean>?
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
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.weaknet.model.EventModel
|
import com.mogo.och.weaknet.model.EventModel
|
||||||
import com.mogo.och.weaknet.repository.db.IDbRepository
|
import com.mogo.och.weaknet.repository.db.IDbRepository
|
||||||
import com.mogo.och.weaknet.repository.db.MyDataBase
|
import com.mogo.och.weaknet.repository.db.MyDataBase
|
||||||
@@ -50,5 +51,15 @@ object WriteOffDb: IDbRepository {
|
|||||||
return queryWriteOffByOrderNo?.size?:0
|
return queryWriteOffByOrderNo?.size?:0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun queryWriteOffByTaskAndSiteId(taskId: Long, siteId: Long): List<WriteOffDataBean>? {
|
||||||
|
return writeOffDataDao?.queryWriteOffByTaskAndSiteId(taskId,siteId)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun deleteObsoleteData() {
|
||||||
|
writeOffDataDao?.deleteObsoleteData()?.let {
|
||||||
|
OchChainLogManager.writeChainLogDb("删除临时数据", "WriteOff删除数量:${it}")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -47,22 +47,6 @@ object SaasBusServiceManager: NetInterface {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 只发生在大理和saas环境 查询当前站点核销的人数
|
|
||||||
*/
|
|
||||||
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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 同步 线路、站点、任务、自驾轨迹信息
|
* 同步 线路、站点、任务、自驾轨迹信息
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -4,13 +4,14 @@ import android.content.Context
|
|||||||
import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDetialMsg
|
import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDetialMsg
|
||||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||||
import com.mogo.och.weaknet.bean.WaitUploadLine
|
import com.mogo.och.weaknet.bean.WaitUploadLine
|
||||||
|
import com.mogo.och.weaknet.bean.WriteOffPassenger
|
||||||
import com.mogo.och.weaknet.bean.response.WriteOffCountResponse
|
import com.mogo.och.weaknet.bean.response.WriteOffCountResponse
|
||||||
import com.mogo.och.weaknet.repository.net.bean.response.PassengerWriteOffResponse
|
import com.mogo.och.weaknet.repository.net.bean.response.PassengerWriteOffResponse
|
||||||
import io.reactivex.Observable
|
import io.reactivex.Observable
|
||||||
|
|
||||||
interface IWriteOffRepository {
|
interface IWriteOffRepository {
|
||||||
|
|
||||||
fun queryWriteoffCount(context: Context, taskId: Long, siteId: Long, callback: OchCommonServiceCallback<WriteOffCountResponse>?): Observable<Int>?
|
fun queryWriteoffCount(context: Context, taskId: Long, siteId: Long): Observable<Int>?
|
||||||
|
|
||||||
fun writeOffEvent(writeOffDetialMsg: WriteOffDetialMsg): Observable<PassengerWriteOffResponse.Result>?
|
fun writeOffEvent(writeOffDetialMsg: WriteOffDetialMsg): Observable<PassengerWriteOffResponse.Result>?
|
||||||
|
|
||||||
@@ -21,5 +22,8 @@ interface IWriteOffRepository {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun queryWaitUploadData(): Observable<MutableList<WaitUploadLine>>?
|
fun queryWaitUploadData(): Observable<MutableList<WaitUploadLine>>?
|
||||||
|
fun writeOffEvent4Socket(passenger: WriteOffPassenger) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -11,11 +11,10 @@ import com.mogo.och.common.module.biz.login.LoginStatusManager
|
|||||||
import com.mogo.och.common.module.manager.autopilot.line.LineManager
|
import com.mogo.och.common.module.manager.autopilot.line.LineManager
|
||||||
import com.mogo.och.common.module.manager.cache.OchSPManager
|
import com.mogo.och.common.module.manager.cache.OchSPManager
|
||||||
import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDetialMsg
|
import com.mogo.och.common.module.manager.socket.lan.bean.WriteOffDetialMsg
|
||||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
|
||||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||||
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.bean.response.WriteOffCountResponse
|
import com.mogo.och.weaknet.bean.WriteOffPassenger
|
||||||
import com.mogo.och.weaknet.model.LineModel
|
import com.mogo.och.weaknet.model.LineModel
|
||||||
import com.mogo.och.weaknet.repository.db.bean.WriteOffDataBean
|
import com.mogo.och.weaknet.repository.db.bean.WriteOffDataBean
|
||||||
import com.mogo.och.weaknet.repository.db.repository.EventDb
|
import com.mogo.och.weaknet.repository.db.repository.EventDb
|
||||||
@@ -64,10 +63,13 @@ class WriteOffCacheRepository : IWriteOffRepository {
|
|||||||
override fun queryWriteoffCount(
|
override fun queryWriteoffCount(
|
||||||
context: Context,
|
context: Context,
|
||||||
taskId: Long,
|
taskId: Long,
|
||||||
siteId: Long,
|
siteId: Long
|
||||||
callback: OchCommonServiceCallback<WriteOffCountResponse>?
|
|
||||||
): Observable<Int>? {
|
): Observable<Int>? {
|
||||||
TODO("本地计算核销数量 数据来源有两个地方 1、本地数据库计算 + 2、服务器核销")
|
val queryWriteOffByTaskAndSiteId = WriteOffDb.queryWriteOffByTaskAndSiteId(taskId, siteId)
|
||||||
|
return Observable.just(queryWriteOffByTaskAndSiteId)
|
||||||
|
.flatMap {
|
||||||
|
return@flatMap Observable.just(it?.size ?:0)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun writeOffEvent(writeOffDetialMsg: WriteOffDetialMsg): Observable<PassengerWriteOffResponse.Result>? {
|
override fun writeOffEvent(writeOffDetialMsg: WriteOffDetialMsg): Observable<PassengerWriteOffResponse.Result>? {
|
||||||
@@ -212,6 +214,29 @@ class WriteOffCacheRepository : IWriteOffRepository {
|
|||||||
?.observeOn(AndroidSchedulers.mainThread())
|
?.observeOn(AndroidSchedulers.mainThread())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun writeOffEvent4Socket(passenger: WriteOffPassenger) {
|
||||||
|
val addWrite = WriteOffDataBean()
|
||||||
|
//addWrite.expiryTime = it.expiryTime
|
||||||
|
//addWrite.bookingTime = it.bookingTime
|
||||||
|
//addWrite.type = it.type
|
||||||
|
addWrite.taskId = LineModel.currentTask?.taskId
|
||||||
|
LineManager.getStationsWithLine { start, end, lineInfo ->
|
||||||
|
addWrite.siteId = start.siteId.toLong()
|
||||||
|
addWrite.lineId = lineInfo.lineId
|
||||||
|
}
|
||||||
|
//addWrite.availableTimes = it.availableTimes
|
||||||
|
addWrite.orderNo = passenger.orderNo
|
||||||
|
//addWrite.uid = it.uid
|
||||||
|
addWrite.phone = passenger.phone
|
||||||
|
addWrite.ticketSize = passenger.passengerSize
|
||||||
|
addWrite.ticketName = passenger.ticketName
|
||||||
|
//addWrite.msgId = OchSPManager.getSn()+System.currentTimeMillis()
|
||||||
|
addWrite.driverId = LoginStatusManager.getLoginInfo()?.driverId?:0
|
||||||
|
//addWrite.businessTime = System.currentTimeMillis()
|
||||||
|
addWrite.updateStatus = WriteOffDataBean.updated
|
||||||
|
WriteOffDb.addOrUpdate(addWrite)
|
||||||
|
}
|
||||||
|
|
||||||
override fun release() {
|
override fun release() {
|
||||||
weakNetInterface = null
|
weakNetInterface = null
|
||||||
CallerLogger.d(TAG,"重置 weakNetInterface")
|
CallerLogger.d(TAG,"重置 weakNetInterface")
|
||||||
|
|||||||
@@ -62,7 +62,6 @@ class WriteOffNormallRepository: IWriteOffRepository {
|
|||||||
context: Context,
|
context: Context,
|
||||||
taskId: Long,
|
taskId: Long,
|
||||||
siteId: Long,
|
siteId: Long,
|
||||||
callback: OchCommonServiceCallback<WriteOffCountResponse>?
|
|
||||||
): Observable<Int>? {
|
): Observable<Int>? {
|
||||||
return normalNetInterface?.writeOffCount(context,taskId,siteId)
|
return normalNetInterface?.writeOffCount(context,taskId,siteId)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user