[6.6.0]
[删除过期数据]
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
"formatVersion": 1,
|
||||
"database": {
|
||||
"version": 1,
|
||||
"identityHash": "da53315ef85c8d9609891e105a315a62",
|
||||
"identityHash": "1fb2dea0f72d7abf11cbb9928b9572c3",
|
||||
"entities": [
|
||||
{
|
||||
"tableName": "contrail_data_table",
|
||||
@@ -339,7 +339,7 @@
|
||||
},
|
||||
{
|
||||
"tableName": "used_task_data_table",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `task_id` INTEGER, `line_id` INTEGER, `site_id` INTEGER, `line_name` TEXT, `name` TEXT, `name_kr` TEXT, `seq` INTEGER, `gcj_lon` REAL, `gcj_lat` REAL, `lon` REAL, `lat` REAL, `driving_status` INTEGER, `leaving` INTEGER, `arrived_time` INTEGER, `leave_time` INTEGER, `introduction` TEXT, `is_play_tts` INTEGER)",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `task_id` INTEGER, `line_id` INTEGER, `site_id` INTEGER, `line_name` TEXT, `name` TEXT, `name_kr` TEXT, `seq` INTEGER, `gcj_lon` REAL, `gcj_lat` REAL, `lon` REAL, `lat` REAL, `driving_status` INTEGER, `leaving` INTEGER, `arrived_time` INTEGER, `leave_time` INTEGER, `introduction` TEXT, `is_play_tts` INTEGER, `event_save_time` INTEGER NOT NULL)",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
@@ -448,6 +448,12 @@
|
||||
"columnName": "is_play_tts",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "eventSaveTime",
|
||||
"columnName": "event_save_time",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
@@ -569,7 +575,7 @@
|
||||
"views": [],
|
||||
"setupQueries": [
|
||||
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
|
||||
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'da53315ef85c8d9609891e105a315a62')"
|
||||
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '1fb2dea0f72d7abf11cbb9928b9572c3')"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -5,9 +5,14 @@ import androidx.fragment.app.Fragment
|
||||
import com.alibaba.android.arouter.facade.annotation.Route
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.och.weaknet.fragment.ShuttleFragment
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.biz.provider.CommonServiceImpl
|
||||
import com.mogo.och.weaknet.database.repository.EventRepository
|
||||
import com.mogo.och.weaknet.database.repository.LineRepository
|
||||
import com.mogo.och.weaknet.database.repository.TaskRepository
|
||||
import com.mogo.och.weaknet.database.repository.TaskSiteRepository
|
||||
import com.mogo.och.weaknet.model.BusLineModel
|
||||
|
||||
/**
|
||||
@@ -19,14 +24,20 @@ import com.mogo.och.weaknet.model.BusLineModel
|
||||
class ShuttleDriverProvider : CommonServiceImpl() {
|
||||
|
||||
private val TAG = ShuttleDriverProvider::class.java.simpleName
|
||||
private var busFragment: ShuttleFragment?=null
|
||||
private var busFragment: ShuttleFragment? = null
|
||||
|
||||
override fun init(context: Context) {
|
||||
d(SceneConstant.M_TAXI + TAG, "init")
|
||||
ThreadUtils.getIoPool().submit {
|
||||
LineRepository.deleteObsoleteData()
|
||||
TaskRepository.deleteObsoleteData()
|
||||
TaskSiteRepository.deleteObsoleteData()
|
||||
EventRepository.deleteObsoleteData()
|
||||
}
|
||||
}
|
||||
|
||||
override fun getFragment(): Fragment {
|
||||
if(busFragment==null){
|
||||
if (busFragment == null) {
|
||||
busFragment = ShuttleFragment()
|
||||
}
|
||||
BusLineModel.init();
|
||||
|
||||
@@ -111,7 +111,15 @@ data class TaskSiteDataBean(
|
||||
@ColumnInfo(name = "is_play_tts", typeAffinity = ColumnInfo.INTEGER)
|
||||
var isPlayTts: Boolean? = null,
|
||||
|
||||
) {
|
||||
|
||||
/**
|
||||
* 任务保存到数据库的时间 用来第二天删除前几天的任务
|
||||
*/
|
||||
@ColumnInfo(name = "event_save_time", typeAffinity = ColumnInfo.INTEGER)
|
||||
var eventSaveTime: Long = System.currentTimeMillis(),
|
||||
|
||||
|
||||
) {
|
||||
companion object {
|
||||
/**
|
||||
* 开始任务 并把第一站置为 2 当前站
|
||||
|
||||
@@ -6,6 +6,7 @@ import androidx.room.Insert
|
||||
import androidx.room.OnConflictStrategy
|
||||
import androidx.room.Query
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.weaknet.database.bean.ContrailDataBean
|
||||
import com.mogo.och.weaknet.database.bean.EventDataBean
|
||||
import com.mogo.och.weaknet.database.bean.LineDataBean
|
||||
|
||||
@@ -20,6 +21,10 @@ interface EventDataDao {
|
||||
@Delete
|
||||
fun delete(vararg eventDataBean: EventDataBean)
|
||||
|
||||
// 删除过时数据
|
||||
@Query("DELETE FROM ${EventDataBean.evnetDataTable} WHERE event_save_time < :zeroTime")
|
||||
fun deleteObsoleteData(zeroTime: Long = DateTimeUtil.getCurrentDateZero()):Int
|
||||
|
||||
@Query("SELECT * FROM ${EventDataBean.evnetDataTable} WHERE update_status = ${EventDataBean.notUpdate} LIMIT 10 OFFSET 0")
|
||||
fun queryEventByStatusWithPage():List<EventDataBean>?
|
||||
|
||||
|
||||
@@ -19,6 +19,11 @@ interface LineDataDao {
|
||||
@Delete
|
||||
fun delete(vararg lineDataBean: LineDataBean)
|
||||
|
||||
// 删除过时数据
|
||||
@Query("DELETE FROM ${LineDataBean.lineDataTable} WHERE line_get_time < :zeroTime")
|
||||
fun deleteObsoleteData(zeroTime: Long = DateTimeUtil.getCurrentDateZero()):Int
|
||||
|
||||
|
||||
//删除非昨天添加的数据
|
||||
@Query("DELETE FROM ${LineDataBean.lineDataTable} WHERE line_get_time < :zeroTime")
|
||||
fun deleteWeltData(zeroTime: Long = DateTimeUtil.getCurrentDateZero()): Int
|
||||
|
||||
@@ -52,6 +52,11 @@ interface TaskDataDao {
|
||||
@Query("SELECT * FROM ${TaskDataBean.taskDataTable} WHERE task_id = :taskId")
|
||||
fun queryContrailByLineId(taskId:Long): List<TaskDataBean>?
|
||||
|
||||
// 删除过时数据
|
||||
@Query("DELETE FROM ${TaskDataBean.taskDataTable} WHERE task_get_time < :zeroTime")
|
||||
fun deleteObsoleteData(zeroTime: Long = DateTimeUtil.getCurrentDateZero()):Int
|
||||
|
||||
|
||||
|
||||
//查询线路对应的轨迹信息 只要一个结果
|
||||
fun queryTaskByTaskIdOne(taskId: Long): TaskDataBean?{
|
||||
|
||||
@@ -4,6 +4,7 @@ import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.OnConflictStrategy
|
||||
import androidx.room.Query
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.weaknet.database.bean.TaskSiteDataBean
|
||||
|
||||
@Dao
|
||||
@@ -25,4 +26,8 @@ interface TaskSiteDataDao {
|
||||
@Query("UPDATE ${TaskSiteDataBean.usedTaskDataTable} SET driving_status = :drivingStatusCurrent WHERE task_id = :taskId and site_id = :siteId")
|
||||
fun updateDrivingStatus(taskId: Long, siteId: Long, drivingStatusCurrent: Int)
|
||||
|
||||
// 删除过时数据
|
||||
@Query("DELETE FROM ${TaskSiteDataBean.usedTaskDataTable} WHERE event_save_time < :zeroTime")
|
||||
fun deleteObsoleteData(zeroTime: Long = DateTimeUtil.getCurrentDateZero()):Int
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.mogo.och.weaknet.database.repository
|
||||
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.weaknet.database.MyDataBase
|
||||
import com.mogo.och.weaknet.database.bean.EventDataBean
|
||||
@@ -79,6 +80,12 @@ object EventRepository {
|
||||
eventDataDao?.insert(*waitUpdateEvent.toTypedArray())
|
||||
}
|
||||
|
||||
fun deleteObsoleteData(){
|
||||
eventDataDao?.deleteObsoleteData()?.let {
|
||||
OchChainLogManager.writeChainLogDb("删除临时数据","Event删除数量:${it}")
|
||||
}
|
||||
}
|
||||
|
||||
interface EventCallback {
|
||||
fun notifySyn()
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.mogo.och.weaknet.database.repository
|
||||
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.mogo.och.weaknet.database.MyDataBase
|
||||
import com.mogo.och.weaknet.database.bean.LineDataBean
|
||||
import com.mogo.och.weaknet.database.dao.LineDataDao
|
||||
@@ -72,4 +73,11 @@ object LineRepository {
|
||||
DbThreadUtils.runInIoThread(runable)
|
||||
}
|
||||
|
||||
fun deleteObsoleteData(){
|
||||
lineDao?.deleteObsoleteData()?.let {
|
||||
OchChainLogManager.writeChainLogDb("删除临时数据","Line删除数量:${it}")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.mogo.och.weaknet.database.repository
|
||||
|
||||
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.mogo.och.weaknet.database.MyDataBase
|
||||
import com.mogo.och.weaknet.database.bean.TaskDataBean
|
||||
import com.mogo.och.weaknet.database.dao.TaskDataDao
|
||||
@@ -109,6 +110,13 @@ object TaskRepository {
|
||||
}
|
||||
}
|
||||
|
||||
fun deleteObsoleteData(){
|
||||
taskDataDao?.deleteObsoleteData()?.let {
|
||||
OchChainLogManager.writeChainLogDb("删除临时数据","Task删除数量:${it}")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
interface TaskStatusCallback{
|
||||
fun startSuccess()
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.mogo.och.weaknet.database.repository
|
||||
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.mogo.och.weaknet.database.MyDataBase
|
||||
import com.mogo.och.weaknet.database.bean.TaskSiteDataBean
|
||||
import com.mogo.och.weaknet.database.dao.TaskSiteDataDao
|
||||
@@ -64,4 +65,11 @@ object TaskSiteRepository {
|
||||
return taskSiteDataDao?.queryRunningTask(taskId)
|
||||
}
|
||||
|
||||
fun deleteObsoleteData(){
|
||||
taskSiteDataDao?.deleteObsoleteData()?.let {
|
||||
OchChainLogManager.writeChainLogDb("删除临时数据","rurnning Task删除数量:${it}")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -145,6 +145,7 @@ object BusLineModel {
|
||||
|
||||
override fun onError() {
|
||||
isRequesting.set(false)
|
||||
BizLoopManager.postDelayed(loopQueryInfo,60_000)
|
||||
if(!isBackground){
|
||||
if (!NetworkUtils.isConnected(mContext)) {
|
||||
ToastUtils.showShort(ResourcesUtils.getString(R.string.network_error_tip));
|
||||
@@ -152,11 +153,11 @@ object BusLineModel {
|
||||
ToastUtils.showShort(ResourcesUtils.getString(R.string.request_error_tip));
|
||||
}
|
||||
}
|
||||
BizLoopManager.postDelayed(loopQueryInfo,60_000)
|
||||
}
|
||||
|
||||
override fun onFail(code: Int, failMsg: String) {
|
||||
isRequesting.set(false)
|
||||
BizLoopManager.postDelayed(loopQueryInfo,60_000)
|
||||
if(!isBackground){
|
||||
if (!NetworkUtils.isConnected(mContext)) {
|
||||
ToastUtils.showShort("网络异常,请稍后重试");
|
||||
@@ -164,7 +165,7 @@ object BusLineModel {
|
||||
ToastUtils.showShort(failMsg);
|
||||
}
|
||||
}
|
||||
BizLoopManager.postDelayed(loopQueryInfo,60_000)
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -266,6 +267,8 @@ object BusLineModel {
|
||||
if (runningTaskInfo.isNullOrEmpty()) {
|
||||
// 本地没有进行中的任务
|
||||
// todo: 尝试加载远程数据
|
||||
CallerLogger.d(TAG,"没有查询到正在运行的任务")
|
||||
loadServerRuningTask()
|
||||
} else if (runningTaskInfo.size > 1) {
|
||||
// 本地有多条正在进行的任务 需要check event
|
||||
// TODO:1 比对event表 1 清理错误数据 2 加载后台数据
|
||||
@@ -292,6 +295,34 @@ object BusLineModel {
|
||||
}
|
||||
}
|
||||
|
||||
private fun loadServerRuningTask() {
|
||||
mContext?.let {
|
||||
OrderServiceManager.queryBusRoutes(it,object :OchCommonServiceCallback<BusRoutesResponse>{
|
||||
override fun onSuccess(data: BusRoutesResponse?) {
|
||||
data?.result?.let {
|
||||
it.sites
|
||||
}
|
||||
}
|
||||
|
||||
override fun onError() {
|
||||
if (!NetworkUtils.isConnected(mContext)) {
|
||||
ToastUtils.showShort(ResourcesUtils.getString(R.string.network_error_tip));
|
||||
} else {
|
||||
ToastUtils.showShort(ResourcesUtils.getString(R.string.request_error_tip));
|
||||
}
|
||||
}
|
||||
|
||||
override fun onFail(code: Int, msg: String?) {
|
||||
if (!NetworkUtils.isConnected(mContext)) {
|
||||
ToastUtils.showShort("网络异常,请稍后重试");
|
||||
}else {
|
||||
ToastUtils.showShort(msg);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// 滑动出发
|
||||
fun leaveStation(){
|
||||
//开始站点: leaving false->true
|
||||
|
||||
Reference in New Issue
Block a user