Procházet zdrojové kódy

直播数据报表 导入功能 分批次导入

zhaoxian před 3 roky
rodič
revize
a489a2bf5a
12 změnil soubory, kde provedl 136 přidání a 38 odebrání
  1. 4 2
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/mapper/LiveDataAdMapper.java
  2. 6 5
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/mapper/LiveDataAgeMapper.java
  3. 4 2
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/mapper/LiveDataGenderMapper.java
  4. 4 2
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/mapper/LiveDataPriceMapper.java
  5. 2 1
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/mapper/LiveDataProvinceMapper.java
  6. 2 1
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/mapper/LiveDataTouchMapper.java
  7. 19 4
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataAdServiceImpl.java
  8. 19 4
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataAgeServiceImpl.java
  9. 19 4
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataGenderServiceImpl.java
  10. 19 4
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataPriceServiceImpl.java
  11. 19 4
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataProvinceServiceImpl.java
  12. 19 5
      jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataTouchServiceImpl.java

+ 4 - 2
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/mapper/LiveDataAdMapper.java

@@ -1,10 +1,12 @@
 package cn.com.ctop.kuaishou.modules.live.mapper;
 
 import cn.com.ctop.kuaishou.modules.live.entity.LiveDataAd;
-import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * 直播数据——广告人群报表
  *
@@ -14,5 +16,5 @@ import org.apache.ibatis.annotations.Param;
  */
 public interface LiveDataAdMapper extends BaseMapper<LiveDataAd> {
 
-    void replaceBatch(@Param("list") JSONArray array);
+    void replaceBatch(@Param("list") List<JSONObject> array);
 }

+ 6 - 5
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/mapper/LiveDataAgeMapper.java

@@ -1,21 +1,22 @@
 package cn.com.ctop.kuaishou.modules.live.mapper;
 
 
-import java.util.List;
-
 import cn.com.ctop.kuaishou.modules.live.entity.LiveDataAge;
-import com.alibaba.fastjson.JSONArray;
-import org.apache.ibatis.annotations.Param;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * 直播数据——各年龄段人群报表
+ *
  * @author jeecg-boot
  * 2022-04-06
  * @version V1.0
  */
 public interface LiveDataAgeMapper extends BaseMapper<LiveDataAge> {
 
-    void replaceBatch(@Param("list") JSONArray array);
+    void replaceBatch(@Param("list") List<JSONObject> array);
 
 }

+ 4 - 2
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/mapper/LiveDataGenderMapper.java

@@ -2,10 +2,12 @@ package cn.com.ctop.kuaishou.modules.live.mapper;
 
 
 import cn.com.ctop.kuaishou.modules.live.entity.LiveDataGender;
-import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * 直播数据——性别人群报表
  *
@@ -15,6 +17,6 @@ import org.apache.ibatis.annotations.Param;
  */
 public interface LiveDataGenderMapper extends BaseMapper<LiveDataGender> {
 
-    void replaceBatch(@Param("list") JSONArray array);
+    void replaceBatch(@Param("list") List<JSONObject> array);
 
 }

+ 4 - 2
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/mapper/LiveDataPriceMapper.java

@@ -2,10 +2,12 @@ package cn.com.ctop.kuaishou.modules.live.mapper;
 
 
 import cn.com.ctop.kuaishou.modules.live.entity.LiveDataPrice;
-import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * 直播数据——设备价格人群报表
  *
@@ -15,6 +17,6 @@ import org.apache.ibatis.annotations.Param;
  */
 public interface LiveDataPriceMapper extends BaseMapper<LiveDataPrice> {
 
-    void replaceBatch(@Param("list") JSONArray array);
+    void replaceBatch(@Param("list") List<JSONObject> array);
 
 }

+ 2 - 1
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/mapper/LiveDataProvinceMapper.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import cn.com.ctop.kuaishou.modules.live.entity.LiveDataProvince;
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import org.apache.ibatis.annotations.Param;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -15,5 +16,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface LiveDataProvinceMapper extends BaseMapper<LiveDataProvince> {
 
-    void replaceBatch(@Param("list") JSONArray array);
+    void replaceBatch(@Param("list") List<JSONObject> array);
 }

