From 1198ea43ca127f0a14968d5d57b544a7a2d0cde7 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 05 六月 2023 20:45:53 +0800
Subject: [PATCH] 修改Voc入库的id模式

---
 src/main/java/com/yssh/utils/VocParser.java |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/yssh/utils/VocParser.java b/src/main/java/com/yssh/utils/VocParser.java
index bd29fe3..a18645c 100644
--- a/src/main/java/com/yssh/utils/VocParser.java
+++ b/src/main/java/com/yssh/utils/VocParser.java
@@ -6,6 +6,8 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+import java.math.BigInteger;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -18,20 +20,31 @@
 public class VocParser extends AbstractCsvFileParser<VocVals> {
     protected final Log logger = LogFactory.getLog(this.getClass());
 
+    private final SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHH0000");
+
     /**
      * 姣忛殧5000鏉″叆搴撲竴娆�
      */
-    public static final int BATCH_COUNT = 5000;
+    public static final int BATCH_COUNT = 100000;
+
+    private BigInteger startId;
 
     private VocValsService vocValsService;
 
     private Date date;
 
-    private List<VocVals> list = new ArrayList<>();
+    private List<VocVals> list = new ArrayList<>(BATCH_COUNT);
 
     public VocParser(VocValsService vocValsService, Date date) {
         this.vocValsService = vocValsService;
         this.date = date;
+        this.startId = new BigInteger(format.format(date));
+    }
+
+    public BigInteger getId() {
+        startId = startId.add(BigInteger.valueOf(1));
+
+        return startId;
     }
 
     @Override
@@ -46,17 +59,20 @@
         }
 
         vv.setCreateTime(this.date);
+        vv.setId(getId());
         list.add(vv);
 
         if (list.size() >= BATCH_COUNT) {
             inserts();
-            list = new ArrayList<>();
+            list = new ArrayList<>(BATCH_COUNT);
         }
     }
 
     private void inserts() {
         try {
-            this.vocValsService.insertVocVals(list);
+            if (list.size() > 0) {
+                this.vocValsService.insertVocVals(list);
+            }
         } catch (Exception e) {
             logger.error(e.getMessage());
             e.printStackTrace();

--
Gitblit v1.9.3