From 433c2f24d1bf9766443094df3cd429f1e9c4a1ba Mon Sep 17 00:00:00 2001 From: tanlongsheng <252620078@qq.com> Date: Tue, 1 Jul 2025 15:59:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BC=9A=E8=AE=AE=E5=8A=A9?= =?UTF-8?q?=E6=89=8B=E8=BD=AC=E5=86=99=E8=AE=B0=E5=BD=95=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/core/utils/synchrodata.dart | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/lib/core/utils/synchrodata.dart b/lib/core/utils/synchrodata.dart index 6571862c5..5cca0d2e1 100644 --- a/lib/core/utils/synchrodata.dart +++ b/lib/core/utils/synchrodata.dart @@ -171,19 +171,34 @@ class Synchrodata { List speakerList = jsonDecode(element['original']); if (existSpeakerList.isNotEmpty) { final batch = txn.batch(); - for (var item in speakerList) { - batch.update( - 'meetingspeaker', - item, - where: 'id = ?', - whereArgs: [item['id']], - ); + for (var i = 0; i < existSpeakerList.length; i++) { + Map item = speakerList[i] ?? {}; + if (item.isNotEmpty) { + batch.update( + 'meetingspeaker', + { + 'meetingid': item['meetingid'], + 'content': item['content'], + 'starttime': item['starttime'], + 'endtime': item['endtime'], + 'speaker': item['speaker'], + }, + where: 'id = ?', + whereArgs: [existSpeakerList[i]['id']], + ); + } } await batch.commit(); } else { final batch = txn.batch(); for (var item in speakerList) { - batch.insert('meetingspeaker', item); + batch.insert('meetingspeaker', { + 'meetingid': item['meetingid'], + 'content': item['content'], + 'starttime': item['starttime'], + 'endtime': item['endtime'], + 'speaker': item['speaker'], + }); } await batch.commit(); }