Browse Source

Merge remote-tracking branch 'origin/20210716' into 20210716

lihui001 3 years ago
parent
commit
7781d59d61

+ 11 - 1
zoniot-rmcp/zoniot-xxljob-client/src/main/java/com/zcxk/xxljob/service/impl/MeterReadRecordServiceImpl.java

@@ -1,5 +1,6 @@
 package com.zcxk.xxljob.service.impl;
 
+import cn.hutool.core.collection.ListUtil;
 import cn.hutool.core.comparator.CompareUtil;
 import cn.hutool.core.date.LocalDateTimeUtil;
 import cn.hutool.core.map.MapUtil;
@@ -14,6 +15,7 @@ import com.zcxk.rmcp.api.dto.readmeter.WaterMeterDto;
 import com.zcxk.rmcp.api.enums.ReadStatusEnum;
 import com.zcxk.rmcp.core.dao.DeviceMapper;
 import com.zcxk.rmcp.core.dao.MeterReadRecordMapper;
+import com.zcxk.rmcp.core.entity.Device;
 import com.zcxk.rmcp.core.mongo.MeterReadRecord;
 import com.zcxk.xxljob.common.Constants;
 import com.zcxk.xxljob.service.MeterReadRecordService;
@@ -205,6 +207,7 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
         log.info("begin executeSyncMeterReadRecord map = {}",JSON.toJSONString(map));
         int readDay = MapUtil.getInt(map, "readDay");
         List<MeterReadRecordDetailDto> list = findMeterReadRecord(readDay);
+        log.info("begin executeSyncMeterReadRecord list size = {}",list.size());
         List<com.zcxk.rmcp.core.entity.MeterReadRecord> readRecordList = new ArrayList<>();
         if(!list.isEmpty()){
             for (MeterReadRecordDetailDto detail : list) {
@@ -232,7 +235,14 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
                 readRecord.setUpdateBy(Constants.SYS_FLAG);
                 readRecordList.add(readRecord);
             }
-            meterReadRecordMapper.batchInsert(readRecordList);
+
+            if(!readRecordList.isEmpty()){
+                //分批添加
+                List<List<com.zcxk.rmcp.core.entity.MeterReadRecord>> tempList =  ListUtil.split(readRecordList, 5000);
+                for (List<com.zcxk.rmcp.core.entity.MeterReadRecord> meterReadRecords : tempList) {
+                    meterReadRecordMapper.batchInsert(meterReadRecords);
+                }
+            }
         }
         log.info("end executeSyncMeterReadRecord");
     }