+ 2 - 1
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/mapper/LiveDataTouchMapper.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import cn.com.ctop.kuaishou.modules.live.entity.LiveDataTouch;
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import org.apache.ibatis.annotations.Param;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -15,5 +16,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface LiveDataTouchMapper extends BaseMapper<LiveDataTouch> {
 
-    void replaceBatch(@Param("list") JSONArray array);
+    void replaceBatch(@Param("list") List<JSONObject> array);
 }

+ 19 - 4
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataAdServiceImpl.java

@@ -12,6 +12,7 @@ import cn.hutool.core.util.CharsetUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Lists;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -70,7 +71,7 @@ public class LiveDataAdServiceImpl extends ServiceImpl<LiveDataAdMapper, LiveDat
         //获取映射关系
         JSONObject titleObj = liveDataUtil.getAdTitle(eeu, titleRow, lastCellNum);
 
-        JSONArray array = new JSONArray();
+       List<JSONObject> array = new ArrayList<>();
         for (int i = 1; i <= rows + 1; i++) {
             Row row = sheet.getRow(i);
             if (row != null) {
@@ -90,7 +91,14 @@ public class LiveDataAdServiceImpl extends ServiceImpl<LiveDataAdMapper, LiveDat
             }
         }
         if (!Check.isNull(array)) {
-            baseMapper.replaceBatch(array);
+            if (array.size() > 5000) {
+                List<List<JSONObject>> splitVideos = Lists.partition(array, 5000);
+                for (List<JSONObject> splitVideo : splitVideos) {
+                    baseMapper.replaceBatch(splitVideo);
+                }
+            } else {
+                baseMapper.replaceBatch(array);
+            }
         }
         //记录枚举中不存在活不匹配的字段
         String sign = titleObj.getString("sign");
@@ -120,7 +128,7 @@ public class LiveDataAdServiceImpl extends ServiceImpl<LiveDataAdMapper, LiveDat
         List<List<String>> list = liveDataUtil.getCsvList(records);
         //获取映射关系
         JSONObject titleObj = liveDataUtil.getCsvAdTitle(list.get(0));
-        JSONArray array = new JSONArray();
+       List<JSONObject> array = new ArrayList<>();
         for (int i = 1; i < list.size(); i++) {
             List<String> values = list.get(i);
             JSONObject entityObj = new JSONObject();
@@ -151,7 +159,14 @@ public class LiveDataAdServiceImpl extends ServiceImpl<LiveDataAdMapper, LiveDat
         }
 
         if (!Check.isNull(array)) {
-            baseMapper.replaceBatch(array);
+            if (array.size() > 5000) {
+                List<List<JSONObject>> splitVideos = Lists.partition(array, 5000);
+                for (List<JSONObject> splitVideo : splitVideos) {
+                    baseMapper.replaceBatch(splitVideo);
+                }
+            } else {
+                baseMapper.replaceBatch(array);
+            }
         }
         //记录枚举中不存在活不匹配的字段
         String sign = titleObj.getString("sign");

+ 19 - 4
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataAgeServiceImpl.java

@@ -11,6 +11,7 @@ import cn.hutool.core.util.CharsetUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Lists;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -73,7 +74,7 @@ public class LiveDataAgeServiceImpl extends ServiceImpl<LiveDataAgeMapper, LiveD
             return Result.error("导入失败,文档中不包含【年龄分段】字段");
         }
 
