yumeng 2 týždňov pred
rodič
commit
2dc746058a

+ 41 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/common/module/service/impl/BytedanceProjectServiceImpl.java

@@ -132,6 +132,7 @@ public class BytedanceProjectServiceImpl implements IBytedanceProjectService {
      */
     public void checkProjectBidType(String accessToken, JSONObject detail) {
         Long accountId = detail.getLong("advertiser_id");
+        Long projectId = detail.getLong("project_id");
         //项目ID
         JSONObject json = projectListMapper.getProjectByAccountId(accountId);
         if (Check.isNull(json) || Check.isNull(detail)) {
@@ -187,6 +188,8 @@ public class BytedanceProjectServiceImpl implements IBytedanceProjectService {
             String pricing = detail.getString("pricing");
             List<JSONObject> advertiserList = new ArrayList<>();
             if (Check.isNull(cpaBid) && Check.isNull(deepConversionBid)) {
+                this.checkAdvertiserList(accountId, accessToken, projectId, 1, advertiserList);
+
                 if (advertiserList.size() > 0) {
                     for (JSONObject adObj : advertiserList) {
                         String statusFirst = adObj.getString("status_first");
@@ -225,6 +228,44 @@ public class BytedanceProjectServiceImpl implements IBytedanceProjectService {
         }
     }
 
+    private void checkAdvertiserList(Long accountId, String token, Long projectId, int page, List<JSONObject> advertiserList) {
+        // 请求地址
+        String url = bytedanceApiUrl + "/v3.0/promotion/list/";
+        JSONObject param = new JSONObject();
+        param.put("advertiser_id", accountId);
+        param.put("page", page);
+        param.put("page_size", 20);
+        JSONObject filtering = new JSONObject();
+       // filtering.put("promotion_modify_time", date);
+        filtering.put("project_id", projectId);
+        param.put("filtering", filtering);
+        JSONObject resultObject = HttpUtils.bytedanceGetRequest(token, url, param);
+        if (Check.isNull(resultObject)) {
+            log.error("获取广告列表异常==》accountId:{},调用结果为null", accountId);
+            return;
+        }
+        Integer code = resultObject.getInteger("code");
+        if (null == code || !code.equals(0)) {
+            log.error("获取广告列表接口异常==》accountId:{},message:{},code{}", accountId, resultObject.getString("message"), code);
+            return;
+        }
+        JSONArray data = resultObject.getJSONObject("data").getJSONArray("list");
+        if (null == data || data.isEmpty()) {
+            log.info("获取广告列表数据为空==》accountId:{},message:{},code{}", accountId, resultObject.getString("message"), code);
+            return;
+        }
+
+        for (int i = 0; i < data.size(); i++) {
+            JSONObject dataObject = data.getJSONObject(i);
+            advertiserList.add(dataObject);
+        }
+
+        int totalPage = resultObject.getJSONObject("data").getJSONObject("page_info").getInteger("total_page");
+        if (page <= totalPage) {
+            checkAdvertiserList(accountId, token, projectId, page + 1, advertiserList);
+        }
+    }
+
     //判断逻辑
     private void checkLogic(String token, String type, JSONObject detail, Map<String, String> ocpxMap, Map<String, String> textMap, Map<String, String> deepMap,
                             String cpaBid, String deepConversionBid, String localProject, JSONObject adObj) {

+ 1 - 1
jeecg-boot-module-system/src/main/java/cn/com/ctop/toutiao/modules/report/controller/BytedancePushDataController.java

@@ -69,7 +69,7 @@ public class BytedancePushDataController {
                             public void run() {
                                 String token = bytedanceProjectService.getTokenByAccountId(advertiserId);
                                 if (!Check.isNull(token)) {
-                                    bytedanceProjectService.checkAdvertiserProject(advertiserId, token, ids, 1);
+                                //    bytedanceProjectService.checkAdvertiserProject(advertiserId, token, ids, 1);
                                 }
                             }
                         });