Parcourir la source

对接广点通日流水报表

lining il y a 1 an
Parent
commit
cf3f4c4a7d

+ 18 - 0
job-adq/src/main/java/cn/com/ctop/job/adq/controller/AdqController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.job.adq.controller;
 
+import cn.com.ctop.job.adq.data.entity.AdvertiserAccount;
 import cn.com.ctop.job.adq.data.service.*;
 import cn.com.ctop.job.adq.data.utils.Check;
 import cn.com.ctop.job.adq.data.utils.DateUtils;
@@ -93,5 +94,22 @@ public class AdqController {
 
     }
 
+    @GetMapping("/generateFlowDetailsReport")
+    public void generateFlowDetailsReport(String startDate, String endDate) {
+        List<AdvertiserAccount> adAccount = adqFlowDetailsReportService.getAdAccount();
+        adAccount.forEach(advertiserAccount -> {
+            dailyExecutorService.submit(new Runnable() {
+
+                @Override
+                public void run() {
+                    if(!Check.isNull(advertiserAccount.getAccessToken())){
+                        adqFlowDetailsReportService.getAdqFlowDetailsDailyReport(advertiserAccount.getAdvertiserId(), advertiserAccount.getAccessToken(), startDate, endDate, 1);
+                    }
+                }
+            });
+
+        });
+    }
+
 
 }

+ 16 - 0
job-adq/src/main/java/cn/com/ctop/job/adq/data/entity/AdvertiserAccount.java

@@ -0,0 +1,16 @@
+package cn.com.ctop.job.adq.data.entity;
+
+import lombok.Data;
+
+/**
+ * @author lining
+ * @ClassName AdvertiserAccount
+ * @description: TODO
+ * @date 2025年04月27日
+ * @version: 1.0
+ */
+@Data
+public class AdvertiserAccount {
+    private Long advertiserId;
+    private String accessToken;
+}

+ 2 - 0
job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/AdqFlowDetailsReportDailyMapper.java

@@ -1,6 +1,7 @@
 package cn.com.ctop.job.adq.data.mapper;
 
 import cn.com.ctop.job.adq.data.entity.AdqFlowDetailsReportDaily;
+import cn.com.ctop.job.adq.data.entity.AdvertiserAccount;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -13,6 +14,7 @@ import java.util.List;
  * @version: 1.0
  */
 public interface AdqFlowDetailsReportDailyMapper {
+    List<AdvertiserAccount> getAdAccount();
 
     void replaceFlowDetailsReportDailies(@Param("list") List<AdqFlowDetailsReportDaily> dailyList);
 

+ 11 - 0
job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/xml/AdqFlowDetailsReportMapper.xml

@@ -1,6 +1,17 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <mapper namespace="cn.com.ctop.job.adq.data.mapper.AdqFlowDetailsReportDailyMapper">
+
+    <select id="getAdAccount" resultType="cn.com.ctop.job.adq.data.entity.AdvertiserAccount">
+        select
+            tb1.advertiser_id as advertiserId,
+            tb2.access_token as accessToken
+        from
+            deepthink.adq_advertiser_list tb1
+                left join deepthink.adq_auth_list tb2 on
+                tb1.admin_advertiser_id = tb2.admin_advertiser_id
+    </select>
+
     <insert id="replaceFlowDetailsReportDailies">
         replace into adq_flow_details_report_daily (
             advertiser_id,

+ 6 - 0
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/IAdqFlowDetailsReportService.java

@@ -1,5 +1,9 @@
 package cn.com.ctop.job.adq.data.service;
 
+import cn.com.ctop.job.adq.data.entity.AdvertiserAccount;
+
+import java.util.List;
+
 /**
  * @author lining
  * @ClassName IAdqFlowDetailsReportService
@@ -9,5 +13,7 @@ package cn.com.ctop.job.adq.data.service;
  */
 public interface IAdqFlowDetailsReportService {
 
+    List<AdvertiserAccount> getAdAccount();
+
     void getAdqFlowDetailsDailyReport(Long advertiserId, String accessToken, String startDate, String endDate, Integer page);
 }

+ 7 - 0
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqFlowDetailsReportServiceImpl.java

@@ -1,6 +1,7 @@
 package cn.com.ctop.job.adq.data.service.impl;
 
 import cn.com.ctop.job.adq.data.entity.AdqFlowDetailsReportDaily;
+import cn.com.ctop.job.adq.data.entity.AdvertiserAccount;
 import cn.com.ctop.job.adq.data.mapper.AdqFlowDetailsReportDailyMapper;
 import cn.com.ctop.job.adq.data.service.IAdqFlowDetailsReportService;
 import cn.com.ctop.job.adq.data.utils.Check;
@@ -30,6 +31,12 @@ public class AdqFlowDetailsReportServiceImpl implements IAdqFlowDetailsReportSer
 
     @Resource
     private AdqFlowDetailsReportDailyMapper adqFlowDetailsReportDailyMapper;
+
+    @Override
+    public List<AdvertiserAccount> getAdAccount() {
+        return adqFlowDetailsReportDailyMapper.getAdAccount();
+    }
+
     @Override
     public void getAdqFlowDetailsDailyReport(Long advertiserId, String accessToken, String startDate, String endDate, Integer page) {
         Map<String, Object> paramsMap = new HashMap<>();