diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/obu/V2xObuEventManager.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/obu/V2xObuEventManager.kt index ca97cd6b45..a1153493fe 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/obu/V2xObuEventManager.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/obu/V2xObuEventManager.kt @@ -27,13 +27,27 @@ object V2xObuEventManager : IMoGoObuSaveMessageListener { CallerObuSaveMessageListenerManager.removeListener(TAG) } + private val obuDataMap = mutableMapOf() + /** * @param type 事件id,类似与uuid * @param content 事件内容 - * @param tts 事件语音播报 + * @param tts 事件语音播报 //30秒内同一个事件只出现一次 TODO 临时添加,后面宏宇统一在数据中心处理 */ override fun onMoGoObuSaveMessage(type: String, content: String, tts: String, source: DataSourceType) { if (content.isNotEmpty()) { + if (obuDataMap.containsKey(type)) { + var oldTime = obuDataMap[type] + var timeDiff = (System.currentTimeMillis() - oldTime!!) / 1000 + if (timeDiff < 30) { + return + } + obuDataMap.remove(type) + obuDataMap[type] = System.currentTimeMillis() + } else { + obuDataMap[type] = System.currentTimeMillis() + } + CallerMsgBoxManager.saveMsgBox( MsgBoxBean( MsgBoxType.V2X, diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt index a4b0d19ddb..0c64d6a0b1 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt @@ -1037,6 +1037,8 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener { ) } + private val ttsMap = mutableMapOf() + /** * 消息盒子对应消息的语音播报 */ @@ -1046,6 +1048,19 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener { tts: String, direction: WarningDirectionEnum ) { + //30秒内同一个事件只出现一次 TODO 临时添加,后面宏宇统一在数据中心处理 + if (ttsMap.containsKey(type)) { + var oldTime = ttsMap[type] + var timeDiff = (System.currentTimeMillis() - oldTime!!) / 1000 + if (timeDiff < 30) { + return + } + ttsMap.remove(type) + ttsMap[type] = System.currentTimeMillis() + } else { + ttsMap[type] = System.currentTimeMillis() + } + CallerHmiManager.warningV2X( type, content,