Prechádzať zdrojové kódy

Merge #21 into master from pingkang

Merge branch 'master' of codeup.aliyun.com:60c06368dbbed34fe0f0c263/job/hr_job-adq into pingkang

* pingkang: (2 commits)
  fix
  Merge branch 'master' of codeup.aliyun.com:60c06368dbbed34fe0f0c263/job/hr_job-adq into pingkang

Signed-off-by: 1129979389@qq.com <accounts_6361eaad7b63b44dd7833e63@mail.teambition.com>
Merged-by: 1129979389@qq.com <accounts_6361eaad7b63b44dd7833e63@mail.teambition.com>

CR-link: https://codeup.aliyun.com/60c06368dbbed34fe0f0c263/job/hr_job-adq/change/21
huangpingkang 9 mesiacov pred
rodič
commit
25efe6b8bd

+ 5 - 1
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqAssetReportServiceImpl.java

@@ -17,6 +17,7 @@ import com.alibaba.fastjson.JSONObject;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import com.google.common.collect.Lists;
 
 import java.time.Instant;
 import java.util.*;
@@ -126,7 +127,10 @@ public class AdqAssetReportServiceImpl implements IAdqAssetReportService {
             for (Map.Entry<String, Set<String>> entry : entries) {
                 String type = entry.getKey();
                 List<String> assetIds = new ArrayList<>(entry.getValue());
-                getAdqAssetInfo(type, assetIds, advertiserId, accessToken, isLog, errId, isSend);
+                List<List<String>> chunks = Lists.partition(assetIds, 100);
+                chunks.forEach(chunk -> {
+                    getAdqAssetInfo(type, chunk, advertiserId, accessToken, isLog, errId, isSend);
+                });
             }
         } catch (Exception e) {
             e.printStackTrace();

+ 7 - 1
job-adq/src/main/java/cn/com/ctop/job/adq/handler/AdqRetryReportJob.java

@@ -6,6 +6,7 @@ import cn.com.ctop.job.adq.data.utils.Check;
 import cn.com.ctop.job.adq.data.utils.DateUtils;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.google.common.collect.Lists;
 import com.xxl.job.core.handler.annotation.XxlJob;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -132,8 +133,13 @@ public class AdqRetryReportJob {
                                 List<String> assetIds = new ArrayList<>();
                                 if (!Check.isNull(marketingAssetIds)) {
                                     assetIds = marketingAssetIds.toJavaList(String.class);
+                                    List<List<String>> chunks = Lists.partition(assetIds, 100);
+                                    chunks.forEach(chunk -> {
+                                        assetReportService.getAdqAssetInfo(marketingTargetType, chunk, advertiserId, accessToken, null, id, isSend);
+                                    });
+                                } else {
+                                    assetReportService.getAdqAssetInfo(marketingTargetType, assetIds, advertiserId, accessToken, null, id, isSend);
                                 }
-                                assetReportService.getAdqAssetInfo(marketingTargetType, assetIds, advertiserId, accessToken, null, id, isSend);
                             }
                         }
                     });