diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt
index d1f32f7487..4943a79453 100644
--- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt
+++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt
@@ -167,11 +167,11 @@ class LoginProvider : LoginService {
}
CallerEagleBaseFunctionCall4OchManager.setOchLoginNo(loginInfo.phone)
- CallerEagleBaseFunctionCall4OchManager.setOchCarModel(Carmodel.getCarModelFromServerName(loginInfo.carModel))
+ CallerEagleBaseFunctionCall4OchManager.setOchCarModel(Carmodel.getCarModelFromServerName(loginInfo.carModel,loginInfo.tenantId))
CallerEagleBaseFunctionCall4OchManager.setOchPlateNumber(loginInfo.plateNumber)
CallerEagleBaseFunctionCall4OchManager.updateTenantId(loginInfo.tenantId)
- val carModel = Carmodel.getCarModelFromServerName(LoginStatusManager.getLoginInfo()?.carModel)
+ val carModel = Carmodel.getCarModelFromServerName(LoginStatusManager.getLoginInfo()?.carModel,loginInfo.tenantId)
if(this.carModel!=carModel){
this.carModel = carModel
LoginStatusManager.invokeCarModelChange(this.carModel)
diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/LoadingMapStatusView.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/LoadingMapStatusView.kt
index 49d04b9695..a065605df8 100644
--- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/LoadingMapStatusView.kt
+++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/LoadingMapStatusView.kt
@@ -22,6 +22,7 @@ import com.mogo.och.common.module.biz.login.ILoginCallback
import com.mogo.och.common.module.biz.login.LoginStatusManager
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import kotlinx.android.synthetic.main.common_loading_map.view.aciv_loading_map
+import me.jessyan.autosize.utils.AutoSizeUtils
class LoadingMapStatusView @JvmOverloads constructor(
context: Context,
@@ -36,6 +37,7 @@ class LoadingMapStatusView @JvmOverloads constructor(
init {
LayoutInflater.from(context).inflate(R.layout.common_loading_map, this, true)
+ elevation = AutoSizeUtils.dp2px(context,30f).toFloat()
}
override fun onAttachedToWindow() {
@@ -64,10 +66,12 @@ class LoadingMapStatusView @JvmOverloads constructor(
// 设置地图样式
MogoMapListenerHandler.mogoMapListenerHandler.onMapModeChanged(EnumMapUI.MAP_STYLE_DAY_VR)
- val currentByteArray= SkinResources.getInstance().getRawResourceBytes(HdMapBuildConfig.currentCarVrIconRes)
- CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(currentByteArray,true)
+// val currentByteArray= SkinResources.getInstance().getRawResourceBytes(HdMapBuildConfig.currentCarVrIconRes)
+// CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(currentByteArray,true)
- OchChainLogManager.writeChainLog("模型加载","加载地图成功、并切换模型,${LoginStatusManager.getLoginInfo()}")
+// OchChainLogManager.writeChainLog("模型加载","加载地图成功、并切换模型,${LoginStatusManager.getLoginInfo()}")
+
+ CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(HdMapBuildConfig.currentCarVrIconRes)
UiThreadHandler.postDelayed({ visibility = GONE },2_000,UiThreadHandler.MODE.QUEUE)
}
@@ -84,11 +88,17 @@ class LoadingMapStatusView @JvmOverloads constructor(
Log.d(TAG,"onCarModelChange")
OchChainLogManager.writeChainLog("模型加载","模型修改${currentStatus}")
if(HdMapBuildConfig.isMapLoaded){
- var currentByteArray= SkinResources.getInstance().getRawResourceBytes(HdMapBuildConfig.currentCarVrIconRes)
+// var currentByteArray= SkinResources.getInstance().getRawResourceBytes(HdMapBuildConfig.currentCarVrIconRes)
+// if (currentStatus!=null) {
+// currentByteArray= SkinResources.getInstance().getRawResourceBytes(currentStatus.rawValue)
+// }
+// CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(currentByteArray,true)
+
+ var currentByteArray= HdMapBuildConfig.currentCarVrIconRes
if (currentStatus!=null) {
- currentByteArray= SkinResources.getInstance().getRawResourceBytes(currentStatus.rawValue)
+ currentByteArray= currentStatus.rawValue
}
- CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(currentByteArray,true)
+ CallerMapUIServiceManager.getMapUIController()?.changeCurrentIcon(currentByteArray)
}else{
HdMapBuildConfig.currentCarVrIconRes = currentStatus?.rawValue?:Carmodel.B1.rawValue
}
diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/commonview/ErrorView.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/commonview/ErrorView.kt
new file mode 100644
index 0000000000..2a6eb669fb
--- /dev/null
+++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/commonview/ErrorView.kt
@@ -0,0 +1,64 @@
+package com.mogo.och.common.module.wigets.commonview
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.LayoutInflater
+import androidx.constraintlayout.widget.ConstraintLayout
+import com.mogo.eagle.core.utilcode.kotlin.onClick
+import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
+import com.mogo.map.listener.IMogoMapListener
+import com.mogo.och.common.module.R
+import com.mogo.och.common.module.utils.ResourcesUtils
+import kotlinx.android.synthetic.main.common_error_view.view.tv_error_msg
+
+class ErrorView @JvmOverloads constructor(
+ context: Context,
+ attrs: AttributeSet? = null,
+ defStyleAttr: Int = 0
+) : ConstraintLayout(context, attrs, defStyleAttr),IMogoMapListener {
+ companion object {
+ const val TAG = "LoadingMapStatusView"
+ }
+
+ private var emptyTitle:String = ""
+
+ var reloadLIstener:ReloadLIstener?=null
+
+ init {
+ LayoutInflater.from(context).inflate(R.layout.common_error_view, this, true)
+ try {
+ val typedArray = context.obtainStyledAttributes(attrs, R.styleable.ErrorView)
+ emptyTitle = typedArray.getString(R.styleable.ErrorView_error_title)?:ResourcesUtils.getString(R.string.common_error_data)
+ typedArray.recycle()
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
+ tv_error_msg.text = emptyTitle
+ tv_error_msg.onClick {
+ reloadLIstener?.reload()
+ }
+ }
+
+ override fun onAttachedToWindow() {
+ super.onAttachedToWindow()
+ CallerLogger.d(TAG,"onAttachedToWindow")
+
+ }
+
+ override fun onVisibilityAggregated(isVisible: Boolean) {
+ super.onVisibilityAggregated(isVisible)
+
+ }
+
+ override fun onDetachedFromWindow() {
+ super.onDetachedFromWindow()
+ CallerLogger.d(TAG,"onDetachedFromWindow")
+ }
+
+ interface ReloadLIstener{
+ fun reload()
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/OCH/common/common/src/main/res/values/attrs.xml b/OCH/common/common/src/main/res/values/attrs.xml
index ab122895b6..cb8a13ade6 100644
--- a/OCH/common/common/src/main/res/values/attrs.xml
+++ b/OCH/common/common/src/main/res/values/attrs.xml
@@ -19,6 +19,11 @@
+
+
+
+
+
diff --git a/OCH/common/common/src/main/res/values/strings.xml b/OCH/common/common/src/main/res/values/strings.xml
index 4733549483..bfc3004bef 100644
--- a/OCH/common/common/src/main/res/values/strings.xml
+++ b/OCH/common/common/src/main/res/values/strings.xml
@@ -32,4 +32,5 @@
加载中……
暂无数据
+ 重新加载
\ No newline at end of file
diff --git a/OCH/shuttle/driver_weaknet/schemas/com.mogo.och.weaknet.repository.db.MyDataBase/2.json b/OCH/shuttle/driver_weaknet/schemas/com.mogo.och.weaknet.repository.db.MyDataBase/2.json
index 11a83b0e97..6970eca09c 100644
--- a/OCH/shuttle/driver_weaknet/schemas/com.mogo.och.weaknet.repository.db.MyDataBase/2.json
+++ b/OCH/shuttle/driver_weaknet/schemas/com.mogo.och.weaknet.repository.db.MyDataBase/2.json
@@ -2,7 +2,7 @@
"formatVersion": 1,
"database": {
"version": 2,
- "identityHash": "66522c4500a3e7f83bfcabf98096c6bd",
+ "identityHash": "2b20934a560960930f10ae5c581cbcec",
"entities": [
{
"tableName": "contrail_data_table",
@@ -141,7 +141,7 @@
},
{
"tableName": "site_data_table",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `site_id` INTEGER, `line_id` INTEGER, `name` TEXT, `name_kr` TEXT, `seq` INTEGER, `gcj_lon` REAL, `gcj_lat` REAL, `lon` REAL, `lat` REAL, `introduction` TEXT, `is_play_tts` INTEGER, `md5` TEXT)",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `site_id` INTEGER, `line_id` INTEGER, `name` TEXT, `name_kr` TEXT, `seq` INTEGER, `gcj_lon` REAL, `gcj_lat` REAL, `lon` REAL, `lat` REAL, `introduction` TEXT, `is_play_tts` INTEGER, `md5` TEXT, `videoList` TEXT)",
"fields": [
{
"fieldPath": "id",
@@ -220,6 +220,12 @@
"columnName": "md5",
"affinity": "TEXT",
"notNull": false
+ },
+ {
+ "fieldPath": "videoListDB",
+ "columnName": "videoList",
+ "affinity": "TEXT",
+ "notNull": false
}
],
"primaryKey": {
@@ -339,7 +345,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, `event_save_time` INTEGER NOT NULL)",
+ "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, `videoList` TEXT)",
"fields": [
{
"fieldPath": "id",
@@ -454,6 +460,12 @@
"columnName": "event_save_time",
"affinity": "INTEGER",
"notNull": true
+ },
+ {
+ "fieldPath": "videoList",
+ "columnName": "videoList",
+ "affinity": "TEXT",
+ "notNull": false
}
],
"primaryKey": {
@@ -571,7 +583,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, '66522c4500a3e7f83bfcabf98096c6bd')"
+ "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '2b20934a560960930f10ae5c581cbcec')"
]
}
}
\ No newline at end of file
diff --git a/OCH/shuttle/driver_weaknet/schemas/com.mogo.och.weaknet.repository.db.MyDataBase/3.json b/OCH/shuttle/driver_weaknet/schemas/com.mogo.och.weaknet.repository.db.MyDataBase/3.json
new file mode 100644
index 0000000000..f1d18c8322
--- /dev/null
+++ b/OCH/shuttle/driver_weaknet/schemas/com.mogo.och.weaknet.repository.db.MyDataBase/3.json
@@ -0,0 +1,589 @@
+{
+ "formatVersion": 1,
+ "database": {
+ "version": 3,
+ "identityHash": "2b20934a560960930f10ae5c581cbcec",
+ "entities": [
+ {
+ "tableName": "contrail_data_table",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `line_id` INTEGER, `csv_file_url` TEXT, `csv_file_md5` TEXT, `txt_file_url` TEXT, `txt_file_md5` TEXT, `contrail_save_time` INTEGER, `md5` TEXT)",
+ "fields": [
+ {
+ "fieldPath": "id",
+ "columnName": "id",
+ "affinity": "INTEGER",
+ "notNull": true
+ },
+ {
+ "fieldPath": "lineId",
+ "columnName": "line_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "csvFileUrl",
+ "columnName": "csv_file_url",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "csvFileMd5",
+ "columnName": "csv_file_md5",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "txtFileUrl",
+ "columnName": "txt_file_url",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "txtFileMd5",
+ "columnName": "txt_file_md5",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "contrailSaveTime",
+ "columnName": "contrail_save_time",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "md5",
+ "columnName": "md5",
+ "affinity": "TEXT",
+ "notNull": false
+ }
+ ],
+ "primaryKey": {
+ "columnNames": [
+ "id"
+ ],
+ "autoGenerate": true
+ },
+ "indices": [
+ {
+ "name": "index_contrail_data_table_line_id",
+ "unique": false,
+ "columnNames": [
+ "line_id"
+ ],
+ "orders": [],
+ "createSql": "CREATE INDEX IF NOT EXISTS `index_contrail_data_table_line_id` ON `${TABLE_NAME}` (`line_id`)"
+ },
+ {
+ "name": "index_contrail_data_table_md5",
+ "unique": false,
+ "columnNames": [
+ "md5"
+ ],
+ "orders": [],
+ "createSql": "CREATE INDEX IF NOT EXISTS `index_contrail_data_table_md5` ON `${TABLE_NAME}` (`md5`)"
+ }
+ ],
+ "foreignKeys": []
+ },
+ {
+ "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, `end_station_name` TEXT, `line_get_time` INTEGER NOT NULL)",
+ "fields": [
+ {
+ "fieldPath": "id",
+ "columnName": "id",
+ "affinity": "INTEGER",
+ "notNull": true
+ },
+ {
+ "fieldPath": "lineId",
+ "columnName": "line_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lineName",
+ "columnName": "line_name",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "endStationName",
+ "columnName": "end_station_name",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "linegetTime",
+ "columnName": "line_get_time",
+ "affinity": "INTEGER",
+ "notNull": true
+ }
+ ],
+ "primaryKey": {
+ "columnNames": [
+ "id"
+ ],
+ "autoGenerate": true
+ },
+ "indices": [
+ {
+ "name": "index_line_data_table_line_id",
+ "unique": false,
+ "columnNames": [
+ "line_id"
+ ],
+ "orders": [],
+ "createSql": "CREATE INDEX IF NOT EXISTS `index_line_data_table_line_id` ON `${TABLE_NAME}` (`line_id`)"
+ }
+ ],
+ "foreignKeys": []
+ },
+ {
+ "tableName": "site_data_table",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `site_id` INTEGER, `line_id` INTEGER, `name` TEXT, `name_kr` TEXT, `seq` INTEGER, `gcj_lon` REAL, `gcj_lat` REAL, `lon` REAL, `lat` REAL, `introduction` TEXT, `is_play_tts` INTEGER, `md5` TEXT, `videoList` TEXT)",
+ "fields": [
+ {
+ "fieldPath": "id",
+ "columnName": "id",
+ "affinity": "INTEGER",
+ "notNull": true
+ },
+ {
+ "fieldPath": "siteId",
+ "columnName": "site_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lineId",
+ "columnName": "line_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "name",
+ "columnName": "name",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "nameKr",
+ "columnName": "name_kr",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "seq",
+ "columnName": "seq",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "gcjLon",
+ "columnName": "gcj_lon",
+ "affinity": "REAL",
+ "notNull": false
+ },
+ {
+ "fieldPath": "gcjLat",
+ "columnName": "gcj_lat",
+ "affinity": "REAL",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lon",
+ "columnName": "lon",
+ "affinity": "REAL",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lat",
+ "columnName": "lat",
+ "affinity": "REAL",
+ "notNull": false
+ },
+ {
+ "fieldPath": "introduction",
+ "columnName": "introduction",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "isPlayTts",
+ "columnName": "is_play_tts",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "md5",
+ "columnName": "md5",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "videoListDB",
+ "columnName": "videoList",
+ "affinity": "TEXT",
+ "notNull": false
+ }
+ ],
+ "primaryKey": {
+ "columnNames": [
+ "id"
+ ],
+ "autoGenerate": true
+ },
+ "indices": [
+ {
+ "name": "index_site_data_table_site_id",
+ "unique": false,
+ "columnNames": [
+ "site_id"
+ ],
+ "orders": [],
+ "createSql": "CREATE INDEX IF NOT EXISTS `index_site_data_table_site_id` ON `${TABLE_NAME}` (`site_id`)"
+ },
+ {
+ "name": "index_site_data_table_line_id",
+ "unique": false,
+ "columnNames": [
+ "line_id"
+ ],
+ "orders": [],
+ "createSql": "CREATE INDEX IF NOT EXISTS `index_site_data_table_line_id` ON `${TABLE_NAME}` (`line_id`)"
+ }
+ ],
+ "foreignKeys": []
+ },
+ {
+ "tableName": "task_data_table",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `task_id` INTEGER, `line_id` INTEGER, `task_data` INTEGER, `task_start_time` INTEGER, `start_time` INTEGER, `end_time` INTEGER, `task_get_time` INTEGER NOT NULL, `status` INTEGER)",
+ "fields": [
+ {
+ "fieldPath": "id",
+ "columnName": "id",
+ "affinity": "INTEGER",
+ "notNull": true
+ },
+ {
+ "fieldPath": "taskId",
+ "columnName": "task_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lineId",
+ "columnName": "line_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "taskDate",
+ "columnName": "task_data",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "taskStartTime",
+ "columnName": "task_start_time",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "startTime",
+ "columnName": "start_time",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "endtime",
+ "columnName": "end_time",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "taskgetTime",
+ "columnName": "task_get_time",
+ "affinity": "INTEGER",
+ "notNull": true
+ },
+ {
+ "fieldPath": "status",
+ "columnName": "status",
+ "affinity": "INTEGER",
+ "notNull": false
+ }
+ ],
+ "primaryKey": {
+ "columnNames": [
+ "id"
+ ],
+ "autoGenerate": true
+ },
+ "indices": [
+ {
+ "name": "index_task_data_table_task_id",
+ "unique": false,
+ "columnNames": [
+ "task_id"
+ ],
+ "orders": [],
+ "createSql": "CREATE INDEX IF NOT EXISTS `index_task_data_table_task_id` ON `${TABLE_NAME}` (`task_id`)"
+ },
+ {
+ "name": "index_task_data_table_line_id",
+ "unique": false,
+ "columnNames": [
+ "line_id"
+ ],
+ "orders": [],
+ "createSql": "CREATE INDEX IF NOT EXISTS `index_task_data_table_line_id` ON `${TABLE_NAME}` (`line_id`)"
+ }
+ ],
+ "foreignKeys": []
+ },
+ {
+ "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, `event_save_time` INTEGER NOT NULL, `videoList` TEXT)",
+ "fields": [
+ {
+ "fieldPath": "id",
+ "columnName": "id",
+ "affinity": "INTEGER",
+ "notNull": true
+ },
+ {
+ "fieldPath": "taskId",
+ "columnName": "task_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lineId",
+ "columnName": "line_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "siteId",
+ "columnName": "site_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lineName",
+ "columnName": "line_name",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "name",
+ "columnName": "name",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "nameKr",
+ "columnName": "name_kr",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "seq",
+ "columnName": "seq",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "gcjLon",
+ "columnName": "gcj_lon",
+ "affinity": "REAL",
+ "notNull": false
+ },
+ {
+ "fieldPath": "gcjLat",
+ "columnName": "gcj_lat",
+ "affinity": "REAL",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lon",
+ "columnName": "lon",
+ "affinity": "REAL",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lat",
+ "columnName": "lat",
+ "affinity": "REAL",
+ "notNull": false
+ },
+ {
+ "fieldPath": "drivingStatus",
+ "columnName": "driving_status",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "leaving",
+ "columnName": "leaving",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "arrivedTime",
+ "columnName": "arrived_time",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "leaveTime",
+ "columnName": "leave_time",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "introduction",
+ "columnName": "introduction",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "isPlayTts",
+ "columnName": "is_play_tts",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "eventSaveTime",
+ "columnName": "event_save_time",
+ "affinity": "INTEGER",
+ "notNull": true
+ },
+ {
+ "fieldPath": "videoList",
+ "columnName": "videoList",
+ "affinity": "TEXT",
+ "notNull": false
+ }
+ ],
+ "primaryKey": {
+ "columnNames": [
+ "id"
+ ],
+ "autoGenerate": true
+ },
+ "indices": [],
+ "foreignKeys": []
+ },
+ {
+ "tableName": "event_data_table",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `event_type` TEXT, `lineId` INTEGER, `lineName` TEXT, `task_id` INTEGER, `task_start_time` INTEGER, `business_time` INTEGER, `write_version` INTEGER, `site_id` INTEGER, `seq` INTEGER, `driver_id` INTEGER, `event_save_time` INTEGER NOT NULL, `update_status` INTEGER NOT NULL)",
+ "fields": [
+ {
+ "fieldPath": "id",
+ "columnName": "id",
+ "affinity": "INTEGER",
+ "notNull": true
+ },
+ {
+ "fieldPath": "eventType",
+ "columnName": "event_type",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lineId",
+ "columnName": "lineId",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lineName",
+ "columnName": "lineName",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "taskId",
+ "columnName": "task_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "taskStartTime",
+ "columnName": "task_start_time",
+ "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": "driverId",
+ "columnName": "driver_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "eventSaveTime",
+ "columnName": "event_save_time",
+ "affinity": "INTEGER",
+ "notNull": true
+ },
+ {
+ "fieldPath": "updateStatus",
+ "columnName": "update_status",
+ "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, '2b20934a560960930f10ae5c581cbcec')"
+ ]
+ }
+}
\ No newline at end of file
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/BusRoutesResponse.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/BusRoutesResponse.kt
index 3408f90744..59ac0563bc 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/BusRoutesResponse.kt
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/BusRoutesResponse.kt
@@ -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>(
+ taskAndsite.videoList,
+ object : TypeToken?>() {}.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())
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/CarExecutableTaskResponse.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/CarExecutableTaskResponse.kt
index 5dc574c402..190deefc95 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/CarExecutableTaskResponse.kt
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/CarExecutableTaskResponse.kt
@@ -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?) : BaseData(){
dataInfo.siteList?.let {siteListInfo->
siteListInfo.forEach {
it.lineId = lineId
+ val videoInfoList = mutableListOf()
+ it.videoList?.forEach { videoInfoIt->
+ videoInfoList.add(videoInfoIt)
+ }
+ if(videoInfoList.isNotEmpty()) {
+ it.videoListDB = GsonUtils.toJson(videoInfoList)
+ }
}
siteList.addAll(siteListInfo)
}
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/callback/IBusLinesCallback.java b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/callback/IBusLinesCallback.java
index 95f67a63b7..c145851761 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/callback/IBusLinesCallback.java
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/callback/IBusLinesCallback.java
@@ -13,6 +13,7 @@ public interface IBusLinesCallback {
default void onChangeLineIdSuccess(){}
default void onRefreshSuccess(long currentTimeStamp){}
+ default void onRefreshSuccessWIthData(){}
default void onChangeLineIdFail(){}
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt
index f6ed55ee60..82b008de2d 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt
@@ -147,7 +147,12 @@ object LineModel {
"接口信息发生变化 $lastChangeMd5 new md5${currentRequest}"
)
CarExecutableTaskResponse.save2Db(data)
- OrderModel.queryBusRoutes()
+ RxUtils.createSubscribe(800) {
+ // 等待写入数据库
+ mBusLinesCallbackMap.forEach { callback ->
+ callback.value.onRefreshSuccessWIthData()
+ }
+ }
}
override fun onError() {
@@ -215,7 +220,15 @@ object LineModel {
override fun onError(e: Throwable) {
d(TAG, "commitSwitchLineId onError${e.printStackTrace()}")
- if (e is DataException) {
+ if(RepositoryManager.supportDb()) {
+ if (e is DataException) {
+ OchChainLogManager.writeChainLog("开始任务", "${e.message}")
+ ToastUtils.showShort("选择任务失败:${e.message}")
+ mBusLinesCallbackMap.forEach {
+ it.value.onChangeLineIdFail()
+ }
+ }
+ }else{
OchChainLogManager.writeChainLog("开始任务", "${e.message}")
ToastUtils.showShort("选择任务失败:${e.message}")
mBusLinesCallbackMap.forEach {
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/TicketModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/TicketModel.kt
index 238f21b80c..00176e97d8 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/TicketModel.kt
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/TicketModel.kt
@@ -106,9 +106,14 @@ object TicketModel : IOchOnMessageListener{
firstStation.siteId.toLong(),
object : OchCommonServiceCallback {
override fun onSuccess(data: WriteOffCountResponse?) {
- data?.data?.let {
- emitterMain?.onNext(Pair(firstStation.siteId,it))
- d(SceneConstant.M_BUS + TAG, "${firstStation.name}核销人数:${it}")
+ data?.let {
+ val count = if(it.data==null){
+ 0
+ }else{
+ it.data
+ }
+ emitterMain?.onNext(Pair(firstStation.siteId,count))
+ d(SceneConstant.M_BUS + TAG, "${firstStation.name}核销人数:${count}")
OchChainLogManager.writeChainLog("核销人数","任务:${currentTask.taskId} zhan'dian")
}
}
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/MyDataBase.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/MyDataBase.kt
index 5f6cfc9cca..590ba5a8ab 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/MyDataBase.kt
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/MyDataBase.kt
@@ -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");
+ }
+ }
}
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/bean/SiteDataBean.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/bean/SiteDataBean.kt
index 2cb9f5cff1..5675520c9c 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/bean/SiteDataBean.kt
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/bean/SiteDataBean.kt
@@ -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?=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)"
}
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/bean/TaskSiteDataBean.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/bean/TaskSiteDataBean.kt
index 0b8c408a47..9ff4dede6f 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/bean/TaskSiteDataBean.kt
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/bean/TaskSiteDataBean.kt
@@ -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
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/WeaknetRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/WeaknetRepository.kt
index 4710ec06ad..6536b6d70f 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/WeaknetRepository.kt
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/impl/WeaknetRepository.kt
@@ -320,7 +320,7 @@ class WeaknetRepository : IRepository {
siteId: Long,
callback: OchCommonServiceCallback?
) {
- weakNetInterface?.writeOffCount(context,taskId.toString(),siteId.toString(),callback)
+ weakNetInterface?.writeOffCount(context,taskId,siteId,callback)
}
override fun queryCarExecutableTaskList(
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bean/request/WriteOffCountReqBean.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bean/request/WriteOffCountReqBean.kt
new file mode 100644
index 0000000000..038369ffaa
--- /dev/null
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/bean/request/WriteOffCountReqBean.kt
@@ -0,0 +1,3 @@
+package com.mogo.och.weaknet.repository.net.bean.request
+
+data class WriteOffCountReqBean(val sn:String,val taskId:Long,val siteId:Long)
\ No newline at end of file
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/WeakNetInterface.java b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/WeakNetInterface.java
index 221a2ad975..5d6c7695de 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/WeakNetInterface.java
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/WeakNetInterface.java
@@ -17,8 +17,8 @@ public interface WeakNetInterface {
void writeOffCount(
Context context ,
- String taskId,
- String siteId,
+ Long taskId,
+ Long siteId,
OchCommonServiceCallback callback
);
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/dali/shuttle/DaliShuttleServiceManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/dali/shuttle/DaliShuttleServiceManager.kt
index ff67892532..e3a3491541 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/dali/shuttle/DaliShuttleServiceManager.kt
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/dali/shuttle/DaliShuttleServiceManager.kt
@@ -52,15 +52,15 @@ object DaliShuttleServiceManager: WeakNetInterface {
*/
override fun writeOffCount(
context: Context,
- taskId: String?,
- siteId: String?,
+ taskId: Long?,
+ siteId: Long?,
callback: OchCommonServiceCallback?
) {
mService.writeOffCount(
MoGoAiCloudClientConfig.getInstance().serviceAppId,
SharedPrefsMgr.getInstance().token,
- taskId,
- siteId
+ taskId?.toString(),
+ siteId?.toString()
)
.transformIoTry()
.subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount"))
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/bus/ISaasBusApiService.java b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/bus/ISaasBusApiService.java
index 2dc309f6f4..4ff06ef54a 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/bus/ISaasBusApiService.java
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/bus/ISaasBusApiService.java
@@ -6,6 +6,7 @@ import com.mogo.och.weaknet.bean.response.BusRoutesResponse;
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 io.reactivex.Observable;
import retrofit2.http.Body;
@@ -38,8 +39,8 @@ public interface ISaasBusApiService {
* 查询当前站点核销的人数
*/
@Headers( {"Content-type:application/json;charset=UTF-8"} )
- @GET("/och-vehicle/api/car/v2/device/writeOff")
- Observable writeOffCount(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("taskId") String taskId, @Query("siteId") String siteId);
+ @POST("/och-vehicle/api/car/v2/task/site/writeOffCount")
+ Observable writeOffCount(@Header ("appId") String appId, @Header("ticket") String ticket, @Body WriteOffCountReqBean writeOffCountReqBean);
/**
* 同步 线路、站点、任务、自驾轨迹信息
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/bus/SaasBusServiceManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/bus/SaasBusServiceManager.kt
index aba08bcb3a..7457794033 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/bus/SaasBusServiceManager.kt
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/bus/SaasBusServiceManager.kt
@@ -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
@@ -15,6 +16,7 @@ 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.weaknet.WeakNetInterface
import io.reactivex.Observable
@@ -52,18 +54,22 @@ object SaasBusServiceManager: WeakNetInterface {
*/
override fun writeOffCount(
context: Context,
- taskId: String?,
- siteId: String?,
+ taskId: Long,
+ siteId: Long,
callback: OchCommonServiceCallback?
) {
- mService.writeOffCount(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- taskId,
- siteId
- )
- .transformIoTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount"))
+ OchSPManager.getSn()?.let {
+ mService.writeOffCount(
+ MoGoAiCloudClientConfig.getInstance().serviceAppId,
+ SharedPrefsMgr.getInstance().token,
+ WriteOffCountReqBean(it,taskId,
+ siteId,
+ )
+ )
+ .transformIoTry()
+ .subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount"))
+ }
+
}
/**
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/shuttle/ISaasShuttleApiService.java b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/shuttle/ISaasShuttleApiService.java
index de9abc7add..e86002ceb1 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/shuttle/ISaasShuttleApiService.java
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/shuttle/ISaasShuttleApiService.java
@@ -6,6 +6,7 @@ import com.mogo.och.weaknet.bean.response.BusRoutesResponse;
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 io.reactivex.Observable;
import retrofit2.http.Body;
@@ -38,8 +39,8 @@ public interface ISaasShuttleApiService {
* 查询当前站点核销的人数
*/
@Headers( {"Content-type:application/json;charset=UTF-8"} )
- @GET("/och-vehicle/api/car/v2/device/writeOff")
- Observable writeOffCount(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("taskId") String taskId, @Query("siteId") String siteId);
+ @POST("/och-vehicle/api/car/v2/task/site/writeOffCount")
+ Observable writeOffCount(@Header ("appId") String appId, @Header("ticket") String ticket, @Body WriteOffCountReqBean writeOffCountReqBean);
/**
* 同步 线路、站点、任务、自驾轨迹信息
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/shuttle/SaasShuttleServiceManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/shuttle/SaasShuttleServiceManager.kt
index ae075c3b4b..42d02601b7 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/shuttle/SaasShuttleServiceManager.kt
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/net/weaknet/saas/shuttle/SaasShuttleServiceManager.kt
@@ -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
@@ -15,6 +16,7 @@ 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.weaknet.WeakNetInterface
import io.reactivex.Observable
@@ -52,18 +54,22 @@ object SaasShuttleServiceManager: WeakNetInterface {
*/
override fun writeOffCount(
context: Context,
- taskId: String?,
- siteId: String?,
+ taskId: Long,
+ siteId: Long,
callback: OchCommonServiceCallback?
) {
- mService.writeOffCount(
- MoGoAiCloudClientConfig.getInstance().serviceAppId,
- SharedPrefsMgr.getInstance().token,
- taskId,
- siteId
- )
- .transformIoTry()
- .subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount"))
+ OchSPManager.getSn()?.let {
+ mService.writeOffCount(
+ MoGoAiCloudClientConfig.getInstance().serviceAppId,
+ SharedPrefsMgr.getInstance().token,
+ WriteOffCountReqBean(
+ it, taskId,
+ siteId,
+ )
+ )
+ .transformIoTry()
+ .subscribe(OchCommonSubscribeImpl(context, callback, "writeOffCount"))
+ }
}
/**
@@ -76,7 +82,7 @@ object SaasShuttleServiceManager: WeakNetInterface {
mService.queryCarExecutableTaskList(
MoGoAiCloudClientConfig.getInstance().serviceAppId,
SharedPrefsMgr.getInstance().token,
- SharedPrefsMgr.getInstance().sn,
+ OchSPManager.getSn()
)
.transformIoTry()
.subscribe(OchCommonSubscribeImpl(context, callback, "queryCarExecutableTaskList"))
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/qr/QrOpenView.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/qr/QrOpenView.kt
index 9a458466de..d8dbf39fa0 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/qr/QrOpenView.kt
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/qr/QrOpenView.kt
@@ -10,6 +10,7 @@ import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.utilcode.kotlin.onClick
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.ActivityUtils
import com.mogo.eagle.core.utilcode.util.ImageUtils
import com.mogo.och.common.module.utils.ResourcesUtils
import com.mogo.och.common.module.utils.createQRCodeWithPicture
@@ -61,7 +62,7 @@ class QrOpenView : AppCompatImageView {
val builder = BindQRCodeDialog.Builder()
builder.title(ResourcesUtils.getString(R.string.bind_driver_qr_title))
.cancelStr(ResourcesUtils.getString(R.string.qr_cancel))
- .qrBm(bmQr).build(AbsMogoApplication.getApp())!!.show()
+ .qrBm(bmQr).build(ActivityUtils.getTopActivity())!!.show()
} else {
d(SceneConstant.M_BUS + TAG, "bmQr = null ")
}
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwitchLineView.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwitchLineView.kt
index 2a2482e8ef..5b623e475d 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwitchLineView.kt
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwitchLineView.kt
@@ -20,6 +20,7 @@ import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.common.module.utils.ResourcesUtils
import com.mogo.och.common.module.wigets.WindowRelativeLayout
import com.mogo.och.common.module.wigets.WrapContentLinearLayoutManager
+import com.mogo.och.common.module.wigets.commonview.ErrorView
import com.mogo.och.shuttle.weaknet.R
import com.mogo.och.weaknet.model.LineModel
import com.mogo.och.weaknet.repository.RepositoryManager
@@ -29,6 +30,7 @@ import kotlinx.android.synthetic.main.shuttle_wadk_task_running.view.no_order_da
import kotlinx.android.synthetic.main.shuttle_weak_switch_line.view.aciv_refresh_task
import kotlinx.android.synthetic.main.shuttle_weak_switch_line.view.actv_last_refresh_date
import kotlinx.android.synthetic.main.shuttle_weak_switch_line.view.include_empty
+import kotlinx.android.synthetic.main.shuttle_weak_switch_line.view.include_errorview
import kotlinx.android.synthetic.main.shuttle_weak_switch_line.view.switch_line_rv
import me.jessyan.autosize.utils.AutoSizeUtils
@@ -99,6 +101,12 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba
}
animator?.start()
}
+ include_errorview.reloadLIstener = object :ErrorView.ReloadLIstener{
+ override fun reload() {
+ viewbizModel?.showSwitchLineInfo()
+ }
+
+ }
}
/**
@@ -106,7 +114,7 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba
*/
fun loadingDatas() {
CallerLogger.d(TAG,"加载线路去")
- viewModel?.queryBusLines()
+ viewModel?.queryBusLines(true)
viewModel?.setRefreshTime()
}
@@ -132,7 +140,7 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba
}
- override fun onBusLinesChange(data: MutableList?) {
+ override fun onBusLinesChange(data: MutableList?,show:Boolean) {
if (data.isNullOrEmpty()) {
showNoData(true)
}else{
@@ -140,7 +148,9 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba
mAdapter.setDataList(data)
}
CallerLogger.d(TAG,"加载线路成功")
- viewbizModel?.showSwitchLineInfoResult()
+ if(show) {
+ viewbizModel?.showSwitchLineInfoResult()
+ }
}
/**
@@ -149,6 +159,7 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba
*/
private fun showNoData(b: Boolean) {
BizLoopManager.runInMainThread{
+ include_errorview.visibility = View.GONE
if (b) {
switch_line_rv.visibility = View.GONE
include_empty.visibility = View.VISIBLE
@@ -171,8 +182,12 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba
}
-
-
+ override fun onBusLinesChangeFaile() {
+ include_errorview.visibility = View.VISIBLE
+ switch_line_rv.visibility = View.GONE
+ include_empty.visibility = View.GONE
+ viewbizModel?.showSwitchLineInfoResult()
+ }
}
diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwtichLineModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwtichLineModel.kt
index e3b2375dea..f9d6c98b0a 100644
--- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwtichLineModel.kt
+++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwtichLineModel.kt
@@ -43,7 +43,7 @@ class SwtichLineModel : ViewModel(), IBusLinesCallback {
LineModel.setBusLinesCallback(TAG,this)
}
- fun queryBusLines() {
+ fun queryBusLines(loading:Boolean) {
LineModel.queryBusLines()
RxUtils.disposeSubscribe(endTaskDisposable)
RepositoryManager.queryCanUseLine()
@@ -57,6 +57,7 @@ class SwtichLineModel : ViewModel(), IBusLinesCallback {
override fun onError(e: Throwable) {
d(LineModel.TAG, "queryBusLines onError${e.printStackTrace()}")
+ viewCallback?.onBusLinesChangeFaile()
}
override fun onComplete() {
@@ -65,8 +66,8 @@ class SwtichLineModel : ViewModel(), IBusLinesCallback {
override fun onNext(data: List) {
d(LineModel.TAG, "queryBusLines onNext ${data}")
- viewCallback?.onBusLinesChange(data.toMutableList())
- if(ProjectUtils.isSaas()&& AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) {
+ viewCallback?.onBusLinesChange(data.toMutableList(),loading)
+ if(RepositoryManager.supportDb()) {
}else{
SharedPrefsMgr.getInstance().putLong(EXECUTABLECHANGETIME, DateTimeUtil.getCurrentTimeStamp())
@@ -91,8 +92,9 @@ class SwtichLineModel : ViewModel(), IBusLinesCallback {
interface SwtichLineViewCallback{
fun startTaskState(success: Boolean)
- fun onBusLinesChange(data: MutableList?)
+ fun onBusLinesChange(data: MutableList?,show:Boolean)
fun refreshDate(formatLongToString: String?)
+ fun onBusLinesChangeFaile()
}
override fun onRefreshSuccess(currentTimeStamp: Long) {
@@ -101,6 +103,11 @@ class SwtichLineModel : ViewModel(), IBusLinesCallback {
)
}
+ override fun onRefreshSuccessWIthData() {
+ super.onRefreshSuccessWIthData()
+ queryBusLines(false)
+ }
+
override fun onChangeLineIdFail() {
viewCallback?.startTaskState(false)
}
diff --git a/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_base_fragment.xml b/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_base_fragment.xml
index bf26c36955..c06ce1320a 100644
--- a/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_base_fragment.xml
+++ b/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_base_fragment.xml
@@ -16,7 +16,6 @@
android:id="@+id/boneContainerView"
android:layout_width="@dimen/dp_1046"
android:layout_height="match_parent"
- android:elevation="100dp"
android:visibility="visible"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -32,7 +31,6 @@
app:layout_constraintTop_toTopOf="parent" />
diff --git a/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_switch_line.xml b/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_switch_line.xml
index 1c0e065ac9..3034b16cc9 100644
--- a/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_switch_line.xml
+++ b/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_switch_line.xml
@@ -60,4 +60,14 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
+
+
\ No newline at end of file
diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/bean/response/ResponseSiteIntroduce.kt b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/bean/response/ResponseSiteIntroduce.kt
new file mode 100644
index 0000000000..5fd4e36676
--- /dev/null
+++ b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/bean/response/ResponseSiteIntroduce.kt
@@ -0,0 +1,17 @@
+package com.mogo.och.shuttle.weaknet.passenger.bean.response
+
+
+import com.mogo.eagle.core.data.BaseData
+
+/**
+ * 网约车小巴路线接口请求响应结果 返回的是对应司机屏的线路信息
+ *
+ * @author tongchenfei
+ */
+data class ResponseSiteIntroduce(val data: MutableList?) : BaseData(){
+
+ data class SiteIntroduceInfo(val siteId:Long,val introduceList:MutableList)
+
+ data class IntroduceInfo(val type:Int,val url :String,val seq:Int)
+
+}
diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt
new file mode 100644
index 0000000000..19b590dc2c
--- /dev/null
+++ b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt
@@ -0,0 +1,67 @@
+package com.mogo.och.shuttle.weaknet.passenger.model
+
+import com.mogo.commons.AbsMogoApplication
+import com.mogo.commons.env.ProjectUtils
+import com.mogo.och.common.module.biz.lansocket.IOchLanPassengerStatusListener
+import com.mogo.och.common.module.manager.download.DownloadManager
+import com.mogo.och.common.module.manager.socket.lan.LanSocketManager
+import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType
+import com.mogo.och.common.module.manager.socket.lan.bean.TaskDetailsMsg
+import com.mogo.och.common.module.network.OchCommonServiceCallback
+import com.mogo.och.shuttle.weaknet.passenger.bean.response.ResponseSiteIntroduce
+import com.mogo.och.shuttle.weaknet.passenger.network.PassengerServiceManager
+
+open class CommonModel {
+
+ val connectDriverListener = object : IOchLanPassengerStatusListener {
+ override fun onDriverConnectChangeListener(isConnect: Boolean) {
+ super.onDriverConnectChangeListener(isConnect)
+ if(isConnect){
+ queryDriverByLocalDriver()
+ }
+ }
+
+ override fun onDriverSnChagneListner(sn: String?) {
+ super.onDriverSnChagneListner(sn)
+ sn?.let {
+ querySiteIntroduce()
+ }
+ }
+ }
+
+ fun queryDriverByLocalDriver() {
+ //本地去请求司机端
+ val msg = TaskDetailsMsg("task", BusinessType.shuttle)
+ LanSocketManager.sendMsgToServer(msg)
+ }
+
+ private fun querySiteIntroduce(){
+ AbsMogoApplication.getApp()?.let {
+ if (ProjectUtils.isSaas()) {
+ PassengerServiceManager.querySiteIntroduceBySn(it,object :
+ OchCommonServiceCallback {
+ override fun onSuccess(response: ResponseSiteIntroduce?) {
+ response?.let {response->
+ downloadSiteIntroduce(response)
+ }
+ }
+
+ override fun onFail(code: Int, msg: String?) {
+
+ }
+
+ })
+ }
+ }
+ }
+
+ private fun downloadSiteIntroduce(response: ResponseSiteIntroduce) {
+ response.data?.forEach {siteIntroduceInfo ->
+ siteIntroduceInfo.introduceList.forEach {introduceInfo ->
+ DownloadManager.downloadVideoFile(introduceInfo.url,null)
+ }
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/LineModel.kt b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/LineModel.kt
index 3db1519d2f..9c6629570a 100644
--- a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/LineModel.kt
+++ b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/LineModel.kt
@@ -13,6 +13,8 @@ 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.GsonUtils
import com.mogo.eagle.core.utilcode.util.StringUtils
+import com.mogo.och.common.module.biz.lansocket.LoginLanPassengerSocket
+import com.mogo.och.common.module.biz.media.MediaManager
import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
@@ -25,6 +27,7 @@ import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType
import com.mogo.och.common.module.manager.socket.lan.bean.TaskDetailsMsg
import com.mogo.och.common.module.utils.PinYinUtil
import com.mogo.och.common.module.voice.VoiceNotice.showNotice
+import com.mogo.och.common.module.wigets.media.MediaItem
import com.mogo.och.data.bean.BusRoutesResult
import com.mogo.och.data.bean.BusStationBean
import com.mogo.och.data.bean.BusTransferData
@@ -38,7 +41,7 @@ import kotlin.math.abs
* @date: 2023/1/31
*/
@SuppressLint("StaticFieldLeak")
-object LineModel{
+object LineModel:CommonModel(){
private var mContext: Context? = null
@@ -58,11 +61,7 @@ object LineModel{
queryDriverByLocalDriver()
}
- private fun queryDriverByLocalDriver() {
- //本地去请求司机端
- val msg = TaskDetailsMsg("task", BusinessType.shuttle)
- LanSocketManager.sendMsgToServer(msg)
- }
+
private fun initListener() {
//自动驾驶状态监听
@@ -77,6 +76,8 @@ object LineModel{
// 监听站点信息
LanSocketManager.registerSocketMessageListener(DPMsgType.TYPE_TASK_DETAILS.type,typeTaskDetails)
+ LoginLanPassengerSocket.addListener(TAG, connectDriverListener)
+
}
fun releaseListener() {
@@ -93,6 +94,8 @@ object LineModel{
LanSocketManager.unRegisterSocketMessageListener(DPMsgType.TYPE_COMMON.type,LanSocketManager.commonListener)
LanSocketManager.unRegisterSocketMessageListener(DPMsgType.TYPE_TASK_DETAILS.type,typeTaskDetails)
+ LoginLanPassengerSocket.removeListener(TAG)
+
}
fun setDrivingInfoCallback(drivingInfoCallback : DrivingInfoCallback?){
@@ -229,6 +232,7 @@ object LineModel{
mNextStationIndex = i + 1
val startStation = mStations[i]
val endStation = mStations[i + 1]
+ startStationVideo(endStation)
setTrajectoryStation(startStation, endStation, result.lineId)
updateAutopilotControlParameters(result,i)
return
@@ -264,6 +268,20 @@ object LineModel{
TrajectoryAndDistanceManager.setStationPoint(startStation, endStation, lineId.toLong())
}
+ private fun startStationVideo(startStationInfo: BusStationBean){
+ val introductionList = mutableListOf()
+ startStationInfo.videoList?.forEach {
+ if(it.type==1) {
+ introductionList.add(
+ MediaItem(
+ MediaItem.PrioritySite, it.url,
+ MediaItem.MEDIA_TYPE_VIDEO,"","")
+ )
+ }
+ }
+ MediaManager.postSiteIntroduceInfo(introductionList)
+ }
+
private fun cleanStation(type: String) {
d(SceneConstant.M_BUS_P + TAG, "清理站点:$type")
TrajectoryAndDistanceManager.setStationPoint(null, null, -1L)
diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/network/PassengerServiceManager.kt b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/network/PassengerServiceManager.kt
index 8a27b65b91..c6bd01848c 100644
--- a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/network/PassengerServiceManager.kt
+++ b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/network/PassengerServiceManager.kt
@@ -18,6 +18,7 @@ import com.mogo.och.shuttle.weaknet.passenger.bean.request.PassengerWriteOffRequ
import com.mogo.och.shuttle.weaknet.passenger.bean.response.PassengerOperationStatusResponse
import com.mogo.och.shuttle.weaknet.passenger.bean.response.PassengerRoutesResponse
import com.mogo.och.shuttle.weaknet.passenger.bean.response.PassengerWriteOffResponse
+import com.mogo.och.shuttle.weaknet.passenger.bean.response.ResponseSiteIntroduce
/**
* Created on 2022/3/31
@@ -65,4 +66,21 @@ object PassengerServiceManager {
.subscribe(OchCommonSubscribeImpl(context, callback, "writeOff"))
}
}
+
+ /**
+ * 查询绑定行驶的小巴车路线
+ * @param context
+ * @param callback
+ */
+ @JvmStatic
+ fun querySiteIntroduceBySn(
+ context: Context, callback: OchCommonServiceCallback?
+ ) {
+ mShuttleBusPassengerServiceApi.querySiteIntroduceBySn(
+ MoGoAiCloudClientConfig.getInstance().serviceAppId,
+ SharedPrefsMgr.getInstance().token,
+ LoginLanPassengerSocket.driverSn
+ ).transformTry()
+ .subscribe(OchCommonSubscribeImpl(context, callback, "querySiteIntroduceBySn"))
+ }
}
\ No newline at end of file
diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/network/ServiceApi.java b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/network/ServiceApi.java
index 1fd9931968..75d010abc4 100644
--- a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/network/ServiceApi.java
+++ b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/network/ServiceApi.java
@@ -1,10 +1,8 @@
package com.mogo.och.shuttle.weaknet.passenger.network;
-import com.mogo.och.shuttle.weaknet.passenger.bean.request.PassengerQueryLineRequest;
import com.mogo.och.shuttle.weaknet.passenger.bean.request.PassengerWriteOffRequest;
-import com.mogo.och.shuttle.weaknet.passenger.bean.response.PassengerOperationStatusResponse;
-import com.mogo.och.shuttle.weaknet.passenger.bean.response.PassengerRoutesResponse;
import com.mogo.och.shuttle.weaknet.passenger.bean.response.PassengerWriteOffResponse;
+import com.mogo.och.shuttle.weaknet.passenger.bean.response.ResponseSiteIntroduce;
import io.reactivex.Observable;
import retrofit2.http.Body;
@@ -35,4 +33,12 @@ public interface ServiceApi {
@POST("/och-vehicle/api/car/v2/device/writeOff")
Observable saaswriteOffTicket(@Header ("appId") String appId, @Header("ticket") String ticket, @Body PassengerWriteOffRequest request);
+ /**
+ * 查询车辆对应站点的所有视频介绍视频
+ * @return 接口返回数据
+ */
+ @Headers( {"Content-Type:application/json;charset=UTF-8"} )
+ @GET( "/och-bus-cabin/api/business/v1/querySiteIntroduceBySn" )
+ Observable querySiteIntroduceBySn(@Header("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn);
+
}
diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/jinlv/com/mogo/och/shuttle/weaknet/passenger/model/BusPassengerModel.kt b/OCH/shuttle/passenger_weaknet/src/main/java/jinlv/com/mogo/och/shuttle/weaknet/passenger/model/BusPassengerModel.kt
index 018cfda723..e52ac3a4c6 100644
--- a/OCH/shuttle/passenger_weaknet/src/main/java/jinlv/com/mogo/och/shuttle/weaknet/passenger/model/BusPassengerModel.kt
+++ b/OCH/shuttle/passenger_weaknet/src/main/java/jinlv/com/mogo/och/shuttle/weaknet/passenger/model/BusPassengerModel.kt
@@ -17,6 +17,7 @@ import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.och.common.module.biz.lansocket.IOchLanPassengerStatusListener
import com.mogo.och.common.module.biz.lansocket.LoginLanPassengerSocket
+import com.mogo.och.common.module.biz.media.MediaManager
import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
@@ -33,6 +34,7 @@ import com.mogo.och.common.module.manager.socket.lan.bean.TaskDetailsMsg
import com.mogo.och.common.module.utils.DateTimeUtil
import com.mogo.och.common.module.utils.PinYinUtil
import com.mogo.och.common.module.voice.VoiceNotice.showNotice
+import com.mogo.och.common.module.wigets.media.MediaItem
import com.mogo.och.data.bean.BusRoutesResult
import com.mogo.och.data.bean.BusStationBean
import com.mogo.och.data.bean.BusTransferData
@@ -48,7 +50,7 @@ import java.util.concurrent.ConcurrentHashMap
* Created on 2022/3/31
*/
@SuppressLint("StaticFieldLeak")
-object BusPassengerModel {
+object BusPassengerModel :CommonModel(){
private val TAG: String = BusPassengerModel::class.java.simpleName
private var mContext: Context? = null
private var mADASStatusCallback: IBusPassengerADASStatusCallback? = null //Model->Presenter:自动驾驶状态相关
@@ -72,12 +74,6 @@ object BusPassengerModel {
queryDriverByLocalDriver()
}
- private fun queryDriverByLocalDriver() {
- //本地去请求司机端
- val msg = TaskDetailsMsg("task", BusinessType.shuttle)
- LanSocketManager.sendMsgToServer(msg)
- }
-
fun setDriverStatusCallback(callback: IBusPassegerDriverStatusCallback?) {
this.mDriverStatusCallback = callback
}
@@ -142,6 +138,7 @@ object BusPassengerModel {
mNextStationIndex = i + 1
val startStation = mStations[i]
val endStation = mStations[i + 1]
+ startStationVideo(endStation)
setTrajectoryStation(startStation, endStation, result.lineId)
updateAutopilotControlParameters(result,i)
return
@@ -149,7 +146,6 @@ object BusPassengerModel {
if (i == stations.size - 1) {
cleanStation("updatePassengerRouteInfo最后一个站点")
}
-
isGoingToNextStation = false
Logger.d(SceneConstant.M_BUS_P + TAG, "order = station= arrive")
mRouteLineInfoCallback!!.updateStationsInfo(stations, i, true)
@@ -198,15 +194,6 @@ object BusPassengerModel {
LoginLanPassengerSocket.removeListener(TAG)
}
- private val connectDriverListener = object : IOchLanPassengerStatusListener{
- override fun onDriverConnectChangeListener(isConnect: Boolean) {
- super.onDriverConnectChangeListener(isConnect)
- if(isConnect){
- queryDriverByLocalDriver()
- }
- }
- }
-
private val commonListener = object : ILanMessageListener {
override fun targetLan(): Class = AppConnectMsg::class.java
@@ -323,6 +310,21 @@ object BusPassengerModel {
TrajectoryAndDistanceManager.setStationPoint(startStation, endStation, lineId.toLong())
}
+
+ private fun startStationVideo(startStationInfo: BusStationBean){
+ val introductionList = mutableListOf()
+ startStationInfo.videoList?.forEach {
+ if(it.type==1) {
+ introductionList.add(
+ MediaItem(
+ MediaItem.PrioritySite, it.url,
+ MediaItem.MEDIA_TYPE_VIDEO,"","")
+ )
+ }
+ }
+ MediaManager.postSiteIntroduceInfo(introductionList)
+ }
+
private fun cleanStation(type: String) {
d(SceneConstant.M_BUS_P + TAG, "清理站点:$type")
TrajectoryAndDistanceManager.setStationPoint(null, null, -1L)
diff --git a/OCH/taxi/unmanned-driver/src/main/res/layout/unmanned_taxi_base_fragment.xml b/OCH/taxi/unmanned-driver/src/main/res/layout/unmanned_taxi_base_fragment.xml
index 8c441aa673..da0470911f 100644
--- a/OCH/taxi/unmanned-driver/src/main/res/layout/unmanned_taxi_base_fragment.xml
+++ b/OCH/taxi/unmanned-driver/src/main/res/layout/unmanned_taxi_base_fragment.xml
@@ -17,7 +17,6 @@
android:id="@+id/boneContainerView"
android:layout_width="@dimen/dp_1046"
android:layout_height="match_parent"
- android:elevation="100dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -64,7 +63,6 @@
app:layout_constraintRight_toRightOf="parent" />
diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/Carmodel.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/Carmodel.kt
index 73f59ab0f0..52388576c7 100644
--- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/Carmodel.kt
+++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/Carmodel.kt
@@ -7,12 +7,14 @@ enum class Carmodel(val serverName:String,@RawRes val rawValue: Int, val resId:
T1("E70", R.raw.chuzuche, R.drawable.icon_car_t1),
T2("H9", R.raw.hq_h9, R.drawable.icon_car_t2),
B1("B1", R.raw.xiaoba, R.drawable.icon_car_b1),
- B2("B2", R.raw.m2, R.drawable.icon_car_b2),
+ CommonB2("B2", R.raw.m2, R.drawable.icon_car_b2),
+ DeQingB2("B2", R.raw.deqing_m2, R.drawable.icon_car_b2),
+ YiXinB2("B2", R.raw.yixin_m2, R.drawable.icon_car_b2),
M1("M1", R.raw.m1, R.drawable.icon_car_m1),
C1("C1", R.raw.huanwei, R.drawable.icon_car_c1),;
companion object{
- fun getCarModelFromServerName(serverName:String?): Carmodel {
+ fun getCarModelFromServerName(serverName:String?,tenantId:Long): Carmodel {
return when (serverName) {
"E70" -> {
T1
@@ -29,11 +31,20 @@ enum class Carmodel(val serverName:String,@RawRes val rawValue: Int, val resId:
"NJL6450ICEV" -> {
B1
}
- "B2" -> {
- B2
- }
- "M2" -> {
- B2
+ "B2","M2" -> {
+ when (tenantId) {
+ 344633089273626654,337596266395467809 -> {
+ //德清
+ DeQingB2
+ }
+ 346499501671841863,337197925358633123 -> {
+ //易鑫
+ YiXinB2
+ }
+ else -> {
+ CommonB2
+ }
+ }
}
"M1" -> {
M1
diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt
index 0973f96623..40d8d17ebe 100644
--- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt
+++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerChassisLocationGCJ02ListenerManager.kt
@@ -36,7 +36,7 @@ object CallerChassisLocationGCJ02ListenerManager : CallerBase {
- override fun accept(isAvailable: Boolean) {
- network_is_available = isAvailable
- }
- })
- // 这里执行你的任务
- // 重新安排下一个任务
- handler.postDelayed(this, 5000) // 每隔5秒执行一次
- }
- }
+// var network_is_available = false
+// var network_address = "0.0.0.0"
+//
+// private val handler = Handler(Looper.getMainLooper())
+// private val runnable = object : Runnable {
+// override fun run() {
+// NetworkUtils.isAvailableByPingAsync("49.233.99.26", object : Utils.Consumer {
+// override fun accept(isAvailable: Boolean) {
+// network_is_available = isAvailable
+// }
+// })
+// network_address = NetworkUtils.getIPAddress(true)
+//
+// // 这里执行你的任务
+// // 重新安排下一个任务
+// handler.postDelayed(this, 5000) // 每隔5秒执行一次
+// }
+// }
@Keep
@@ -68,8 +71,8 @@ object MogoAnalyticUtils {
}
Analytics.getInstance().start(context)
- // 启动定时任务
- handler.post(runnable)
+// // 启动定时任务
+// handler.post(runnable)
}
/**
@@ -91,11 +94,11 @@ object MogoAnalyticUtils {
// 网络状态监听
- properties["network_address"] = NetworkUtils.getIPAddress(true)
- properties["network_type"] = NetworkUtils.getNetworkType().name
- properties["network_ssid"] = NetworkUtils.getSSID()
- properties["network_wifi_enabled "] = NetworkUtils.getWifiEnabled()
- properties["network_is_available"] = network_is_available
+// properties["network_address"] = network_address
+// properties["network_type"] = NetworkUtils.getNetworkType().name
+// properties["network_ssid"] = NetworkUtils.getSSID()
+// properties["network_wifi_enabled "] = NetworkUtils.getWifiEnabled()
+// properties["network_is_available"] = network_is_available
} catch (e: Exception) {
e.printStackTrace()
properties["network_type"] = "获取设备网络状态错误"
diff --git a/gradle.properties b/gradle.properties
index 31fb8cd795..8c8f59dc88 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -80,10 +80,10 @@ MOGO_LOCATION_VERSION=1.4.7.42
# 远程通讯模块
MOGO_TELEMATIC_VERSION=1.4.7.42
# 动态换肤SDK
-MOGO_SKIN_VERSION=1.4.7.49.18-debug
+MOGO_SKIN_VERSION=1.4.7.49.19-debug
######## MogoAiCloudSDK Version ########
# 自研地图
-MAP_SDK_VERSION=3.4.1.22
+MAP_SDK_VERSION=3.4.1.26
MAP_SDK_DATA_VERSION=1.0.0.9
MAP_SDK_OPERATION_VERSION=1.1.4.1
# websocket
diff --git a/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt b/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt
index 59b0793681..b56aa18d54 100644
--- a/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt
+++ b/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt
@@ -38,6 +38,8 @@ class IFlyTekTts : IMogoTTS, InitListener {
private var voicer: String = "x4_lingxiaoying_en"
private var voicerEntries: Array? = null
+ @Volatile
+ private var isExpire = false
// 等级由低到高为0、1、2、3,默认为-1表示没有正在tts的
private var curTtsLevel = -1
@@ -305,6 +307,11 @@ class IFlyTekTts : IMogoTTS, InitListener {
}
curTtsEntity = null
curTtsContent = ""
+ if (error.errorCode == 11200) {
+ isExpire = true
+ voicer = "xiaoyan"
+ updateTtsParam()
+ }
}
private val ttsListener = object : SynthesizerListener {
@@ -386,10 +393,14 @@ class IFlyTekTts : IMogoTTS, InitListener {
private fun updateVoicer(language: LanguageType) {
voicerEntries?.let {
- voicer = when (language) {
- LanguageType.ENGLISH -> it[5]
- LanguageType.KOREAN -> it[6]
- else -> it[0]
+ if (!isExpire) {
+ voicer = when (language) {
+ LanguageType.ENGLISH -> it[5]
+ LanguageType.KOREAN -> it[6]
+ else -> it[0]
+ }
+ } else {
+ voicer = "xiaoyan"
}
}
}