int pageNumber = 1;
// 每个波次包含多少个客户
int pageSize = 40;
// 利用分页 解决一个波次包含n个客户
for (int page = pageNumber; (page - 1) * pageSize < clientList.size(); page++) {
Wave wave = new Wave();
wave.setStoreId(storeId);
wave.setWaveCode(sequenceDataService.getNextSeq(SequenceType.SR_WAVE));
wave.setPickSort(getWavePickSort(null));
super.save(wave);
List<String> pageResult = getPageResult(clientList, page, pageSize);
for (String clientId : pageResult) {
List<StockOut> stockOuts = collect.get(clientId);
stockOuts.forEach(item->item.setWaveId(wave.getId()));
stockOutService.updateBatchById(stockOuts);
}
}
/**
* 分页方法
*
* @param list
* @param page
* @param size
*/
public static List<String> getPageResult(List<String> list, int page, int size) {
//模拟分页效果
return list.stream().skip((page - 1) * size)
.limit(size)
.collect(Collectors.toList());
}
利用分页,分割List条数,每段40
最新推荐文章于 2024-07-29 14:22:26 发布