测试:
public static void main(String args[]){
List<List<JSONObject>> lists2 = splitLists(lists);
log.info("一层数量:{}",lists2.size());
if (lists2 != null && lists2.size() > 0) {
for (int j = 0; j < lists2.size(); j++) {
List<JSONObject> lists3 = lists2.get(j);
batchCompanys(lists3,restTemplate, token);
}
}
}
/**
* 每次处理1000条数据
* @param list
* @return
*/
public List<List<JSONObject>> splitLists(List<JSONObject> list) {
List<List<JSONObject>> resultLists = new ArrayList();
int listSize = list.size();
int index = 1000;
for (int i = 0; i < list.size(); i += 1000) {
if (i + 1000 > listSize) {
index = listSize - i;
}
List newList = list.subList(i, i + index);
resultLists.add(newList);
}
return resultLists;
}
public void batchCompanys(List<JSONObject> lists, RestTemplate restTemplate, String token) {
log.info("二层数量:{}" , lists.size());
if (lists != null && lists.size() > 0) {
List<String> companys = new ArrayList<>();
for (JSONObject job : lists) {
updateCdp(restTemplate, token, object, job.get("company").toString());
}
}
}