diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/ResourcesUtils.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/ResourcesUtils.kt index 491022c562..fdc1c8bc9a 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/ResourcesUtils.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/utils/ResourcesUtils.kt @@ -19,7 +19,7 @@ object ResourcesUtils { @JvmStatic fun getString(@StringRes id: Int, vararg formatArgs:String): String { - return AbsMogoApplication.getApp().getString(id,formatArgs) + return AbsMogoApplication.getApp().getString(id,*formatArgs) } } diff --git a/OCH/shuttle/driver_weaknet/schemas/com.mogo.och.weaknet.database.MyDataBase/1.json b/OCH/shuttle/driver_weaknet/schemas/com.mogo.och.weaknet.database.MyDataBase/1.json index 26e2dccd53..32b95accfd 100644 --- a/OCH/shuttle/driver_weaknet/schemas/com.mogo.och.weaknet.database.MyDataBase/1.json +++ b/OCH/shuttle/driver_weaknet/schemas/com.mogo.och.weaknet.database.MyDataBase/1.json @@ -2,7 +2,7 @@ "formatVersion": 1, "database": { "version": 1, - "identityHash": "09d7e5149c9755201cd38ff92f3b3d85", + "identityHash": "58751308e081c3bc5fd17ee6efb92778", "entities": [ { "tableName": "contrail_data_table", @@ -73,51 +73,6 @@ "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_contrail_data_table_line_id` ON `${TABLE_NAME}` (`line_id`)" }, - { - "name": "index_contrail_data_table_csv_file_url", - "unique": false, - "columnNames": [ - "csv_file_url" - ], - "orders": [], - "createSql": "CREATE INDEX IF NOT EXISTS `index_contrail_data_table_csv_file_url` ON `${TABLE_NAME}` (`csv_file_url`)" - }, - { - "name": "index_contrail_data_table_csv_file_md5", - "unique": false, - "columnNames": [ - "csv_file_md5" - ], - "orders": [], - "createSql": "CREATE INDEX IF NOT EXISTS `index_contrail_data_table_csv_file_md5` ON `${TABLE_NAME}` (`csv_file_md5`)" - }, - { - "name": "index_contrail_data_table_txt_file_url", - "unique": false, - "columnNames": [ - "txt_file_url" - ], - "orders": [], - "createSql": "CREATE INDEX IF NOT EXISTS `index_contrail_data_table_txt_file_url` ON `${TABLE_NAME}` (`txt_file_url`)" - }, - { - "name": "index_contrail_data_table_txt_file_md5", - "unique": false, - "columnNames": [ - "txt_file_md5" - ], - "orders": [], - "createSql": "CREATE INDEX IF NOT EXISTS `index_contrail_data_table_txt_file_md5` ON `${TABLE_NAME}` (`txt_file_md5`)" - }, - { - "name": "index_contrail_data_table_contrail_save_time", - "unique": false, - "columnNames": [ - "contrail_save_time" - ], - "orders": [], - "createSql": "CREATE INDEX IF NOT EXISTS `index_contrail_data_table_contrail_save_time` ON `${TABLE_NAME}` (`contrail_save_time`)" - }, { "name": "index_contrail_data_table_md5", "unique": false, @@ -132,7 +87,7 @@ }, { "tableName": "line_data_table", - "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `line_id` INTEGER, `line_name` TEXT, `line_get_time` INTEGER NOT NULL)", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `line_id` INTEGER, `line_name` TEXT, `end_station_name` TEXT, `line_get_time` INTEGER NOT NULL)", "fields": [ { "fieldPath": "id", @@ -152,6 +107,12 @@ "affinity": "TEXT", "notNull": false }, + { + "fieldPath": "endStationName", + "columnName": "end_station_name", + "affinity": "TEXT", + "notNull": false + }, { "fieldPath": "linegetTime", "columnName": "line_get_time", @@ -174,15 +135,6 @@ ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_line_data_table_line_id` ON `${TABLE_NAME}` (`line_id`)" - }, - { - "name": "index_line_data_table_line_get_time", - "unique": false, - "columnNames": [ - "line_get_time" - ], - "orders": [], - "createSql": "CREATE INDEX IF NOT EXISTS `index_line_data_table_line_get_time` ON `${TABLE_NAME}` (`line_get_time`)" } ], "foreignKeys": [] @@ -387,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, `line_name` TEXT, `site_id` INTEGER, `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)", "fields": [ { "fieldPath": "id", @@ -407,18 +359,18 @@ "affinity": "INTEGER", "notNull": false }, - { - "fieldPath": "lineName", - "columnName": "line_name", - "affinity": "TEXT", - "notNull": false - }, { "fieldPath": "siteId", "columnName": "site_id", "affinity": "INTEGER", "notNull": false }, + { + "fieldPath": "lineName", + "columnName": "line_name", + "affinity": "TEXT", + "notNull": false + }, { "fieldPath": "name", "columnName": "name", @@ -534,12 +486,84 @@ } ], "foreignKeys": [] + }, + { + "tableName": "event_data_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `event_type` TEXT, `task_id` INTEGER, `business_time` INTEGER, `write_version` INTEGER, `site_id` INTEGER, `seq` INTEGER, `event_save_time` INTEGER NOT NULL)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "eventType", + "columnName": "event_type", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "taskId", + "columnName": "task_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "businessTime", + "columnName": "business_time", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "writeVersion", + "columnName": "write_version", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "siteId", + "columnName": "site_id", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "seq", + "columnName": "seq", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "eventSaveTime", + "columnName": "event_save_time", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_event_data_table_event_save_time", + "unique": false, + "columnNames": [ + "event_save_time" + ], + "orders": [], + "createSql": "CREATE INDEX IF NOT EXISTS `index_event_data_table_event_save_time` ON `${TABLE_NAME}` (`event_save_time`)" + } + ], + "foreignKeys": [] } ], "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, '09d7e5149c9755201cd38ff92f3b3d85')" + "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '58751308e081c3bc5fd17ee6efb92778')" ] } } \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/BusRoutesResponse.java b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/BusRoutesResponse.java index 1d1d7322df..359cf4d6d7 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/BusRoutesResponse.java +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/BusRoutesResponse.java @@ -2,6 +2,16 @@ package com.mogo.och.weaknet.bean; import com.mogo.eagle.core.data.BaseData; import com.mogo.och.data.bean.BusRoutesResult; +import com.mogo.och.data.bean.BusStationBean; +import com.mogo.och.weaknet.database.bean.ContrailDataBean; +import com.mogo.och.weaknet.database.bean.SiteDataBean; +import com.mogo.och.weaknet.database.repository.ContraiRepository; +import com.mogo.och.weaknet.database.repository.SiteRepository; + +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.List; /** * 网约车小巴路线接口请求响应结果 @@ -25,4 +35,38 @@ public class BusRoutesResponse extends BaseData { "data=" + data + '}'; } + + public static void save2Db(@NotNull BusRoutesResponse data) { + List result = new ArrayList<>(); + SiteDataBean temp = null; + if (data != null && data.data != null) { + for (BusStationBean site : data.data.getSites()) { + temp = new SiteDataBean(); + temp.setSiteId((long) site.getSiteId()); + temp.setLineId((long) (data.data.getLineId())); + temp.setPlayTts(site.isPlayTts()); + temp.setGcjLat(site.getGcjLat()); + temp.setGcjLon(site.getGcjLon()); + temp.setLat(site.getLat()); + temp.setLon(site.getLon()); + temp.setName(site.getName()); + temp.setNameKr(site.getNameKr()); + temp.setSeq(site.getSeq()); + temp.setIntroduction(site.getIntroduction()); + result.add(temp); + } + SiteRepository.INSTANCE.addOrUpdate(result); + + List resultContrailDataBean = new ArrayList<>(); + ContrailDataBean tempContrailDataBean = new ContrailDataBean(); + tempContrailDataBean.setContrailSaveTime(data.data.contrailSaveTime); + tempContrailDataBean.setLineId((long) data.data.getLineId()); + tempContrailDataBean.setCsvFileMd5(data.data.csvFileMd5); + tempContrailDataBean.setCsvFileUrl(data.data.csvFileUrl); + tempContrailDataBean.setTxtFileUrl(data.data.txtFileUrl); + tempContrailDataBean.setTxtFileMd5(data.data.txtFileMd5); + resultContrailDataBean.add(tempContrailDataBean); + ContraiRepository.INSTANCE.addOrUpdate(resultContrailDataBean); + } + } } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/CarExecutableTaskResponse.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/CarExecutableTaskResponse.kt index c531a267ca..62af69aace 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/CarExecutableTaskResponse.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/CarExecutableTaskResponse.kt @@ -26,10 +26,11 @@ data class CarExecutableTaskResponse(val data: List?) : BaseData(){ val lineId:Long?, var lineName:String?, ) { - fun toDbBean(): LineDataBean { + fun toDbBean(endStationName:String?): LineDataBean { val result = LineDataBean() result.lineId = lineId result.lineName = lineName + result.endStationName = endStationName return result } } @@ -118,7 +119,8 @@ data class CarExecutableTaskResponse(val data: List?) : BaseData(){ var lineId:Long?=null dataInfo.line?.let { lineInfo-> lineId = lineInfo.lineId - lineList.add(lineInfo.toDbBean()) + val lastStation = dataInfo.siteList?.last() + lineList.add(lineInfo.toDbBean(lastStation?.name)) } dataInfo.contrail?.let { contrailInfo-> contrailList.add(contrailInfo.toDbBean(lineId)) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/MyDataBase.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/MyDataBase.kt index 7d08ee9149..09d6bcf5ca 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/MyDataBase.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/MyDataBase.kt @@ -7,11 +7,13 @@ import androidx.room.RoomDatabase import androidx.sqlite.db.SupportSQLiteOpenHelper import com.mogo.commons.AbsMogoApplication import com.mogo.och.weaknet.database.bean.ContrailDataBean +import com.mogo.och.weaknet.database.bean.EventDataBean import com.mogo.och.weaknet.database.bean.LineDataBean import com.mogo.och.weaknet.database.bean.SiteDataBean import com.mogo.och.weaknet.database.bean.TaskDataBean import com.mogo.och.weaknet.database.bean.TaskSiteDataBean import com.mogo.och.weaknet.database.dao.ContrailDataDao +import com.mogo.och.weaknet.database.dao.EventDataDao import com.mogo.och.weaknet.database.dao.LineDataDao import com.mogo.och.weaknet.database.dao.SiteDataDao import com.mogo.och.weaknet.database.dao.TaskDataDao @@ -22,7 +24,7 @@ import java.io.File //entities指定该数据库有哪些表,多张表就逗号分隔 //version指定数据库版本号,升级时需要用到 //数据库继承自RoomDatabase -@Database(entities = [ContrailDataBean::class, LineDataBean::class, SiteDataBean::class, TaskDataBean::class, TaskSiteDataBean::class], version = 1) +@Database(entities = [ContrailDataBean::class, LineDataBean::class, SiteDataBean::class, TaskDataBean::class, TaskSiteDataBean::class, EventDataBean::class], version = 1) abstract class MyDataBase : RoomDatabase() { @@ -39,6 +41,7 @@ abstract class MyDataBase : RoomDatabase() { } abstract val contrailDataDao: ContrailDataDao? + abstract val eventDataDao: EventDataDao? abstract val lineDataDao: LineDataDao? abstract val siteDataDao: SiteDataDao? abstract val taskDataDao: TaskDataDao? @@ -47,7 +50,7 @@ abstract class MyDataBase : RoomDatabase() { companion object { private const val DATABASE_NAME = "shuttle_db" val ROOT_PATH = - Environment.getExternalStorageDirectory().absolutePath + File.separator + "MLog" + File.separator + "APP_catch" + File.separator //程序外部存储跟目录 + Environment.getExternalStorageDirectory().absolutePath + File.separator + "MLog" + File.separator + "APP_cache" + File.separator //程序外部存储跟目录 val instance: MyDataBase //结合单例模式完成数据库实例创建 diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/ContrailDataBean.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/ContrailDataBean.kt index 7a5079086c..af8e6ccea6 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/ContrailDataBean.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/ContrailDataBean.kt @@ -21,31 +21,31 @@ data class ContrailDataBean( /** * csv格式的轨迹文件 */ - @ColumnInfo(name = "csv_file_url", typeAffinity = ColumnInfo.TEXT, index = true) + @ColumnInfo(name = "csv_file_url", typeAffinity = ColumnInfo.TEXT) var csvFileUrl: String? = null, /** * csv_file_url 文件的md5值 */ - @ColumnInfo(name = "csv_file_md5", typeAffinity = ColumnInfo.TEXT, index = true) + @ColumnInfo(name = "csv_file_md5", typeAffinity = ColumnInfo.TEXT) var csvFileMd5: String? = null, /** * txt格式的轨迹文件 */ - @ColumnInfo(name = "txt_file_url", typeAffinity = ColumnInfo.TEXT, index = true) + @ColumnInfo(name = "txt_file_url", typeAffinity = ColumnInfo.TEXT) var txtFileUrl: String? = null, /** * txt文件的md5 */ - @ColumnInfo(name = "txt_file_md5", typeAffinity = ColumnInfo.TEXT, index = true) + @ColumnInfo(name = "txt_file_md5", typeAffinity = ColumnInfo.TEXT) var txtFileMd5: String? = null, /** * 文件的保存时间 */ - @ColumnInfo(name = "contrail_save_time", typeAffinity = ColumnInfo.INTEGER, index = true) + @ColumnInfo(name = "contrail_save_time", typeAffinity = ColumnInfo.INTEGER) var contrailSaveTime: Long? = null, /** diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/LineDataBean.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/LineDataBean.kt index 3aa5f3cd42..6414cb34ee 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/LineDataBean.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/LineDataBean.kt @@ -22,10 +22,16 @@ data class LineDataBean( @ColumnInfo(name = "line_name", typeAffinity = ColumnInfo.TEXT) var lineName: String? = null, + /** + * 终点站名称 + */ + @ColumnInfo(name = "end_station_name", typeAffinity = ColumnInfo.TEXT) + var endStationName: String? = null, + /** * 存储此条数据时时间戳 */ - @ColumnInfo(name = "line_get_time", typeAffinity = ColumnInfo.INTEGER, index = true) + @ColumnInfo(name = "line_get_time", typeAffinity = ColumnInfo.INTEGER) val linegetTime: Long = System.currentTimeMillis(), ) { companion object { diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/TaskSiteDataBean.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/TaskSiteDataBean.kt index 901de85707..31aa5be3bc 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/TaskSiteDataBean.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/bean/TaskSiteDataBean.kt @@ -21,18 +21,18 @@ data class TaskSiteDataBean( @ColumnInfo(name = "line_id", typeAffinity = ColumnInfo.INTEGER, index = true) var lineId: Long? = null, - /** - * 线路名称 删除线路 特殊情况下要展示线路的冗余 - */ - @ColumnInfo(name = "line_name", typeAffinity = ColumnInfo.TEXT) - var lineName: String? = null, - /** * 站点id */ @ColumnInfo(name = "site_id", typeAffinity = ColumnInfo.INTEGER, index = true) var siteId: Long? = null, + /** + * 线路名称 删除线路 特殊情况下要展示线路的冗余 + */ + @ColumnInfo(name = "line_name", typeAffinity = ColumnInfo.TEXT) + var lineName: String? = null, + /** * 站点名称 */ diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/dao/EventDataDao.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/dao/EventDataDao.kt index 4c5cbedf8b..5fc13a5d42 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/dao/EventDataDao.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/dao/EventDataDao.kt @@ -14,18 +14,10 @@ interface EventDataDao { //插入数据 @Insert(onConflict = OnConflictStrategy.REPLACE) - fun insert(vararg lineDataBean: EventDataBean) + fun insert(vararg eventDataBean: EventDataBean) //删除数据 @Delete - fun delete(vararg lineDataBean: EventDataBean) - - //删除非昨天添加的数据 - @Query("DELETE FROM ${EventDataBean.evnetDataTable} WHERE event_save_time < :zeroTime") - fun deleteWeltData(zeroTime: Long = DateTimeUtil.getCurrentDateZero()): Int - - //查询当天插入的所有数据 - @Query("SELECT * FROM ${EventDataBean.evnetDataTable} WHERE event_save_time > :zeroTime") - fun loadData(zeroTime: Long = DateTimeUtil.getCurrentDateZero()): List? + fun delete(vararg eventDataBean: EventDataBean) } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/dao/TaskDataDao.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/dao/TaskDataDao.kt index a09e3c0021..a5f2790160 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/dao/TaskDataDao.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/dao/TaskDataDao.kt @@ -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.TaskDataBean import io.reactivex.Observable @@ -40,5 +41,18 @@ interface TaskDataDao { @Query("SELECT * FROM ${TaskDataBean.taskDataTable} WHERE line_id = :lineId and task_get_time > :zeroTime") fun querySitesByLineId(lineId: Long?,zeroTime:Long = DateTimeUtil.getCurrentDateZero()):List? + //查询线路对应的轨迹信息 + @Query("SELECT * FROM ${TaskDataBean.taskDataTable} WHERE task_id = :taskId") + fun queryContrailByLineId(taskId:Long): List? + + //查询线路对应的轨迹信息 只要一个结果 + fun queryTaskByTaskIdOne(taskId: Long): TaskDataBean?{ + val queryContrailByLineId = queryContrailByLineId(taskId) + return if(queryContrailByLineId.isNullOrEmpty()){ + null + }else{ + queryContrailByLineId.first() + } + } } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/ContraiRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/ContraiRepository.kt index e14d348cd1..a4c7e2351e 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/ContraiRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/ContraiRepository.kt @@ -11,28 +11,29 @@ object ContraiRepository { private var contrailDao: ContrailDataDao?=null init { - ThreadUtils.runOnUiThread { - contrailDao = MyDataBase.instance.contrailDataDao - } + contrailDao = MyDataBase.instance.contrailDataDao } fun addOrUpdate(contrailDatalist:List){ - // 校验数据个数 - contrailDao?.let { contrailDao-> - contrailDatalist.forEach { - val md5Source = it.toString() - val md5Hex = DigestUtils.md5Hex(md5Source) - val queryContrailByMd5 = contrailDao.queryContrailByMd5(md5Hex) - if(queryContrailByMd5.isNullOrEmpty()){// 没有值或者值有变化 - val needUpdate = contrailDao.queryContrailByLineIdOne(it.lineId!!) - it.md5 = md5Hex - if(needUpdate!=null){ - it.id = needUpdate.id - } - contrailDao.insert(it) - } - } + val runnable = Runnable { + // 校验数据个数 + contrailDao?.let { contrailDao-> + contrailDatalist.forEach { + val md5Source = it.toString() + val md5Hex = DigestUtils.md5Hex(md5Source) + val queryContrailByMd5 = contrailDao.queryContrailByMd5(md5Hex) + if(queryContrailByMd5.isNullOrEmpty()){// 没有值或者值有变化 + val needUpdate = contrailDao.queryContrailByLineIdOne(it.lineId!!) + it.md5 = md5Hex + if(needUpdate!=null){ + it.id = needUpdate.id + } + contrailDao.insert(it) + } + } + } } + DbThreadUtils.runInIoThread(runnable) } fun deleteByLineId(lineId: Long) { diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/EventRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/EventRepository.kt new file mode 100644 index 0000000000..5c30e3bf2d --- /dev/null +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/EventRepository.kt @@ -0,0 +1,21 @@ +package com.mogo.och.weaknet.database.repository + +import com.mogo.eagle.core.network.utils.digest.DigestUtils +import com.mogo.eagle.core.utilcode.util.ThreadUtils +import com.mogo.och.weaknet.database.MyDataBase +import com.mogo.och.weaknet.database.bean.ContrailDataBean +import com.mogo.och.weaknet.database.dao.ContrailDataDao +import com.mogo.och.weaknet.database.dao.EventDataDao + +object EventRepository { + + private var eventDataDao: EventDataDao?=null + + init { + eventDataDao = MyDataBase.instance.eventDataDao + } + + + + +} \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/LineRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/LineRepository.kt index ff770e26da..822133434b 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/LineRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/LineRepository.kt @@ -12,9 +12,7 @@ object LineRepository { private var lineDao: LineDataDao?=null init { - ThreadUtils.runOnUiThread { - lineDao = MyDataBase.instance.lineDataDao - } + lineDao = MyDataBase.instance.lineDataDao } fun cleanWeltData(){ diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/SiteRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/SiteRepository.kt index 4649142060..2e205feebb 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/SiteRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/SiteRepository.kt @@ -11,28 +11,29 @@ object SiteRepository { private var siteDataDao: SiteDataDao? = null init { - ThreadUtils.runOnUiThread { - siteDataDao = MyDataBase.instance.siteDataDao - } + siteDataDao = MyDataBase.instance.siteDataDao } fun addOrUpdate(siteDateList: List) { - siteDataDao?.let { siteDataDao -> - siteDateList.forEach { - val md5Source = it.toString() - val md5Hex = DigestUtils.md5Hex(md5Source) - val queryContrailByMd5 = siteDataDao.querySitesByMd5(md5Hex) - if (queryContrailByMd5.isNullOrEmpty()) {// 没有值或者值有变化 - val needUpdate = - siteDataDao.querySiteByLineIdAndSiteId(it.lineId!!, it.siteId!!) - it.md5 = md5Hex - if (needUpdate != null) { - it.id = needUpdate.id + val runnable = Runnable { + siteDataDao?.let { siteDataDao -> + siteDateList.forEach { + val md5Source = it.toString() + val md5Hex = DigestUtils.md5Hex(md5Source) + val queryContrailByMd5 = siteDataDao.querySitesByMd5(md5Hex) + if (queryContrailByMd5.isNullOrEmpty()) {// 没有值或者值有变化 + val needUpdate = + siteDataDao.querySiteByLineIdAndSiteId(it.lineId!!, it.siteId!!) + it.md5 = md5Hex + if (needUpdate != null) { + it.id = needUpdate.id + } + siteDataDao.insert(it) } - siteDataDao.insert(it) } } } + DbThreadUtils.runInIoThread(runnable) } fun deleteByLineId(lineId: Long) { diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/TaskRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/TaskRepository.kt index aa0ad12f11..6dd37c9fd0 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/TaskRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/TaskRepository.kt @@ -14,9 +14,7 @@ object TaskRepository { private var taskDataDao: TaskDataDao? = null init { - ThreadUtils.runOnUiThread { - taskDataDao = MyDataBase.instance.taskDataDao - } + taskDataDao = MyDataBase.instance.taskDataDao } fun addOrUpdate(serverDateList: List, lineId: Long?) { @@ -65,14 +63,18 @@ object TaskRepository { return null } - fun startTask(lineDataBean: LineDataBean, taskDataBean: TaskDataBean){ - taskDataBean.startTime = System.currentTimeMillis() - taskDataBean.status = TaskDataBean.useing + fun startTask(taskId: Long, lineId: Long,lineName:String){ + try { MyDataBase.instance.runInTransaction { - // 更新任务状态 - taskDataDao?.insert(taskDataBean) - TaskSiteRepository.startTask(lineDataBean, taskDataBean) + // 更新task状态 + taskDataDao?.queryTaskByTaskIdOne(taskId)?.let { + it.startTime = System.currentTimeMillis() + it.status = TaskDataBean.useing + // 更新任务状态 + taskDataDao?.insert(it) + } + TaskSiteRepository.startTask(taskId, lineId,lineName) } }catch (e:Exception){ if(e is DataException){ diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/TaskSiteRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/TaskSiteRepository.kt index 84abcf11da..6bfa8a6302 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/TaskSiteRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/repository/TaskSiteRepository.kt @@ -13,22 +13,20 @@ object TaskSiteRepository { private var taskSiteDataDao: TaskSiteDataDao? = null init { - ThreadUtils.runOnUiThread { - taskSiteDataDao = MyDataBase.instance.taskSiteDataDao - } + taskSiteDataDao = MyDataBase.instance.taskSiteDataDao } // 开始线路 - fun startTask(lineDataBean: LineDataBean, taskDataBean: TaskDataBean) { + fun startTask(taskId: Long, linId: Long,lineName:String) { // 获取线路的站点 - val querySites = SiteRepository.querySiteByLineId(lineDataBean.lineId!!) + val querySites = SiteRepository.querySiteByLineId(linId) if(querySites.isNullOrEmpty()){ throw DataException("没有站点数据") } val toTaskSiteDatas = TaskSiteDataBean.toTaskSiteDatas( querySites, - taskDataBean.taskId!!, - lineDataBean.lineName!! + taskId, + lineName ) // 把线路所有的站点搬迁到运行中表格中 taskSiteDataDao?.insert(*toTaskSiteDatas.toTypedArray()) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/transform/DataBaseTransform.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/transform/DataBaseTransform.kt index cafa5a735b..7bebd1c72b 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/transform/DataBaseTransform.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/database/transform/DataBaseTransform.kt @@ -33,6 +33,7 @@ class FRetryWithTime11 : Function?, ObservableSource> { @@ -118,37 +112,6 @@ object BusLineModel { } }) - -// queryBusLines(mContext!!, object : OchCommonServiceCallback { -// override fun onSuccess(data: BusQueryLinesResponse) { -// if (null == data && mBusLinesCallback != null) { -// mBusLinesCallback!!.onBusLinesChange(null) -// return -// } -// -// if (mBusLinesCallback != null) { -// mBusLinesCallback!!.onBusLinesChange(data) -// } -// -// BusQueryLinesResponse.save2Db(data) -// } -// -// override fun onError() { -// if (!NetworkUtils.isConnected(mContext)) { -// ToastUtils.showShort(mContext!!.getString(R.string.network_error_tip)) -// } else { -// ToastUtils.showShort(mContext!!.getString(R.string.request_error_tip)) -// } -// } -// -// override fun onFail(code: Int, failMsg: String) { -// if (!NetworkUtils.isConnected(mContext)) { -// ToastUtils.showShort("网络异常,请稍后重试") -// } else { -// ToastUtils.showShort("查询所有绑定路线失败:$failMsg") -// } -// } -// }) } /** @@ -158,8 +121,6 @@ object BusLineModel { */ @JvmStatic fun queryBusLineTasksById(lineId: Long, position: Int, autoRefresh: Boolean) { - - TaskRepository.queryCanUserTask(lineId) ?.transform4DataBase(TransformTask()) ?.subscribe(object : Observer> { @@ -182,42 +143,11 @@ object BusLineModel { } }) -// queryBusTaskByLineId( -// mContext!!, -// lineId.toString(), -// object : OchCommonServiceCallback { -// override fun onSuccess(data: BusQueryLineTaskResponse) { -// if (null == data && mBusLinesCallback != null) { -// mBusLinesCallback!!.onBusLineTasks(null, position, autoRefresh) -// return -// } -// -// if (mBusLinesCallback != null) { -// mBusLinesCallback!!.onBusLineTasks(data, position, autoRefresh) -// } -// BusQueryLineTaskResponse.save2Db(data,lineId) -// } -// -// override fun onError() { -// if (!NetworkUtils.isConnected(mContext)) { -// ToastUtils.showShort(mContext!!.getString(R.string.network_error_tip)) -// } else { -// ToastUtils.showShort(mContext!!.getString(R.string.request_error_tip)) -// } -// } -// -// override fun onFail(code: Int, failMsg: String) { -// if (!NetworkUtils.isConnected(mContext)) { -// ToastUtils.showShort("网络异常,请稍后重试") -// } else { -// ToastUtils.showShort("查询所有绑定路线失败:$failMsg") -// } -// } -// }) } @JvmStatic - fun commitSwitchLineId(taskId: Long, lineId: Long) { - switchLine(mContext!!, taskId, object : OchCommonServiceCallback { + fun commitSwitchLineId(taskId: Long, lineId: Long,lineName: String) { + TaskRepository.startTask(taskId,lineId, lineName) + OrderServiceManager.switchLine(mContext!!, taskId, object : OchCommonServiceCallback { override fun onSuccess(o: BusRoutesResponse) { SharedPrefsMgr.getInstance().putLong(BusSwitchLineActivity.LASTCOMMITLINEID, lineId) if (mBusLinesCallback != null) { diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt index caeb2b97ec..4efcf48220 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/OrderModel.kt @@ -380,6 +380,8 @@ object OrderModel { return } + BusRoutesResponse.save2Db(data) + if (busRoutesResult == null || busRoutesResult!!.writeVersion < data.result.writeVersion) { d(SceneConstant.M_BUS + TAG, "更新小巴路线数据: $data") updateBusStatus(data.result) @@ -827,7 +829,7 @@ object OrderModel { if (currentStationIndex < stationList!!.size - 1) { val nextStation = stationList[currentStationIndex + 1] nextStationName = nextStation.name - nextStationNameKr = nextStation.nameKr + nextStationNameKr = nextStation.nameKr?:"" nextStationPoint.longitude = nextStation.gcjLon nextStationPoint.latitude = nextStation.gcjLat } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/net/IBascApiService.java b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/net/IBascApiService.java index fd3b7a5549..ca1b62cee3 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/net/IBascApiService.java +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/net/IBascApiService.java @@ -64,26 +64,6 @@ public interface IBascApiService { @POST("/och-shuttle-cabin/api/flow/v1/driver/arrive") Observable arriveSiteStation(@Header ("appId") String appId,@Header("ticket") String ticket,@Body BusUpdateSiteStatusRequest request); - /** - * 查询车辆配置的所有路线 - * @param appId - * @param ticket - * @param sn - * @return - */ - @GET("/och-shuttle-cabin/api/business/v1/driver/bindLine/query") - Observable queryBusLines(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn); - - /** - * 查询线路的任务 - * @param appId - * @param ticket - * @param lineId 线路id - * @return - */ - @GET("/och-shuttle-cabin/api/business/v1/driver/task/query") - Observable queryBusTaskByLineId(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("lineId") String lineId); - /** * 中止任务 * @param appId diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/net/OrderServiceManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/net/OrderServiceManager.kt index 1769c7439f..85bedbf2ac 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/net/OrderServiceManager.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/net/OrderServiceManager.kt @@ -148,32 +148,6 @@ object OrderServiceManager { .transformTry() .subscribe(OchCommonSubscribeImpl(context, callback, "arriveSiteStation")) } - - @JvmStatic - fun queryBusLines(context: Context, callback: OchCommonServiceCallback?) { - mService.queryBusLines( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - SharedPrefsMgr.getInstance().sn - ) - .transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusLines")) - } - @JvmStatic - fun queryBusTaskByLineId( - context: Context, - lineId: String?, - callback: OchCommonServiceCallback? - ) { - mService.queryBusTaskByLineId( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - lineId - ) - .transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusLines")) - } - @JvmStatic fun queryBusTaskByLineId( context: Context, diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/presenter/BusLinePresenter.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/presenter/BusLinePresenter.kt index 95c764fa65..5f268b78ab 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/presenter/BusLinePresenter.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/presenter/BusLinePresenter.kt @@ -70,8 +70,8 @@ class BusLinePresenter(view: BusSwitchLineView?) : Presenter } } - fun commitSwitchLineId(taskId: Long, lineId: Long) { - BusLineModel.commitSwitchLineId(taskId, lineId) + fun commitSwitchLineId(taskId: Long, lineId: Long,lineName: String) { + BusLineModel.commitSwitchLineId(taskId, lineId, lineName) } fun removeListener() { diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/BusSwitchLineActivity.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/BusSwitchLineActivity.kt index 0c34d76e7f..fb40e23909 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/BusSwitchLineActivity.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/BusSwitchLineActivity.kt @@ -207,7 +207,7 @@ class BusSwitchLineActivity : MvpActivity //切换路线提交 if (v.id == R.id.switch_line_btn_commit) { if(mAdapter.checkLineId!=-1L&&mAdapter.checkTaskId!=-1L){ - mPresenter?.commitSwitchLineId(mAdapter.checkTaskId,mAdapter.checkLineId) + mPresenter?.commitSwitchLineId(mAdapter.checkTaskId,mAdapter.checkLineId,mAdapter.checkLineName) }else{ ToastUtils.showLong("请选择任务") } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/adapter/SwitchLineAdapter.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/adapter/SwitchLineAdapter.kt index de88da8f5d..dfa9b716f6 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/adapter/SwitchLineAdapter.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/adapter/SwitchLineAdapter.kt @@ -28,6 +28,7 @@ class SwitchLineAdapter( private var mItemClickListener: LineItemClickListener? = null var checkLineId:Long = -1 var checkTaskId:Long = -1 + var checkLineName:String = "" override fun onCreateViewHolder( parent: ViewGroup, viewType: Int @@ -66,14 +67,17 @@ class SwitchLineAdapter( if(isCheck) { checkLineId = line.lineId checkTaskId = line.taskList[position].id + checkLineName = line.name }else{ checkLineId=-1 checkTaskId=-1 + checkLineName = "" } }catch (e:Exception){ e.printStackTrace() checkLineId=-1 checkTaskId=-1 + checkLineName = "" } } })