package com.landtool.lanbase.modules.org.listener;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
|
import com.alibaba.excel.context.AnalysisContext;
|
import com.alibaba.excel.event.AnalysisEventListener;
|
import com.landtool.lanbase.modules.org.dao.OrgUserDao;
|
import com.landtool.lanbase.modules.org.entity.OrgUser;
|
|
public class OrgUserReadListener extends AnalysisEventListener<OrgUser> {
|
private static final Logger log=LoggerFactory.getLogger(OrgUserReadListener.class);
|
|
private static final int Batch_Count=50;
|
|
private OrgUserDao orgUserDao;
|
|
List< OrgUser> list=new ArrayList<>();
|
|
public OrgUserReadListener(OrgUserDao orgUserDao){
|
|
this.orgUserDao=orgUserDao;
|
}
|
@Override
|
public void invoke(OrgUser data, AnalysisContext context) {
|
list.add(data);
|
if(list.size()>=Batch_Count){
|
saveData();
|
list.clear();
|
}
|
|
|
}
|
|
@Override
|
public void doAfterAllAnalysed(AnalysisContext context) {
|
|
saveData();
|
}
|
|
private void saveData(){
|
log.info("保存100条用户信息开始");
|
orgUserDao.saveBatch(list);
|
//将用户来源应用系统 用数据库触发器的方式在插入的时候进行
|
|
|
log.info("保存100条用户信息结束");
|
}
|
|
|
|
}
|