-        JSONArray array = new JSONArray();
+       List<JSONObject> array = new ArrayList<>();
         for (int i = 1; i <= rows + 1; i++) {
             Row row = sheet.getRow(i);
             if (row != null) {
@@ -94,7 +95,14 @@ public class LiveDataAgeServiceImpl extends ServiceImpl<LiveDataAgeMapper, LiveD
             }
         }
         if (!Check.isNull(array)) {
-            baseMapper.replaceBatch(array);
+            if (array.size() > 5000) {
+                List<List<JSONObject>> splitVideos = Lists.partition(array, 5000);
+                for (List<JSONObject> splitVideo : splitVideos) {
+                    baseMapper.replaceBatch(splitVideo);
+                }
+            } else {
+                baseMapper.replaceBatch(array);
+            }
         }
         //记录枚举中不存在活不匹配的字段
         String sign = titleObj.getString("sign");
@@ -128,7 +136,7 @@ public class LiveDataAgeServiceImpl extends ServiceImpl<LiveDataAgeMapper, LiveD
             return Result.error("导入失败,文档中不包含【年龄分段】字段");
         }
 
-        JSONArray array = new JSONArray();
+       List<JSONObject> array = new ArrayList<>();
         for (int i = 1; i < list.size(); i++) {
             List<String> values = list.get(i);
             JSONObject entityObj = new JSONObject();
@@ -158,7 +166,14 @@ public class LiveDataAgeServiceImpl extends ServiceImpl<LiveDataAgeMapper, LiveD
         }
 
         if (!Check.isNull(array)) {
-            baseMapper.replaceBatch(array);
+            if (array.size() > 5000) {
+                List<List<JSONObject>> splitVideos = Lists.partition(array, 5000);
+                for (List<JSONObject> splitVideo : splitVideos) {
+                    baseMapper.replaceBatch(splitVideo);
+                }
+            } else {
+                baseMapper.replaceBatch(array);
+            }
         }
         //记录枚举中不存在活不匹配的字段
         String sign = titleObj.getString("sign");

+ 19 - 4
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataGenderServiceImpl.java

@@ -12,6 +12,7 @@ import cn.hutool.core.util.CharsetUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Lists;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -74,7 +75,7 @@ public class LiveDataGenderServiceImpl extends ServiceImpl<LiveDataGenderMapper,
             return Result.error("导入失败,文档中不包含【性别】字段");
         }
 
-        JSONArray array = new JSONArray();
+       List<JSONObject> array = new ArrayList<>();
         for (int i = 1; i <= rows + 1; i++) {
             Row row = sheet.getRow(i);
             if (row != null) {
@@ -95,7 +96,14 @@ public class LiveDataGenderServiceImpl extends ServiceImpl<LiveDataGenderMapper,
             }
         }
         if (!Check.isNull(array)) {
-            baseMapper.replaceBatch(array);
+            if (array.size() > 5000) {
+                List<List<JSONObject>> splitVideos = Lists.partition(array, 5000);
+                for (List<JSONObject> splitVideo : splitVideos) {
+                    baseMapper.replaceBatch(splitVideo);
+                }
+            } else {
+                baseMapper.replaceBatch(array);
+            }
         }
         //记录枚举中不存在活不匹配的字段
         String sign = titleObj.getString("sign");
@@ -129,7 +137,7 @@ public class LiveDataGenderServiceImpl extends ServiceImpl<LiveDataGenderMapper,
             return Result.error("导入失败,文档中不包含【性别】字段");
         }
 
-        JSONArray array = new JSONArray();
+       List<JSONObject> array = new ArrayList<>();
         for (int i = 1; i < list.size(); i++) {
             List<String> values = list.get(i);
             JSONObject entityObj = new JSONObject();
@@ -159,7 +167,14 @@ public class LiveDataGenderServiceImpl extends ServiceImpl<LiveDataGenderMapper,
         }
 
         if (!Check.isNull(array)) {
-            baseMapper.replaceBatch(array);
+            if (array.size() > 5000) {
+                List<List<JSONObject>> splitVideos = Lists.partition(array, 5000);
+                for (List<JSONObject> splitVideo : splitVideos) {
+                    baseMapper.replaceBatch(splitVideo);
+                }
+            } else {
+                baseMapper.replaceBatch(array);
+            }
         }
         //记录枚举中不存在活不匹配的字段
         String sign = titleObj.getString("sign");

+ 19 - 4
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataPriceServiceImpl.java

