package com.ruoyi.device.excel.upload; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.ruoyi.basic.excel.StructureTestObjectData; import com.ruoyi.basic.service.ProductService; import com.ruoyi.device.pojo.Device; import com.ruoyi.device.service.DeviceService; import com.ruoyi.performance.dto.AuxiliaryCorrectionHoursDto; import com.ruoyi.performance.service.AuxiliaryCorrectionHoursService; import java.util.ArrayList; import java.util.List; public class DeviceListener extends AnalysisEventListener { private static final int BATCH_COUNT = 1000; List list = new ArrayList<>(); private DeviceService deviceService; public DeviceListener(DeviceService deviceService) { this.deviceService = deviceService; } @Override public void invoke(Device data, AnalysisContext analysisContext) { list.add(data); if (list.size() >= BATCH_COUNT) { save(); list.clear(); } } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { save(); } private void save() { deviceService.importExcel(list); } }