|
@@ -7,6 +7,7 @@ import cn.com.ctop.job.bytedance.data.service.IOauthTokenService;
|
|
import cn.com.ctop.job.bytedance.data.utils.Check;
|
|
import cn.com.ctop.job.bytedance.data.utils.Check;
|
|
import cn.com.ctop.job.bytedance.data.utils.DateUtils;
|
|
import cn.com.ctop.job.bytedance.data.utils.DateUtils;
|
|
import cn.com.ctop.job.bytedance.utils.RedisUtil;
|
|
import cn.com.ctop.job.bytedance.utils.RedisUtil;
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
import com.xxl.job.core.context.XxlJobHelper;
|
|
import com.xxl.job.core.context.XxlJobHelper;
|
|
import com.xxl.job.core.handler.annotation.XxlJob;
|
|
import com.xxl.job.core.handler.annotation.XxlJob;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -34,6 +35,7 @@ public class BytedanceAdvertiseLoadJob {
|
|
|
|
|
|
private static ExecutorService dailyExecutorService = Executors.newFixedThreadPool(3);
|
|
private static ExecutorService dailyExecutorService = Executors.newFixedThreadPool(3);
|
|
private static ExecutorService hourExecutorService = Executors.newFixedThreadPool(3);
|
|
private static ExecutorService hourExecutorService = Executors.newFixedThreadPool(3);
|
|
|
|
+ private static ExecutorService txExecutorService = Executors.newFixedThreadPool(2);
|
|
@Autowired
|
|
@Autowired
|
|
private IByteDanceAdvertiserDataService advertiserDataService;
|
|
private IByteDanceAdvertiserDataService advertiserDataService;
|
|
|
|
|
|
@@ -41,6 +43,38 @@ public class BytedanceAdvertiseLoadJob {
|
|
@Autowired
|
|
@Autowired
|
|
private RedisUtil redisUtil;
|
|
private RedisUtil redisUtil;
|
|
|
|
|
|
|
|
+
|
|
|
|
+ @XxlJob("tengxunBytedanceV3PromotionProjectReport")
|
|
|
|
+ public void tengxunBytedanceV3PromotionProjectReport() throws Exception {
|
|
|
|
+
|
|
|
|
+ List<JSONObject> tokens = tokenService.getTengxunToken();
|
|
|
|
+ if (Check.isNull(tokens)) {
|
|
|
|
+ log.error("此账户未获取到相关token");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for (int i = 0; i < tokens.size(); i++) {
|
|
|
|
+ JSONObject jsonObject = tokens.get(i);
|
|
|
|
+ Long accountId = jsonObject.getLong("accountId");
|
|
|
|
+ String accessToken = jsonObject.getString("accessToken");
|
|
|
|
+ OauthToken oauthToken = new OauthToken();
|
|
|
|
+ oauthToken.setAccessToken(accessToken);
|
|
|
|
+ oauthToken.setAccountId(accountId);
|
|
|
|
+ String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
|
|
|
|
+ String yesterda = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -1);
|
|
|
|
+ txExecutorService.submit(
|
|
|
|
+ new Runnable() {
|
|
|
|
+ @Override
|
|
|
|
+ public void run() {
|
|
|
|
+ advertiserDataService.getV3PromotionProjectReport(oauthToken, yesterda, yesterda, CtopAdConstant.BYTEDANCE_REPORT_V3_TYPE_DAILY);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 获取广告主日报-遗漏数据补充
|
|
* 获取广告主日报-遗漏数据补充
|
|
*
|
|
*
|
|
@@ -78,7 +112,7 @@ public class BytedanceAdvertiseLoadJob {
|
|
oauthToken.setAccessToken(token);
|
|
oauthToken.setAccessToken(token);
|
|
oauthToken.setAccountId(Long.valueOf(String.valueOf(accountId)));
|
|
oauthToken.setAccountId(Long.valueOf(String.valueOf(accountId)));
|
|
String time = key.replaceAll("ADVERTISER", "");
|
|
String time = key.replaceAll("ADVERTISER", "");
|
|
- if(Check.isNull(time)){
|
|
|
|
|
|
+ if (Check.isNull(time)) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
advertiserDataService.getAdvertiserReport(oauthToken, time, time, CtopAdConstant.BYTEDANCE_REPORT_TYPE_DAILY);
|
|
advertiserDataService.getAdvertiserReport(oauthToken, time, time, CtopAdConstant.BYTEDANCE_REPORT_TYPE_DAILY);
|