|
@@ -34,25 +34,79 @@ public class KuaishouDailyAudienceReportJob {
|
|
|
@Autowired
|
|
|
private IKuaishouStrategyService kuaishouStrategyService;
|
|
|
|
|
|
- static ExecutorService executorService = Executors.newFixedThreadPool(6);
|
|
|
+ static ExecutorService executorService = Executors.newFixedThreadPool(35);
|
|
|
+ static ExecutorService executorService2 = Executors.newFixedThreadPool(2);
|
|
|
|
|
|
@XxlJob("kuaishouDailyAudienceReportJob")
|
|
|
public void execute() throws Exception {
|
|
|
- List<CtopOauthToken> tokens = tokenService.selectKuaiShouToken();
|
|
|
- if (null == tokens || tokens.isEmpty()) {
|
|
|
- XxlJobHelper.log("定时获取人群分析报表数据异常:未获取到可用的token");
|
|
|
- XxlJobHelper.handleFail();
|
|
|
- return;
|
|
|
- }
|
|
|
- //查询手淘有效账户数据
|
|
|
- List<Long> accountIds = kuaishouStrategyService.queryShouTaoAccounts();
|
|
|
- if (Check.isNull(accountIds) || accountIds.size() == 0) {
|
|
|
- XxlJobHelper.log("定时获取人群分析报表数据异常:未获取到有效策略账户信息");
|
|
|
- XxlJobHelper.handleFail();
|
|
|
- return;
|
|
|
+// List<CtopOauthToken> tokens = tokenService.selectKuaiShouToken();
|
|
|
+// if (null == tokens || tokens.isEmpty()) {
|
|
|
+// XxlJobHelper.log("定时获取人群分析报表数据异常:未获取到可用的token");
|
|
|
+// XxlJobHelper.handleFail();
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// //查询手淘有效账户数据
|
|
|
+// List<Long> accountIds = kuaishouStrategyService.queryShouTaoAccounts();
|
|
|
+// if (Check.isNull(accountIds) || accountIds.size() == 0) {
|
|
|
+// XxlJobHelper.log("定时获取人群分析报表数据异常:未获取到有效策略账户信息");
|
|
|
+// XxlJobHelper.handleFail();
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// //筛选出有效账户,获取该账户的组级人群报表数据
|
|
|
+// List<CtopOauthToken> activeTokens = new ArrayList<>();
|
|
|
+// for (Long accountId : accountIds) {
|
|
|
+// for (CtopOauthToken token : tokens) {
|
|
|
+// if (token.getAccountId() - accountId == 0) {
|
|
|
+// activeTokens.add(token);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// if (!Check.isNull(activeTokens) && activeTokens.size() > 0) {
|
|
|
+// int page = 1;
|
|
|
+// int pageSize = 2000;
|
|
|
+// //查询两天前日期
|
|
|
+// String date = DateUtils.getLastDay(DateUtils.date2Str(), 2);
|
|
|
+// activeTokens.forEach(token -> executorService.submit(() -> {
|
|
|
+// getAudienceReportData(token, date, "province", page, pageSize);
|
|
|
+// getAudienceReportData(token, date, "city", page, pageSize);
|
|
|
+// getAudienceReportData(token, date, "gender", page, pageSize);
|
|
|
+// getAudienceReportData(token, date, "ageSegment", page, pageSize);
|
|
|
+// getAudienceReportData(token, date, "clientId", page, pageSize);
|
|
|
+// getAudienceReportData(token, date, "businessInterestTags", page, pageSize);
|
|
|
+// }));
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// private void getAudienceReportData(CtopOauthToken token, String date, String type, Integer page, Integer pageSize) {
|
|
|
+// try {
|
|
|
+// List<KuaiShouGroup> kuaiShouGroups = kuaiShouGroupService.queryUnitInfoByAccountId(token.getAccountId());
|
|
|
+// for (KuaiShouGroup kuaiShouGroup : kuaiShouGroups) {
|
|
|
+// kuaishouAudienceReportDailyService.crowdAnalysisReport(token, date, type, kuaiShouGroup.getCampaignId(), kuaiShouGroup.getUnitId(), page, pageSize);
|
|
|
+// }
|
|
|
+// } catch (Exception e) {
|
|
|
+// XxlJobHelper.log("定时获取人群分析报表数据异常", e);
|
|
|
+// }
|
|
|
+// }
|
|
|
+ ReportDaily();
|
|
|
+ }
|
|
|
+
|
|
|
+ public void ReportDaily() throws Exception {
|
|
|
+ //查询两天前数据 策略
|
|
|
+ List<String> dates = new ArrayList<>();
|
|
|
+ for (int i = 2; i < 33; i++) {
|
|
|
+ String dat = DateUtils.getLastDay(DateUtils.date2Str(), i);
|
|
|
+ dates.add(dat);
|
|
|
}
|
|
|
+ List<CtopOauthToken> tokens = tokenService.selectKuaiShouToken();
|
|
|
//筛选出有效账户,获取该账户的组级人群报表数据
|
|
|
List<CtopOauthToken> activeTokens = new ArrayList<>();
|
|
|
+ List<Long> accountIds = new ArrayList<>();
|
|
|
+ accountIds.add(9556344L);
|
|
|
+ accountIds.add(9743727L);
|
|
|
+ accountIds.add(9743738L);
|
|
|
+ accountIds.add(9812668L);
|
|
|
+ accountIds.add(9901966L);
|
|
|
+ accountIds.add(9767034L);
|
|
|
for (Long accountId : accountIds) {
|
|
|
for (CtopOauthToken token : tokens) {
|
|
|
if (token.getAccountId() - accountId == 0) {
|
|
@@ -60,20 +114,19 @@ public class KuaishouDailyAudienceReportJob {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if (!Check.isNull(activeTokens) && activeTokens.size() > 0) {
|
|
|
- int page = 1;
|
|
|
- int pageSize = 2000;
|
|
|
- //查询两天前日期
|
|
|
- String date = DateUtils.getLastDay(DateUtils.date2Str(), 2);
|
|
|
- activeTokens.forEach(token -> executorService.submit(() -> {
|
|
|
- getAudienceReportData(token, date, "province", page, pageSize);
|
|
|
- getAudienceReportData(token, date, "city", page, pageSize);
|
|
|
- getAudienceReportData(token, date, "gender", page, pageSize);
|
|
|
+
|
|
|
+ int page = 1;
|
|
|
+ int pageSize = 2000;
|
|
|
+ activeTokens.forEach(token -> executorService2.submit(() -> {
|
|
|
+ dates.forEach(date -> executorService.submit(() -> {
|
|
|
getAudienceReportData(token, date, "ageSegment", page, pageSize);
|
|
|
- getAudienceReportData(token, date, "clientId", page, pageSize);
|
|
|
- getAudienceReportData(token, date, "businessInterestTags", page, pageSize);
|
|
|
+ // getAudienceReportData(token, date, "gender", page, pageSize);
|
|
|
+ // getAudienceReportData(token, date, "businessInterestTags", page, pageSize);
|
|
|
+ // getAudienceReportData(token, date, "city", page, pageSize);
|
|
|
+ // getAudienceReportData(token, date, "clientId", page, pageSize);
|
|
|
+ // getAudienceReportData(token, date, "province", page, pageSize);
|
|
|
}));
|
|
|
- }
|
|
|
+ }));
|
|
|
}
|
|
|
|
|
|
private void getAudienceReportData(CtopOauthToken token, String date, String type, Integer page, Integer pageSize) {
|
|
@@ -81,9 +134,11 @@ public class KuaishouDailyAudienceReportJob {
|
|
|
List<KuaiShouGroup> kuaiShouGroups = kuaiShouGroupService.queryUnitInfoByAccountId(token.getAccountId());
|
|
|
for (KuaiShouGroup kuaiShouGroup : kuaiShouGroups) {
|
|
|
kuaishouAudienceReportDailyService.crowdAnalysisReport(token, date, type, kuaiShouGroup.getCampaignId(), kuaiShouGroup.getUnitId(), page, pageSize);
|
|
|
+ Thread.sleep(800);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
XxlJobHelper.log("定时获取人群分析报表数据异常", e);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
}
|