huangpingkang 9 månader sedan
förälder
incheckning
695a711219

+ 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);
                             }
                         }
                     });