Просмотр исходного кода

Merge #25 into master from pingkang

daily_flows

* pingkang: (1 commits)
  daily_flows

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-kuaishou/change/25
huangpingkang 1 год назад
Родитель
Сommit
f91c7c22ef

+ 17 - 3
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/controller/KuaiShouController.java

@@ -1,8 +1,10 @@
 package cn.com.ctop.job.kuaishou.controller;
 
+import cn.com.ctop.job.kuaishou.data.mapper.KuaiShouAccountReportMapper;
 import cn.com.ctop.job.kuaishou.data.service.IKuaiShouAccountReportService;
 import cn.com.ctop.job.kuaishou.data.service.IKuaiShouGroupReportService;
 import cn.com.ctop.job.kuaishou.data.service.IKuaiShouRefreshTokenService;
+import cn.com.ctop.job.kuaishou.data.utils.DateUtils;
 import com.alibaba.fastjson.JSONObject;
 import io.swagger.annotations.Api;
 import lombok.extern.slf4j.Slf4j;
@@ -37,7 +39,8 @@ public class KuaiShouController {
     @Autowired
     private IKuaiShouAccountReportService kuaiShouAccountReportService;
 
-
+    @Autowired
+    private KuaiShouAccountReportMapper kuaiShouAccountReportMapper;
 
     @Autowired
     private IKuaiShouAccountReportService accountReportService;
@@ -77,8 +80,19 @@ public class KuaiShouController {
     }
 
     @GetMapping("/dailyFlows")
-    public void queryAccountDailyFlows(String accessToken, Long advertiserId, String startDate, String endDate) {
-        accountReportService.queryAccountDailyFlows(accessToken, advertiserId, startDate, endDate, 1,null,null,2);
+    public void queryAccountDailyFlows(String startDate, String endDate) {
+        List<String> perDay = DateUtils.getPerDay(startDate, endDate);
+        for (String day : perDay) {
+            Integer intDay = Integer.valueOf(day.replace("-", ""));
+            List<JSONObject> jsonObjects = kuaiShouAccountReportMapper.queryCostAccount(intDay, intDay);
+            for (JSONObject jsonObject : jsonObjects) {
+                Long advertiserId = jsonObject.getLong("advertiser_id");
+                String accessToken = jsonObject.getString("access_token");
+                accountReportService.queryAccountDailyFlows(accessToken, advertiserId, day, day, 1,1,null,2);
+
+            }
+        }
+
     }
 
 

+ 4 - 0
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/mapper/KuaiShouAccountReportMapper.java

@@ -3,6 +3,7 @@ package cn.com.ctop.job.kuaishou.data.mapper;
 import cn.com.ctop.job.kuaishou.data.entity.KuaishouAccountReportDaily;
 import cn.com.ctop.job.kuaishou.data.entity.KuaishouAccountReportHour;
 import cn.com.ctop.job.kuaishou.data.entity.KuaishouDailyFlows;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import org.apache.ibatis.annotations.Param;
 
@@ -23,4 +24,7 @@ public interface KuaiShouAccountReportMapper {
 
     @DS("sd_group_commit")
     void replaceKuaiShouDailyFlows(List<KuaishouDailyFlows> addList);
+
+    @DS("selectdb")
+    List<JSONObject> queryCostAccount(@Param("startDate")Integer startDate,@Param("endDate")Integer endDate);
 }

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

@@ -281,4 +281,15 @@
                                   and advertiser_status = 2)
           and media_type = 2
     </update>
+
+    <select id="queryCostAccount" resultType="com.alibaba.fastjson.JSONObject">
+        select r.advertiser_id,a.access_token
+        from media_api.kuaishou_advertiser_report_daily r
+                 join tidb.deepthink.kuaishou_advertiser_list l
+                      on r.advertiser_id = l.advertiser_id
+                 join tidb.deepthink.kuaishou_auth_list a
+                      on a.admin_advertiser_id = l.admin_advertiser_id
+        where stat_date >= #{startDate} and stat_date &lt;= #{endDate}
+        group by 1,2
+    </select>
 </mapper>

+ 1 - 1
job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/data/service/impl/KuaiShouAccountReportServiceImpl.java

@@ -180,7 +180,7 @@ public class KuaiShouAccountReportServiceImpl implements IKuaiShouAccountReportS
         String message = resultJson.getString("message");
         if (null == code || code != 0) {
             log.error("获取快手广告账户流水信息异常:{},accountId:{} {}~{}", message, advertiserId,startDate,endDate);
-            if (isLog != null && isLog == 1) {
+            if (isLog != null && isLog == 1 && (null == code || code != 400002)) {
                 errorLogService.addError(advertiserId, startDate, endDate, "daily_flows", "daily", message, 2);
             }
             return;