yumeng 2 hónapja
szülő
commit
97a422fca7

+ 2 - 0
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/OauthTokenMapper.java

@@ -29,4 +29,6 @@ public interface OauthTokenMapper extends BaseMapper<OauthToken> {
     JSONObject getProjectByAccountId(@Param("accountId") Long accountId);
 
     List<JSONObject> getBytedanceOcpxTypeList();
+
+    List<JSONObject> getTengxunToken();
 }

+ 8 - 0
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/xml/OauthTokenMapper.xml

@@ -70,5 +70,13 @@
         select ocpx_action_type as 'ocpxActionType', ocpx_action_name as 'ocpxActionName'
         from `jeecg-boot`.ctop_bytedance_ocpx_action_type_config
     </select>
+    <select id="getTengxunToken" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT t2.account_id AS 'accountId', t2.access_token AS 'accessToken'
+        FROM `jeecg-boot`.ctop_user_allocation t1
+                 LEFT JOIN `jeecg-boot`.ctop_oauth_token t2
+                           ON t1.account_id = t2.account_id
+        WHERE t1.project_id = 18540886
+          AND t1.account_status = 0
+    </select>
 
 </mapper>

+ 2 - 0
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/IOauthTokenService.java

@@ -25,4 +25,6 @@ public interface IOauthTokenService extends IService<OauthToken> {
     List<JSONObject> getAgentTokens();
 
     List<JSONObject> getByProjectId(Long projectId);
+
+    List<JSONObject> getTengxunToken();
 }

+ 5 - 0
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/impl/OauthTokenServiceImpl.java

@@ -51,4 +51,9 @@ public class OauthTokenServiceImpl extends ServiceImpl<OauthTokenMapper, OauthTo
         return tokenMapper.getByProjectId(projectId);
     }
 
+    @Override
+    public List<JSONObject> getTengxunToken() {
+        return tokenMapper.getTengxunToken();
+    }
+
 }

+ 35 - 1
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceAdvertiseLoadJob.java

@@ -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.DateUtils;
 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.handler.annotation.XxlJob;
 import lombok.extern.slf4j.Slf4j;
@@ -34,6 +35,7 @@ public class BytedanceAdvertiseLoadJob {
 
     private static ExecutorService dailyExecutorService = Executors.newFixedThreadPool(3);
     private static ExecutorService hourExecutorService = Executors.newFixedThreadPool(3);
+    private static ExecutorService txExecutorService = Executors.newFixedThreadPool(2);
     @Autowired
     private IByteDanceAdvertiserDataService advertiserDataService;
 
@@ -41,6 +43,38 @@ public class BytedanceAdvertiseLoadJob {
     @Autowired
     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.setAccountId(Long.valueOf(String.valueOf(accountId)));
                 String time = key.replaceAll("ADVERTISER", "");
-                if(Check.isNull(time)){
+                if (Check.isNull(time)) {
                     continue;
                 }
                 advertiserDataService.getAdvertiserReport(oauthToken, time, time, CtopAdConstant.BYTEDANCE_REPORT_TYPE_DAILY);