[fea]
[找回saas 到站播放站点视频]
This commit is contained in:
yangyakun
2024-10-31 20:03:01 +08:00
parent 7c1ca46ea7
commit 68b0e2f97a
13 changed files with 807 additions and 33 deletions

View File

@@ -1,10 +1,13 @@
package com.mogo.och.weaknet.bean.response
import com.google.gson.reflect.TypeToken
import com.mogo.eagle.core.data.BaseData
import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.och.common.module.manager.autopilot.line.LineManager
import com.mogo.och.data.bean.BusRoutesResult
import com.mogo.och.data.bean.BusStationBean
import com.mogo.och.data.bean.LineInfo
import com.mogo.och.data.bean.SiteIntroduce
import com.mogo.och.weaknet.model.LineModel
import com.mogo.och.weaknet.repository.db.bean.TaskSiteDataBean
import com.mogo.och.weaknet.repository.db.repository.TaskSiteDb
@@ -50,6 +53,13 @@ class BusRoutesResponse : BaseData() {
temp?.isPlayTts = Boolean.TRUE == taskAndsite.isPlayTts
temp?.seq = (taskAndsite.seq ?: 0)
temp?.siteId = if (taskAndsite.siteId == null) 0 else taskAndsite.siteId!!.toInt()
if(!taskAndsite.videoList.isNullOrEmpty()){
val list = GsonUtils.fromJson<List<SiteIntroduce>>(
taskAndsite.videoList,
object : TypeToken<List<SiteIntroduce?>?>() {}.type
)
temp?.videoList = list.toMutableList()
}
result.add(temp!!)
// 正在进行中的任务
if (temp!!.drivingStatus == TaskSiteDataBean.drivingStatusCurrent) {
@@ -84,6 +94,7 @@ class BusRoutesResponse : BaseData() {
temp.leaving = it.isLeaving
temp.introduction = it.introduction
temp.isPlayTts = it.isPlayTts
temp.videoList = GsonUtils.toJson(it.videoList)
runnintTaskAndSites.add(temp)
}
TaskSiteDb.addOrUpdate(*runnintTaskAndSites.toTypedArray())

View File

@@ -1,6 +1,8 @@
package com.mogo.och.weaknet.bean.response
import com.mogo.eagle.core.data.BaseData
import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.och.data.bean.SiteIntroduce
import com.mogo.och.weaknet.repository.db.bean.ContrailDataBean
import com.mogo.och.weaknet.repository.db.bean.LineDataBean
import com.mogo.och.weaknet.repository.db.bean.SiteDataBean
@@ -67,6 +69,13 @@ data class CarExecutableTaskResponse(val data: List<Result>?) : BaseData(){
dataInfo.siteList?.let {siteListInfo->
siteListInfo.forEach {
it.lineId = lineId
val videoInfoList = mutableListOf<SiteIntroduce>()
it.videoList?.forEach { videoInfoIt->
videoInfoList.add(videoInfoIt)
}
if(videoInfoList.isNotEmpty()) {
it.videoListDB = GsonUtils.toJson(videoInfoList)
}
}
siteList.addAll(siteListInfo)
}

View File

@@ -30,7 +30,7 @@ import java.io.File
//entities指定该数据库有哪些表多张表就逗号分隔
//version指定数据库版本号升级时需要用到
//数据库继承自RoomDatabase
@Database(entities = [ContrailDataBean::class, LineDataBean::class, SiteDataBean::class, TaskDataBean::class, TaskSiteDataBean::class, EventDataBean::class], version = 2)
@Database(entities = [ContrailDataBean::class, LineDataBean::class, SiteDataBean::class, TaskDataBean::class, TaskSiteDataBean::class, EventDataBean::class], version = 3)
abstract class MyDataBase : RoomDatabase() {
override fun getOpenHelper(): SupportSQLiteOpenHelper {
@@ -86,6 +86,7 @@ abstract class MyDataBase : RoomDatabase() {
AbsMogoApplication.getApp()!!.applicationContext, MyDataBase::class.java, ROOT_PATH+roomName
)
.addMigrations(Migration1_2(1,2))
.addMigrations(Migration2_3(2,3))
.build()
}
val ROOT_PATH = Environment.getExternalStorageDirectory().absolutePath + File.separator + "Mogo" + File.separator + "APP_cache" + File.separator //程序外部存储跟目录
@@ -104,4 +105,10 @@ abstract class MyDataBase : RoomDatabase() {
database.execSQL("ALTER TABLE ${EventDataBean.evnetDataTable} ADD COLUMN driver_id INTEGER");
}
}
class Migration2_3(val startVersion:Int,val endVersion:Int): Migration(startVersion,endVersion) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL("ALTER TABLE ${SiteDataBean.siteDataTable} ADD COLUMN videoList TEXT");
database.execSQL("ALTER TABLE ${TaskSiteDataBean.usedTaskDataTable} ADD COLUMN videoList TEXT");
}
}
}

View File

@@ -2,7 +2,9 @@ package com.mogo.och.weaknet.repository.db.bean
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.Ignore
import androidx.room.PrimaryKey
import com.mogo.och.data.bean.SiteIntroduce
@Entity(tableName = SiteDataBean.siteDataTable)
data class SiteDataBean(
@@ -77,14 +79,24 @@ data class SiteDataBean(
* 除id 外其他值做的md5
*/
@ColumnInfo(name = "md5", typeAffinity = ColumnInfo.TEXT)
var md5: String? = null
var md5: String? = null,
/**
* 站点视频
*/
@ColumnInfo(name = "videoList", typeAffinity = ColumnInfo.TEXT)
var videoListDB: String? = null,
@Ignore
var videoList:MutableList<SiteIntroduce>?=null
) {
companion object {
const val siteDataTable = "site_data_table"
const val mediaTypeVideo = 1
}
override fun toString(): String {
return "SiteDataBean(siteId=$siteId, lineId=$lineId, name=$name, nameKr=$nameKr, seq=$seq, gcjLon=$gcjLon, gcjLat=$gcjLat, lon=$lon, lat=$lat, introduction=$introduction, isPlayTts=$isPlayTts)"
return "SiteDataBean(siteId=$siteId, lineId=$lineId, name=$name, nameKr=$nameKr, seq=$seq, gcjLon=$gcjLon, gcjLat=$gcjLat, lon=$lon, lat=$lat, introduction=$introduction, isPlayTts=$isPlayTts, videoList=$videoListDB)"
}

View File

@@ -118,6 +118,11 @@ data class TaskSiteDataBean(
@ColumnInfo(name = "event_save_time", typeAffinity = ColumnInfo.INTEGER)
var eventSaveTime: Long = System.currentTimeMillis(),
/**
* 站点视频
*/
@ColumnInfo(name = "videoList", typeAffinity = ColumnInfo.TEXT)
var videoList: String? = null,
) {
companion object {
@@ -148,6 +153,7 @@ data class TaskSiteDataBean(
temp?.leaving = false
temp?.introduction = it.introduction
temp?.isPlayTts = it.isPlayTts
temp?.videoList = it.videoListDB
result.add(temp!!)
}
return result