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(); }