在项目中如何需要用到全量同步数据给到第三方,第三方一般接口都会有限制 比如分页传递啊 一次多少个啊,下面我分享下 传递人员数据给到云学堂 分批次传递
云学堂接口 限制一次二百人 也就是二百条数据
JSONObject data;
JSONArray dataArray = new JSONArray();
rs.executeQuery(" select t1.id,t1.LOGINID,t1.LASTNAME,t1.WORKCODE,t1.DEPARTMENTID from HRMRESOURCE t1 where t1.status !=5");
while (rs.next()) {
data = new JSONObject();
data.put("thirdUserId", rs.getString(1));
data.put("username", rs.getString(2));
data.put("fullname", rs.getString(3));
data.put("userNo", rs.getString(4));
data.put("deptThirdId", rs.getString(5));
dataArray.add(data);
}
第一步:先从数据库查出来所有的数据 封装到数组里面
for (int i = 0; i < dataArray.size(); i += CloudSchoolUtil.BATCH_SIZE) {
List batch = dataArray.subList(i, Math.min(i + CloudSchoolUtil.BATCH_SIZE, dataArray.size()));
JSONObject parms = new JSONObject();
parms.put("datas", batch);
CloudSchoolUtil.postJsonData(CloudSchoolUtil.getValue("syusers"), parms.toString());
}
第二步:根据对方要求 分批次传送,其中 CloudSchoolUtil.BATCH_SIZE 为对方要求条目数 也就是一次最多 多少条数据.
当然也可以 用sql分页去查询 然后传递 方法有很多 看哪种适合当前场景