From b1e5e308801e7d92ef8ccd03518565869c6a2bf9 Mon Sep 17 00:00:00 2001 From: xiaoyan <xiaoyan159@163.com> Date: Tue, 5 Sep 2023 16:58:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=AE=89=E8=A3=85=E4=BA=8B=E5=8A=A1=E6=8F=90=E4=BA=A4=E6=9C=BA?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/navinfo/omqs/db/ImportOMDBHelper.kt | 16 +++++++++------- vtm | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt b/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt index f1c962cc..b3075f93 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt @@ -168,14 +168,15 @@ class ImportOMDBHelper @AssistedInject constructor( // 遍历解压后的文件,读取该数据返回 for (importConfig in importConfigList) { + val realm = Realm.getDefaultInstance() try { for ((index, currentEntry) in importConfig.tableMap.entries.withIndex()) { + realm.beginTransaction() val currentConfig = currentEntry.value val txtFile = unZipFiles.find { it.name == currentConfig.table } // 将listResult数据插入到Realm数据库中 - val realm = Realm.getDefaultInstance() val listResult = mutableListOf<RenderEntity>() currentConfig?.let { val list = FileIOUtils.readFile2List(txtFile, "UTF-8") @@ -619,24 +620,25 @@ class ImportOMDBHelper @AssistedInject constructor( } } listResult.add(renderEntity) + realm.insert(renderEntity) } } } } - // 1个文件发送一次flow流 - emit("${++processIndex}/${tableNum}") - realm.beginTransaction() - realm.insert(listResult) - realm.commitTransaction() - realm.close() // 如果当前解析的是OMDB_RD_LINK数据,将其缓存在预处理类中,以便后续处理其他要素时使用 if (currentConfig.table == "OMDB_RD_LINK") { importConfig.preProcess.cacheRdLink = listResult.associateBy { it.properties["linkPid"] } } + realm.commitTransaction() + // 1个文件发送一次flow流 + emit("${++processIndex}/${tableNum}") } } catch (e: Exception) { + realm.cancelTransaction() throw e + } finally { + realm.close() } } emit("finish") diff --git a/vtm b/vtm index 985dc0a0..a087521b 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit 985dc0a0d590ef6f6784ee2ee5c1c148dff1c46d +Subproject commit a087521b6e1b312d7ed2bdf20f83b0e674fad9b5