From a17d95b52d4d2feb4b0af44b24884db8d8a8b067 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 16 六月 2023 09:32:32 +0800
Subject: [PATCH] 全域VOC由异步入库改为同步入库,解决超过线程数据后无法入库

---
 src/main/java/com/yssh/scheduled/ReadCsvTask.java  |    2 +-
 src/main/java/com/yssh/service/VocValsService.java |    9 +++++++++
 src/main/java/com/yssh/utils/VocParser.java        |    3 ++-
 pom.xml                                            |    2 +-
 4 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/pom.xml b/pom.xml
index 22271f1..1d0ffd2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
-        <version>2.3.6.RELEASE</version>
+        <version>2.3.3.RELEASE</version>
     </parent>
 
     <packaging>war</packaging>
diff --git a/src/main/java/com/yssh/scheduled/ReadCsvTask.java b/src/main/java/com/yssh/scheduled/ReadCsvTask.java
index f58af6b..cd76a01 100644
--- a/src/main/java/com/yssh/scheduled/ReadCsvTask.java
+++ b/src/main/java/com/yssh/scheduled/ReadCsvTask.java
@@ -91,7 +91,7 @@
 				Date date = (Date)calendar.getTime().clone();
 				EasyCsv.read(filePath, VocVals.class, new VocParser(vocValsService, date)).doRead();
 
-				Thread.sleep(5 * 1000);
+				// Thread.sleep(3 * 1000);
 			} catch (Exception e) {
 				logger.error(e.getMessage(), e);
 			}
diff --git a/src/main/java/com/yssh/service/VocValsService.java b/src/main/java/com/yssh/service/VocValsService.java
index c5d63c6..e82dfcf 100644
--- a/src/main/java/com/yssh/service/VocValsService.java
+++ b/src/main/java/com/yssh/service/VocValsService.java
@@ -55,6 +55,15 @@
         return vocValsMapper.deleteByTime(time);
     }
 
+    public void insertVocSync(List<VocVals> list) {
+        List<List<VocVals>> subLists = Lists.partition(list, 100);
+        for (List<VocVals> sub : subLists) {
+            vocValsMapper.inserts(sub);
+        }
+
+        logger.info("------ VOC.csv锛�" + list.size() + " 鏉℃暟鎹凡鍏ュ簱 ------");
+    }
+
     @Async("threadPoolTaskExecutor")
     public void insertVocVals(List<VocVals> list) throws InterruptedException {
         List<List<VocVals>> lists = Lists.partition(list, IAsyncService.BATCH_INSERT_500);
diff --git a/src/main/java/com/yssh/utils/VocParser.java b/src/main/java/com/yssh/utils/VocParser.java
index d1722a2..85d9889 100644
--- a/src/main/java/com/yssh/utils/VocParser.java
+++ b/src/main/java/com/yssh/utils/VocParser.java
@@ -71,7 +71,8 @@
     private void inserts() {
         try {
             if (list.size() > 0) {
-                this.vocValsService.insertVocVals(list);
+                //this.vocValsService.insertVocVals(list);
+                this.vocValsService.insertVocSync(list);
             }
         } catch (Exception e) {
             logger.error(e.getMessage(), e);

--
Gitblit v1.9.3