|
@@ -639,60 +639,63 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
|
|
|
jsonObject.put("agent_id", token.getLong("accountId"));
|
|
|
jsonObject.put("start_date", startDate);
|
|
|
jsonObject.put("end_date", endDate);
|
|
|
- jsonObject.put("page_size", 1000);
|
|
|
+ jsonObject.put("cursor_size", 1000);
|
|
|
|
|
|
- getAgentReportByPage(token, jsonObject, 1);
|
|
|
+ getAgentReportByPage(token, jsonObject, 0L);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取代理商
|
|
|
*/
|
|
|
- private void getAgentReportByPage(JSONObject token, JSONObject conditions, Integer page) {
|
|
|
- conditions.put("page", page);
|
|
|
+ private void getAgentReportByPage(JSONObject token, JSONObject conditions, Long cursor) {
|
|
|
+ conditions.put("cursor", cursor);
|
|
|
SerializeConfig config = new SerializeConfig();
|
|
|
config.propertyNamingStrategy = PropertyNamingStrategy.SnakeCase;
|
|
|
JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(conditions, config));
|
|
|
-// System.out.println("----------------入参:" + jsonObject);
|
|
|
-// System.out.println("-");
|
|
|
JSONObject getObject = getAgentStat(token, jsonObject);
|
|
|
-// System.out.println("----------------结果:" + getObject);
|
|
|
if (null == getObject) {
|
|
|
XxlJobHelper.log("头条代理商数据获取异常");
|
|
|
return;
|
|
|
}
|
|
|
Integer code = getObject.getInteger("code");
|
|
|
if (code == 0) {
|
|
|
- JSONArray dataArray = getObject.getJSONObject("data").getJSONArray("list");
|
|
|
- if (null == dataArray || dataArray.isEmpty()) {
|
|
|
- return;
|
|
|
- }
|
|
|
- List<BytedanceAgentReportDaily> dailyList = new ArrayList<>();
|
|
|
- try {
|
|
|
- Integer startDate = DateUtils.getDateInteger(conditions.getString("start_date"));
|
|
|
- for (int i = 0; i < dataArray.size(); i++) {
|
|
|
- JSONObject data = dataArray.getJSONObject(i);
|
|
|
- // 日报
|
|
|
- BytedanceAgentReportDaily dailyReport = JSONObject.parseObject(data.toJSONString(), BytedanceAgentReportDaily.class);
|
|
|
- dailyReport.setStatDatetime(String.valueOf(startDate));
|
|
|
- dailyList.add(dailyReport);
|
|
|
+ JSONObject dataJson = getObject.getJSONObject("data");
|
|
|
+ if (!Check.isNull(dataJson)) {
|
|
|
+ JSONObject cursorInfo = dataJson.getJSONObject("cursor_info");
|
|
|
+ if (!Check.isNull(cursorInfo)) {
|
|
|
+ if (cursorInfo.getInteger("has_more") == 2) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ cursor = cursorInfo.getLong("cursor");
|
|
|
}
|
|
|
- if (dailyList.size() > 0) {
|
|
|
- bytedanceAgentReportDailyMapper.insert(dailyList);
|
|
|
+ JSONArray dataArray = dataJson.getJSONArray("list");
|
|
|
+ if (null == dataArray || dataArray.isEmpty()) {
|
|
|
+ return;
|
|
|
}
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- log.info("获取代理商数据错误:{}", e.toString());
|
|
|
+ List<BytedanceAgentReportDaily> dailyList = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ Integer startDate = DateUtils.getDateInteger(conditions.getString("start_date"));
|
|
|
+ for (int i = 0; i < dataArray.size(); i++) {
|
|
|
+ JSONObject data = dataArray.getJSONObject(i);
|
|
|
+ // 日报
|
|
|
+ BytedanceAgentReportDaily dailyReport = JSONObject.parseObject(data.toJSONString(), BytedanceAgentReportDaily.class);
|
|
|
+ dailyReport.setStatDatetime(String.valueOf(startDate));
|
|
|
+ dailyList.add(dailyReport);
|
|
|
+ }
|
|
|
+ if (dailyList.size() > 0) {
|
|
|
+ bytedanceAgentReportDailyMapper.insert(dailyList);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ log.info("获取代理商数据错误:{}", e.toString());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ log.error("获取代理商获取失败,结果:{}", getObject.getString("message"));
|
|
|
+ return;
|
|
|
}
|
|
|
- } else {
|
|
|
- log.error("获取代理商获取失败,结果:{}", getObject.getString("message"));
|
|
|
- return;
|
|
|
- }
|
|
|
- page++;
|
|
|
- int totalPage =
|
|
|
- getObject.getJSONObject("data").getJSONObject("page_info").getInteger("total_page");
|
|
|
- if (page <= totalPage) {
|
|
|
- getAgentReportByPage(token, conditions, page);
|
|
|
}
|
|
|
+ getAgentReportByPage(token, conditions, cursor);
|
|
|
+
|
|
|
|
|
|
}
|
|
|
|