Переглянути джерело

Merge remote-tracking branch 'origin/master' into pingkang

# Conflicts:
#	job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqRetryReportServiceImpl.java
#	job-adq/src/main/java/cn/com/ctop/job/adq/handler/AdqAccountReportJob.java
#	job-adq/src/main/java/cn/com/ctop/job/adq/handler/AdqRetryReportJob.java
huangpingkang 1 рік тому
батько
коміт
fd32e19453

+ 4 - 0
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/IAdqRetryReportService.java

@@ -4,4 +4,8 @@ public interface IAdqRetryReportService {
     void getCreativeHourRetry(Long id, Long advertiserId, String accessToken, String startDate, String endDate, Integer page, Integer isSend);
 
     void getCreativeDailyRetry(Long id, Long advertiserId, String accessToken, String startDate, String endDate, Integer page,Integer isSend);
+
+    void getAccountHourRetry(Long id, Long advertiserId, String accessToken, String startDate, String endDate, Integer page,Integer isSend);
+
+    void getAccountDailyRetry(Long id, Long advertiserId, String accessToken, String startDate, String endDate, Integer page,Integer isSend);
 }

+ 4 - 12
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqAccountReportServiceImpl.java

@@ -53,7 +53,6 @@ public class AdqAccountReportServiceImpl implements IAdqAccountReportService {
             paramsMap.put("group_by", group_by);
             JSONArray fieldsList = FieldsConfig.getAccountHourFieldsList();
             paramsMap.put("fields", fieldsList);
-            Integer totalNumber = 0;
             List<AdqAdvertiserReportHour> hourList = new ArrayList<>();
             String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/hourly_reports/get", paramsMap, null);
             JSONObject jsonObject = JSONObject.parseObject(s);
@@ -62,10 +61,7 @@ public class AdqAccountReportServiceImpl implements IAdqAccountReportService {
                 if (code == 0) {
                     JSONObject data = jsonObject.getJSONObject("data");
                     if (!Check.isNull(data)) {
-                        JSONObject pageInfo = data.getJSONObject("page_info");
-                        if (!Check.isNull(pageInfo)) {
-                            totalNumber = pageInfo.getInteger("total_number");
-                        }
+
                         JSONArray list = data.getJSONArray("list");
                         if (!Check.isNull(list)) {
                             for (int i = 0; i < list.size(); i++) {
@@ -94,7 +90,7 @@ public class AdqAccountReportServiceImpl implements IAdqAccountReportService {
             if (!Check.isNull(hourList)) {
                 accountReportMapper.addAccountHourList(hourList);
             }
-            if (totalNumber >= 1000) {
+            if (hourList.size() >= 1000) {
                 getAdqAccountHour(advertiserId, accessToken, startDate, endDate, page + 1, isLog);
             } else {
                 log.error("请求账户时报完成,account_id:{},日期:{}", advertiserId, startDate);
@@ -125,7 +121,6 @@ public class AdqAccountReportServiceImpl implements IAdqAccountReportService {
             paramsMap.put("group_by", group_by);
             JSONArray fieldsList = FieldsConfig.getAccountDailyFieldsList();
             paramsMap.put("fields", fieldsList);
-            Integer totalNumber = 0;
             List<AdqAdvertiserReportDaily> dailyList = new ArrayList<>();
             String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/daily_reports/get", paramsMap, null);
             JSONObject jsonObject = JSONObject.parseObject(s);
@@ -134,10 +129,7 @@ public class AdqAccountReportServiceImpl implements IAdqAccountReportService {
                 if (code == 0) {
                     JSONObject data = jsonObject.getJSONObject("data");
                     if (!Check.isNull(data)) {
-                        JSONObject pageInfo = data.getJSONObject("page_info");
-                        if (!Check.isNull(pageInfo)) {
-                            totalNumber = pageInfo.getInteger("total_number");
-                        }
+
                         JSONArray list = data.getJSONArray("list");
                         if (!Check.isNull(list)) {
                             for (int i = 0; i < list.size(); i++) {
@@ -166,7 +158,7 @@ public class AdqAccountReportServiceImpl implements IAdqAccountReportService {
             if (!Check.isNull(dailyList)) {
                 accountReportMapper.addAccountDailyList(dailyList);
             }
-            if (totalNumber >= 1000) {
+            if (dailyList.size() >= 1000) {
                 getAdqAccountHour(advertiserId, accessToken, startDate, endDate, page + 1, isLog);
             } else {
                 log.error("请求账户日报完成,account_id:{},日期:{}", advertiserId, startDate);

+ 2 - 12
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqCreativeCreativeReportServiceImpl.java

@@ -54,7 +54,6 @@ public class AdqCreativeCreativeReportServiceImpl implements IAdqCreativeReportS
             paramsMap.put("group_by", group_by);
             JSONArray fieldsList = FieldsConfig.getCreativeHourFieldsList();
             paramsMap.put("fields", fieldsList);
-            Integer totalNumber = 0;
             List<AdqCreativeReportHour> hourList = new ArrayList<>();
             String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/hourly_reports/get", paramsMap, null);
             JSONObject jsonObject = JSONObject.parseObject(s);
@@ -63,10 +62,6 @@ public class AdqCreativeCreativeReportServiceImpl implements IAdqCreativeReportS
                 if (code == 0) {
                     JSONObject data = jsonObject.getJSONObject("data");
                     if (!Check.isNull(data)) {
-                        JSONObject pageInfo = data.getJSONObject("page_info");
-                        if (!Check.isNull(pageInfo)) {
-                            totalNumber = pageInfo.getInteger("total_number");
-                        }
                         JSONArray list = data.getJSONArray("list");
                         if (!Check.isNull(list)) {
                             for (int i = 0; i < list.size(); i++) {
@@ -95,7 +90,7 @@ public class AdqCreativeCreativeReportServiceImpl implements IAdqCreativeReportS
             if (!Check.isNull(hourList)) {
                 adqReportMapper.addsHourList(hourList);
             }
-            if (totalNumber >= 1000) {
+            if (hourList.size() >= 1000) {
                 getAdqCreativeHour(advertiserId, accessToken, startDate, endDate, page + 1, isLog);
             } else {
                 log.error("请求创意时报完成,account_id:{},日期:{}", advertiserId, startDate);
@@ -134,7 +129,6 @@ public class AdqCreativeCreativeReportServiceImpl implements IAdqCreativeReportS
             paramsMap.put("group_by", group_by);
             JSONArray fieldsList = FieldsConfig.getCreativeDailyFieldsList();
             paramsMap.put("fields", fieldsList);
-            Integer totalNumber = 0;
             List<AdqCreativeReportDaily> dailies = new ArrayList<>();
             String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/daily_reports/get", paramsMap, null);
             JSONObject jsonObject = JSONObject.parseObject(s);
@@ -143,10 +137,6 @@ public class AdqCreativeCreativeReportServiceImpl implements IAdqCreativeReportS
                 if (code == 0) {
                     JSONObject data = jsonObject.getJSONObject("data");
                     if (!Check.isNull(data)) {
-                        JSONObject pageInfo = data.getJSONObject("page_info");
-                        if (!Check.isNull(pageInfo)) {
-                            totalNumber = pageInfo.getInteger("total_number");
-                        }
                         JSONArray list = data.getJSONArray("list");
                         if (!Check.isNull(list)) {
                             for (int i = 0; i < list.size(); i++) {
@@ -175,7 +165,7 @@ public class AdqCreativeCreativeReportServiceImpl implements IAdqCreativeReportS
             if (!Check.isNull(dailies)) {
                 adqReportMapper.addsDaily(dailies);
             }
-            if (totalNumber >= 1000) {
+            if (dailies.size() >= 1000) {
                 getAdqCreativeDaily(advertiserId, accessToken, startDate, endDate, page + 1, isLog);
             } else {
                 log.error("请求创意日报完成,account_id:{},日期:{}", advertiserId, startDate);

+ 164 - 21
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqRetryReportServiceImpl.java

@@ -1,11 +1,10 @@
 package cn.com.ctop.job.adq.data.service.impl;
 
-import cn.com.ctop.job.adq.data.entity.AdqCreativeReportDaily;
-import cn.com.ctop.job.adq.data.entity.AdqCreativeReportHour;
+import cn.com.ctop.job.adq.data.entity.*;
+import cn.com.ctop.job.adq.data.mapper.AdqAccountReportMapper;
 import cn.com.ctop.job.adq.data.mapper.AdqCreativeReportMapper;
 import cn.com.ctop.job.adq.data.mapper.AdqErrorLogMapper;
 import cn.com.ctop.job.adq.data.service.IAdqRetryReportService;
-import cn.com.ctop.job.adq.data.utils.AlertUtils;
 import cn.com.ctop.job.adq.data.utils.Check;
 import cn.com.ctop.job.adq.data.utils.FieldsConfig;
 import cn.com.ctop.job.adq.data.utils.HttpUtils;
@@ -32,8 +31,7 @@ public class AdqRetryReportServiceImpl implements IAdqRetryReportService {
     private static String sendUrl = "http://172.16.0.108:8765/webhook/media_report";
     private static ExecutorService sendExecutorService = Executors.newFixedThreadPool(5);
     @Autowired
-    private AdqErrorLogMapper adqErrorLogMapper;
-
+    private AdqAccountReportMapper accountReportMapper;
 
     @Override
     public void getCreativeHourRetry(Long errorId, Long advertiserId, String accessToken, String startDate, String endDate, Integer page, Integer isSend) {
@@ -57,7 +55,6 @@ public class AdqRetryReportServiceImpl implements IAdqRetryReportService {
         paramsMap.put("group_by", group_by);
         JSONArray fieldsList = FieldsConfig.getCreativeHourFieldsList();
         paramsMap.put("fields", fieldsList);
-        Integer totalNumber = 0;
         List<AdqCreativeReportHour> hourList = new ArrayList<>();
         String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/hourly_reports/get", paramsMap, null);
         JSONObject jsonObject = JSONObject.parseObject(s);
@@ -66,10 +63,7 @@ public class AdqRetryReportServiceImpl implements IAdqRetryReportService {
             if (code == 0) {
                 JSONObject data = jsonObject.getJSONObject("data");
                 if (!Check.isNull(data)) {
-                    JSONObject pageInfo = data.getJSONObject("page_info");
-                    if (!Check.isNull(pageInfo)) {
-                        totalNumber = pageInfo.getInteger("total_number");
-                    }
+
                     JSONArray list = data.getJSONArray("list");
                     if (!Check.isNull(list)) {
                         for (int i = 0; i < list.size(); i++) {
@@ -89,13 +83,13 @@ public class AdqRetryReportServiceImpl implements IAdqRetryReportService {
         if (!Check.isNull(hourList)) {
             adqReportMapper.addsHourList(hourList);
         }
-        if (totalNumber >= 1000) {
+        if (hourList.size() >= 1000) {
             getCreativeHourRetry(errorId, advertiserId, accessToken, startDate, endDate, page + 1, isSend);
         } else {
             log.error("请求创意时报完成,account_id:{},日期:{}", advertiserId, startDate);
-            adqErrorLogMapper.deleteInfoByErrorId(errorId);
+            adqReportMapper.deleteInfoByErrorId(errorId);
             if (isSend == 1) {
-                AlertUtils.sendMessage(advertiserId, startDate, endDate, 3, "hour", 1);
+                sendMessage(advertiserId, startDate, endDate, 3, "hour", 1, "creative");
             }
         }
     }
@@ -124,7 +118,6 @@ public class AdqRetryReportServiceImpl implements IAdqRetryReportService {
             paramsMap.put("group_by", group_by);
             JSONArray fieldsList = FieldsConfig.getCreativeDailyFieldsList();
             paramsMap.put("fields", fieldsList);
-            Integer totalNumber = 0;
             List<AdqCreativeReportDaily> dailies = new ArrayList<>();
             String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/daily_reports/get", paramsMap, null);
             JSONObject jsonObject = JSONObject.parseObject(s);
@@ -133,10 +126,6 @@ public class AdqRetryReportServiceImpl implements IAdqRetryReportService {
                 if (code == 0) {
                     JSONObject data = jsonObject.getJSONObject("data");
                     if (!Check.isNull(data)) {
-                        JSONObject pageInfo = data.getJSONObject("page_info");
-                        if (!Check.isNull(pageInfo)) {
-                            totalNumber = pageInfo.getInteger("total_number");
-                        }
                         JSONArray list = data.getJSONArray("list");
                         if (!Check.isNull(list)) {
                             for (int i = 0; i < list.size(); i++) {
@@ -156,13 +145,138 @@ public class AdqRetryReportServiceImpl implements IAdqRetryReportService {
             if (!Check.isNull(dailies)) {
                 adqReportMapper.addsDaily(dailies);
             }
-            if (totalNumber >= 1000) {
+            if (dailies.size() >= 1000) {
                 getCreativeDailyRetry(errorId, advertiserId, accessToken, startDate, endDate, page + 1, isSend);
             } else {
                 log.error("请求创意日报完成,account_id:{},日期:{}", advertiserId, startDate);
-                adqErrorLogMapper.deleteInfoByErrorId(errorId);
+                adqReportMapper.deleteInfoByErrorId(errorId);
+                if (isSend == 1) {
+                    sendMessage(advertiserId, startDate, endDate, 3, "daily", 1, "creative");
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public void getAccountHourRetry(Long errorId, Long advertiserId, String accessToken, String startDate, String endDate, Integer page, Integer isSend) {
+        try {
+            Map<String, Object> paramsMap = new HashMap<>();
+            paramsMap.put("access_token", accessToken);
+            long timestamp = Instant.now().getEpochSecond();
+            paramsMap.put("timestamp", String.valueOf(timestamp));
+            paramsMap.put("nonce", RandomStringGenerator.generateRandomString(32));
+            paramsMap.put("page", page);
+            paramsMap.put("page_size", 1000);
+            paramsMap.put("account_id", advertiserId);
+            paramsMap.put("level", "REPORT_LEVEL_ADVERTISER");
+            JSONObject date_range = new JSONObject();
+            date_range.put("start_date", startDate);
+            date_range.put("end_date", endDate);
+            paramsMap.put("date_range", date_range);
+            JSONArray group_by = new JSONArray();
+            group_by.add("date");
+            group_by.add("hour");
+            paramsMap.put("group_by", group_by);
+            JSONArray fieldsList = FieldsConfig.getAccountHourFieldsList();
+            paramsMap.put("fields", fieldsList);
+            List<AdqAdvertiserReportHour> hourList = new ArrayList<>();
+            String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/hourly_reports/get", paramsMap, null);
+            JSONObject jsonObject = JSONObject.parseObject(s);
+            if (!Check.isNull(jsonObject)) {
+                Integer code = jsonObject.getInteger("code");
+                if (code == 0) {
+                    JSONObject data = jsonObject.getJSONObject("data");
+                    if (!Check.isNull(data)) {
+                        JSONArray list = data.getJSONArray("list");
+                        if (!Check.isNull(list)) {
+                            for (int i = 0; i < list.size(); i++) {
+                                JSONObject dataJson = list.getJSONObject(i);
+                                AdqAdvertiserReportHour hourReport = JSONObject.parseObject(dataJson.toJSONString(), AdqAdvertiserReportHour.class);
+                                hourReport.setAdvertiserId(advertiserId);
+                                hourReport.setStatTimeDay(Long.valueOf(startDate.replace("-", "")));
+                                hourList.add(hourReport);
+                            }
+                        }
+                    }
+                } else {
+                    log.error("请求账户时报失败,account_id:{},返回信息:{}", advertiserId, jsonObject);
+                    return;
+                }
+            }
+            if (!Check.isNull(hourList)) {
+                accountReportMapper.addAccountHourList(hourList);
+            }
+            if (hourList.size() >= 1000) {
+                getAccountHourRetry(errorId, advertiserId, accessToken, startDate, endDate, page + 1, isSend);
+            } else {
+                log.info("请求账户时报完成,account_id:{},日期:{}", advertiserId, startDate);
+                adqReportMapper.deleteInfoByErrorId(errorId);
+                if (isSend == 1) {
+                    sendMessage(advertiserId, startDate, endDate, 3, "daily", 1, "account");
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public void getAccountDailyRetry(Long errorId, Long advertiserId, String accessToken, String startDate, String endDate, Integer page, Integer isSend) {
+        try {
+            Map<String, Object> paramsMap = new HashMap<>();
+            paramsMap.put("access_token", accessToken);
+            long timestamp = Instant.now().getEpochSecond();
+            paramsMap.put("timestamp", String.valueOf(timestamp));
+            paramsMap.put("nonce", RandomStringGenerator.generateRandomString(32));
+            paramsMap.put("page", page);
+            paramsMap.put("page_size", 1000);
+            paramsMap.put("account_id", advertiserId);
+            paramsMap.put("level", "REPORT_LEVEL_ADVERTISER");
+            JSONObject date_range = new JSONObject();
+            date_range.put("start_date", startDate);
+            date_range.put("end_date", endDate);
+            paramsMap.put("date_range", date_range);
+            JSONArray group_by = new JSONArray();
+            group_by.add("date");
+            paramsMap.put("group_by", group_by);
+            JSONArray fieldsList = FieldsConfig.getAccountDailyFieldsList();
+            paramsMap.put("fields", fieldsList);
+            List<AdqAdvertiserReportDaily> dailyList = new ArrayList<>();
+            String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/daily_reports/get", paramsMap, null);
+            JSONObject jsonObject = JSONObject.parseObject(s);
+            if (!Check.isNull(jsonObject)) {
+                Integer code = jsonObject.getInteger("code");
+                if (code == 0) {
+                    JSONObject data = jsonObject.getJSONObject("data");
+                    if (!Check.isNull(data)) {
+                        JSONArray list = data.getJSONArray("list");
+                        if (!Check.isNull(list)) {
+                            for (int i = 0; i < list.size(); i++) {
+                                JSONObject dataJson = list.getJSONObject(i);
+                                AdqAdvertiserReportDaily dailyReport = JSONObject.parseObject(dataJson.toJSONString(), AdqAdvertiserReportDaily.class);
+                                dailyReport.setAdvertiserId(advertiserId);
+                                dailyReport.setStatTimeDay(Long.valueOf(dataJson.getString("date").replace("-", "")));
+                                dailyList.add(dailyReport);
+                            }
+                        }
+                    }
+                } else {
+                    log.error("请求账户日报失败,account_id:{},返回信息:{}", advertiserId, jsonObject);
+                    return;
+                }
+            }
+            if (!Check.isNull(dailyList)) {
+                accountReportMapper.addAccountDailyList(dailyList);
+            }
+            if (dailyList.size() >= 1000) {
+                getAccountDailyRetry(errorId, advertiserId, accessToken, startDate, endDate, page + 1, isSend);
+            } else {
+                log.error("请求账户日报完成,account_id:{},日期:{}", advertiserId, startDate);
+                adqReportMapper.deleteInfoByErrorId(errorId);
                 if (isSend == 1) {
-                    AlertUtils.sendMessage(advertiserId, startDate, endDate, 3, "daily", 1);
+                    sendMessage(advertiserId, startDate, endDate, 3, "daily", 1, "account");
                 }
             }
         } catch (Exception e) {
@@ -171,4 +285,33 @@ public class AdqRetryReportServiceImpl implements IAdqRetryReportService {
     }
 
 
+    private static void sendMessage(Long account_id, String start_date, String end_date, Integer media_type, String type, Integer count, String dimension) {
+        if (count > 5) {
+            log.error("超过最大次数,account_id:{}", count);
+            return;
+        }
+        sendExecutorService.submit(new Runnable() {
+            @Override
+            public void run() {
+                Map<String, Object> param = new HashMap<>();
+                param.put("account_id", account_id);
+                param.put("start_date", start_date);
+                param.put("end_date", end_date);
+                param.put("media_type", media_type);
+                param.put("type", type);
+                param.put("dimension", dimension);
+                String s = HttpUtils.httpPostRequest(sendUrl, param, new HashMap<>());
+                JSONObject jsonObject = JSONObject.parseObject(s);
+                if (!Check.isNull(jsonObject)) {
+                    Integer code = jsonObject.getInteger("code");
+                    if (code == 200) {
+                        log.info("请求数据清洗服务成功,account_id:{}", account_id);
+                    } else {
+                        sendMessage(account_id, start_date, end_date, media_type, type, count + 1, dimension);
+                    }
+                }
+            }
+        });
+    }
+
 }

+ 37 - 12
job-adq/src/main/java/cn/com/ctop/job/adq/handler/AdqAccountReportJob.java

@@ -2,7 +2,7 @@ package cn.com.ctop.job.adq.handler;
 
 
 import cn.com.ctop.job.adq.data.service.IAdqAccountReportService;
-import cn.com.ctop.job.adq.data.service.IAdqAssetReportService;
+import cn.com.ctop.job.adq.data.service.IAdqCreativeReportService;
 import cn.com.ctop.job.adq.data.utils.Check;
 import cn.com.ctop.job.adq.data.utils.DateUtils;
 import com.xxl.job.core.context.XxlJobHelper;
@@ -24,14 +24,33 @@ import java.util.concurrent.Executors;
 @Component
 public class AdqAccountReportJob {
     @Autowired
-    private IAdqAssetReportService adqAssetReportService;
-    @Autowired
     private IAdqAccountReportService accountReportService;
-    private static ExecutorService hourExecutorService = Executors.newFixedThreadPool(3);
+    private static ExecutorService nowDateHourExecutorService = Executors.newFixedThreadPool(3);
+    private static ExecutorService yesDateHourExecutorService = Executors.newFixedThreadPool(3);
     private static ExecutorService dailyExecutorService = Executors.newFixedThreadPool(3);
 
-    @XxlJob("nowDateAccounteHour")
-    public void creativeHour() throws Exception {
+    @XxlJob("nowDateAccountHour")
+    public void nowDateAccountHour() throws Exception {
+        String param = XxlJobHelper.getJobParam(); // 执行参数
+        if (Check.isNull(param)) {
+            log.error("入参为空");
+            return;
+        }
+
+        String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
+        String[] s = param.split("_");
+        Long advertiserId = Long.valueOf(s[0]);
+        String accessToken = s[1];
+        nowDateHourExecutorService.submit(new Runnable() {
+            @Override
+            public void run() {
+                accountReportService.getAdqAccountHour(advertiserId, accessToken, nowDate, nowDate, 1, 1);
+            }
+        });
+    }
+
+    @XxlJob("yesDateAccountHour")
+    public void yesDateAccountHour() throws Exception {
         String param = XxlJobHelper.getJobParam(); // 执行参数
         if (Check.isNull(param)) {
             log.error("入参为空");
@@ -39,19 +58,23 @@ public class AdqAccountReportJob {
         }
 
         String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
+        String yesDate = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -1);
+
         String[] s = param.split("_");
         Long advertiserId = Long.valueOf(s[0]);
         String accessToken = s[1];
-        hourExecutorService.submit(new Runnable() {
+        yesDateHourExecutorService.submit(new Runnable() {
             @Override
             public void run() {
-                accountReportService.getAdqAccountHour(advertiserId, accessToken, nowDate, nowDate, 1, 2);
+                accountReportService.getAdqAccountHour(advertiserId, accessToken, yesDate, yesDate, 1, 1);
             }
         });
     }
 
-    @XxlJob("assetReport")
-    public void assetReport() throws Exception {
+
+
+    @XxlJob("yesDateAccountDaily")
+    public void yesDateAccountDaily() throws Exception {
         String param = XxlJobHelper.getJobParam(); // 执行参数
         if (Check.isNull(param)) {
             log.error("入参为空");
@@ -59,16 +82,18 @@ public class AdqAccountReportJob {
         }
 
         String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
-        String data = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -1);
+        String yesDate = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -1);
+
         String[] s = param.split("_");
         Long advertiserId = Long.valueOf(s[0]);
         String accessToken = s[1];
         dailyExecutorService.submit(new Runnable() {
             @Override
             public void run() {
-                adqAssetReportService.getAdqAssetDailyReport(advertiserId, accessToken, data, data, 1, 1, null, null);
+                accountReportService.getAdqAccountDaily(advertiserId, accessToken, yesDate, yesDate, 1, 1);
             }
         });
     }
 
+
 }

+ 29 - 32
job-adq/src/main/java/cn/com/ctop/job/adq/handler/AdqRetryReportJob.java

@@ -1,18 +1,15 @@
 package cn.com.ctop.job.adq.handler;
 
 
-import cn.com.ctop.job.adq.data.service.IAdqAssetReportService;
 import cn.com.ctop.job.adq.data.service.IAdqCreativeReportService;
 import cn.com.ctop.job.adq.data.service.IAdqRetryReportService;
 import cn.com.ctop.job.adq.data.utils.Check;
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.xxl.job.core.handler.annotation.XxlJob;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -27,17 +24,16 @@ import java.util.concurrent.Executors;
 @Component
 public class AdqRetryReportJob {
 
-    private static ExecutorService dailyExecutorService = Executors.newFixedThreadPool(2);
-    private static ExecutorService hourrExecutorService = Executors.newFixedThreadPool(2);
-    private static ExecutorService assetExecutorService = Executors.newFixedThreadPool(2);
+    private static ExecutorService dailyCreativeExecutorService = Executors.newFixedThreadPool(2);
+    private static ExecutorService hourCreativeExecutorService = Executors.newFixedThreadPool(2);
+    private static ExecutorService hourrAccountExecutorService = Executors.newFixedThreadPool(2);
+    private static ExecutorService dailyAccountExecutorService = Executors.newFixedThreadPool(2);
 
 
     @Autowired
     private IAdqCreativeReportService adqReportService;
     @Autowired
     private IAdqRetryReportService retryReportService;
-    @Autowired
-    private IAdqAssetReportService assetReportService;
 
     @XxlJob("adqRetryReport")
     public void promoterReport() throws Exception {
@@ -56,7 +52,7 @@ public class AdqRetryReportJob {
 
                 if ("creative".equals(dataDimension)) {
                     if (dataType.equals("hour")) { // 广告时报
-                        hourrExecutorService.submit(new Runnable() {
+                        dailyCreativeExecutorService.submit(new Runnable() {
                             @Override
                             public void run() {
                                 if (!Check.isNull(accessToken)) {
@@ -66,7 +62,7 @@ public class AdqRetryReportJob {
                         });
                     }
                     if (dataType.equals("daily")) { // 广告日报
-                        dailyExecutorService.submit(new Runnable() {
+                        hourCreativeExecutorService.submit(new Runnable() {
                             @Override
                             public void run() {
                                 if (!Check.isNull(accessToken)) {
@@ -76,33 +72,34 @@ public class AdqRetryReportJob {
                             }
                         });
                     }
-                } else if ("asset".equals(dataDimension)) {
-                    assetExecutorService.submit(new Runnable() {
-                        @Override
-                        public void run() {
-                            if (!Check.isNull(accessToken)) {
-                                assetReportService.getAdqAssetDailyReport(advertiserId, accessToken, startDate, endDate, 1, null, id, isSend);
+                }else if("account".equals(dataDimension)){
+                    if (dataType.equals("hour")) { // 广告时报
+                        hourrAccountExecutorService.submit(new Runnable() {
+                            @Override
+                            public void run() {
+                                if (!Check.isNull(accessToken)) {
+                                    retryReportService.getAccountHourRetry(id, advertiserId, accessToken, startDate, endDate, 1, isSend);
+                                }
                             }
-                        }
-                    });
-                } else if ("asset_info".equals(dataDimension)) {
-                    assetExecutorService.submit(new Runnable() {
-                        @Override
-                        public void run() {
-                            if (!Check.isNull(accessToken)) {
-                                JSONObject msg = jsonObject.getJSONObject("msg");
-                                String marketingTargetType = msg.getString("marketing_target_type");
-                                JSONArray marketingAssetIds = msg.getJSONArray("marketing_asset_ids");
-                                List<String> assetIds = new ArrayList<>();
-                                if (!Check.isNull(marketingAssetIds)) {
-                                    assetIds = marketingAssetIds.toJavaList(String.class);
+                        });
+                    }
+
+                    if (dataType.equals("daily")) { // 广告日报
+                        dailyAccountExecutorService.submit(new Runnable() {
+                            @Override
+                            public void run() {
+                                if (!Check.isNull(accessToken)) {
+                                    retryReportService.getAccountDailyRetry(id, advertiserId, accessToken, startDate, endDate, 1, isSend);
                                 }
-                                assetReportService.getAdqAssetInfo(marketingTargetType, assetIds, advertiserId, accessToken, null, id, isSend);
                             }
-                        }
-                    });
+                        });
+                    }
+
                 }
+
+
             }
+
         } else {
             log.info("重试列表为空");
         }

+ 2 - 2
job-adq/src/main/resources/application.yml

@@ -80,8 +80,8 @@ spring:
         connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
       datasource:
         master:
-         # url: jdbc:mysql://172.16.0.117:3390/media_api?characterEncoding=UTF-8&useUnicode=true&useSSL=false
-          url: jdbc:mysql://8.147.135.80:3390/media_api?characterEncoding=UTF-8&useUnicode=true&useSSL=false
+          url: jdbc:mysql://172.16.0.117:3390/media_api?characterEncoding=UTF-8&useUnicode=true&useSSL=false
+         # url: jdbc:mysql://8.147.135.80:3390/media_api?characterEncoding=UTF-8&useUnicode=true&useSSL=false
           username: data
           password: hr@2025..
           driver-class-name: com.mysql.jdbc.Driver