public void insertDataPre(List<MbTranHist> mbTranHists) {
MoveDataToolsService dataToolsService = SpringApplicationContext.getBean("moveDataToolsService");
long subTableSize= Long.parseLong(env.getProperty("db.subTableSize"));//获取子表数
long modResult= Long.parseLong(env.getProperty("db.result"));//模运算结果
Predicate<MbTranHist> filter = mbTranHist -> !mbTranHist.getClientType().equals("90");
Predicate<MbTranHist> filter2 = mbTranHist -> Long.parseLong(mbTranHist.getRouterKey()) % subTableSize == modResult;
List<MbTranHist> insetTranHistNew = mbTranHists.stream().filter(filter.or(filter2)).collect(Collectors.toList());
mbTranHists.removeAll(insetTranHistNew);
Map<String,List<MbTranHist>> listMap = mbTranHists.stream()
.collect(Collectors.groupingBy(mbTranHist -> String.valueOf(Long.parseLong(mbTranHist.getRouterKey()) % subTableSize)));
//插入mb_tran_hist_new
dataToolsService.inserMbTranHistNewBatch(insetTranHistNew);
//插入其他各个子表
listMap.forEach((groupKey,list)->{
dataToolsService.inserMbTranHistBatch(list);
});
}