@@ -11,6 +11,7 @@ import cn.hutool.core.util.CharsetUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Lists;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -72,7 +73,7 @@ public class LiveDataPriceServiceImpl extends ServiceImpl<LiveDataPriceMapper, L
         if (!titleObj.containsValue(TYPE)) {
             return Result.error("导入失败,文档中不包含【设备价格】字段");
         }
-        JSONArray array = new JSONArray();
+       List<JSONObject> array = new ArrayList<>();
         for (int i = 1; i <= rows + 1; i++) {
             Row row = sheet.getRow(i);
             if (row != null) {
@@ -93,7 +94,14 @@ public class LiveDataPriceServiceImpl extends ServiceImpl<LiveDataPriceMapper, L
             }
         }
         if (!Check.isNull(array)) {
-            baseMapper.replaceBatch(array);
+            if (array.size() > 5000) {
+                List<List<JSONObject>> splitVideos = Lists.partition(array, 5000);
+                for (List<JSONObject> splitVideo : splitVideos) {
+                    baseMapper.replaceBatch(splitVideo);
+                }
+            } else {
+                baseMapper.replaceBatch(array);
+            }
         }
         //记录枚举中不存在活不匹配的字段
         String sign = titleObj.getString("sign");
@@ -127,7 +135,7 @@ public class LiveDataPriceServiceImpl extends ServiceImpl<LiveDataPriceMapper, L
             return Result.error("导入失败,文档中不包含【设备价格】字段");
         }
 
-        JSONArray array = new JSONArray();
+       List<JSONObject> array = new ArrayList<>();
         for (int i = 1; i < list.size(); i++) {
             List<String> values = list.get(i);
             JSONObject entityObj = new JSONObject();
@@ -157,7 +165,14 @@ public class LiveDataPriceServiceImpl extends ServiceImpl<LiveDataPriceMapper, L
         }
 
         if (!Check.isNull(array)) {
-            baseMapper.replaceBatch(array);
+            if (array.size() > 5000) {
+                List<List<JSONObject>> splitVideos = Lists.partition(array, 5000);
+                for (List<JSONObject> splitVideo : splitVideos) {
+                    baseMapper.replaceBatch(splitVideo);
+                }
+            } else {
+                baseMapper.replaceBatch(array);
+            }
         }
         //记录枚举中不存在活不匹配的字段
         String sign = titleObj.getString("sign");

+ 19 - 4
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataProvinceServiceImpl.java

@@ -11,6 +11,7 @@ import cn.hutool.core.util.CharsetUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Lists;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -72,7 +73,7 @@ public class LiveDataProvinceServiceImpl extends ServiceImpl<LiveDataProvinceMap
         if (!titleObj.containsValue(TYPE)) {
             return Result.error("导入失败,文档中不包含【省份】字段");
         }
-        JSONArray array = new JSONArray();
+        List<JSONObject> array = new ArrayList<>();
         for (int i = 1; i <= rows + 1; i++) {
             Row row = sheet.getRow(i);
             if (row != null) {
@@ -93,7 +94,14 @@ public class LiveDataProvinceServiceImpl extends ServiceImpl<LiveDataProvinceMap
             }
         }
         if (!Check.isNull(array)) {
-            baseMapper.replaceBatch(array);
+            if (array.size() > 5000) {
+                List<List<JSONObject>> splitVideos = Lists.partition(array, 5000);
+                for (List<JSONObject> splitVideo : splitVideos) {
+                    baseMapper.replaceBatch(splitVideo);
+                }
+            } else {
+                baseMapper.replaceBatch(array);
+            }
         }
         //记录枚举中不存在活不匹配的字段
         String sign = titleObj.getString("sign");
@@ -126,7 +134,7 @@ public class LiveDataProvinceServiceImpl extends ServiceImpl<LiveDataProvinceMap
         if (!titleObj.containsValue(TYPE)) {
             return Result.error("导入失败,文档中不包含【省份】字段");
         }
-        JSONArray array = new JSONArray();
+        List<JSONObject> array = new ArrayList<>();
         for (int i = 1; i < list.size(); i++) {
             List<String> values = list.get(i);
             JSONObject entityObj = new JSONObject();
@@ -156,7 +164,14 @@ public class LiveDataProvinceServiceImpl extends ServiceImpl<LiveDataProvinceMap
         }
 
         if (!Check.isNull(array)) {
-            baseMapper.replaceBatch(array);
+            if (array.size() > 5000) {
+                List<List<JSONObject>> splitVideos = Lists.partition(array, 5000);
+                for (List<JSONObject> splitVideo : splitVideos) {
+                    baseMapper.replaceBatch(splitVideo);
+                }
+            } else {
+                baseMapper.replaceBatch(array);
+            }
         }
         //记录枚举中不存在活不匹配的字段
         String sign = titleObj.getString("sign");

+ 19 - 5
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/live/service/impl/LiveDataTouchServiceImpl.java

@@ -3,7 +3,6 @@ package cn.com.ctop.kuaishou.modules.live.service.impl;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.ExportExcelUtils;
 import cn.com.ctop.kuaishou.modules.live.entity.LiveDataTouch;
-import cn.com.ctop.kuaishou.modules.live.enums.ProvinceEnum;
 import cn.com.ctop.kuaishou.modules.live.enums.TouchEnum;
 import cn.com.ctop.kuaishou.modules.live.enums.liveDataUtil;
 import cn.com.ctop.kuaishou.modules.live.mapper.LiveDataTouchMapper;
@@ -12,6 +11,7 @@ import cn.hutool.core.util.CharsetUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Lists;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -69,7 +69,7 @@ public class LiveDataTouchServiceImpl extends ServiceImpl<LiveDataTouchMapper, L
         //获取映射关系
         JSONObject titleObj = liveDataUtil.getTouchTitle(eeu, titleRow, lastCellNum);
 
-        JSONArray array = new JSONArray();
+        List<JSONObject> array = new ArrayList<>();
         for (int i = 1; i <= rows + 1; i++) {
             Row row = sheet.getRow(i);
             if (row != null) {
@@ -89,7 +89,14 @@ public class LiveDataTouchServiceImpl extends ServiceImpl<LiveDataTouchMapper, L
             }
         }
         if (!Check.isNull(array)) {
-            baseMapper.replaceBatch(array);
+            if (array.size() > 5000) {
+                List<List<JSONObject>> splitVideos = Lists.partition(array, 5000);
+                for (List<JSONObject> splitVideo : splitVideos) {
+                    baseMapper.replaceBatch(splitVideo);
+                }
+            } else {
+                baseMapper.replaceBatch(array);
+            }
         }
         //记录枚举中不存在、不匹配的字段
         String sign = titleObj.getString("sign");
@@ -118,7 +125,7 @@ public class LiveDataTouchServiceImpl extends ServiceImpl<LiveDataTouchMapper, L
         List<List<String>> list = liveDataUtil.getCsvList(records);
         //获取映射关系
         JSONObject titleObj = liveDataUtil.getCsvTouchTitle(list.get(0));
-        JSONArray array = new JSONArray();
+        List<JSONObject> array = new ArrayList<>();
         for (int i = 1; i < list.size(); i++) {
             List<String> values = list.get(i);
             JSONObject entityObj = new JSONObject();
@@ -149,7 +156,14 @@ public class LiveDataTouchServiceImpl extends ServiceImpl<LiveDataTouchMapper, L
         }
 
         if (!Check.isNull(array)) {
-            baseMapper.replaceBatch(array);
+            if (array.size() > 5000) {
+                List<List<JSONObject>> splitVideos = Lists.partition(array, 5000);
+                for (List<JSONObject> splitVideo : splitVideos) {
+                    baseMapper.replaceBatch(splitVideo);
+                }
+            } else {
+                baseMapper.replaceBatch(array);
+            }
         }
         //记录枚举中不存在活不匹配的字段
         String sign = titleObj.getString("sign");