浏览代码

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	module-common/src/main/java/cn/com/ctop/common/module/utils/HttpUtils.java
syh 4 年之前
父节点
当前提交
3d928f6ed1

+ 1 - 1
module-check/src/main/java/cn/com/ctop/check/script/TestGroovyScript.java

@@ -24,7 +24,7 @@ public class TestGroovyScript {
 
     @GetMapping("/test")
     public Result testGroovy(){
-         groovyScriptExecutor.execute(1,"CheckTokenExecuteStateScript");
+         groovyScriptExecutor.execute(2,"CheckAccountStatusScript");
         return Result.ok();
     }
 }

+ 1 - 3
module-check/src/main/java/cn/com/ctop/notice/handler/SendWeChatHandle.java

@@ -33,8 +33,6 @@ public class SendWeChatHandle {
      */
     public void sendWeChatByMails(String mails,String message){
         List<String> mail= Arrays.asList(mails.split(","));
-        mail.forEach(m->{
-            this.sendWeChatByMail(m,message);
-        });
+        mail.forEach(m-> this.sendWeChatByMail(m,message));
     }
 }

+ 1 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/ProductMapper.xml

@@ -39,6 +39,7 @@
         ctop_project
         where
         advertiser_id = #{advertiserId}
+        and media_id in (1,2)
     </select>
 
     <select id="getYunyingListByProjectIds" resultType="cn.com.ctop.common.module.vo.ProductDto">

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/utils/HttpUtils.java

@@ -460,8 +460,10 @@ public class HttpUtils {
             httpGet.setHeader("Accept-Language", "zh-CN,zh;q=0.9");
             response = httpClient.execute(httpGet);
             int statusCode = response.getStatusLine().getStatusCode();
+            System.out.println(statusCode);
             if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
                 String newUrl = response.getFirstHeader("Location").getValue();
+                System.out.println(newUrl);
                 return newUrl;
             }
 

+ 85 - 0
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceDailyPlayableReportHistoryJob.java

@@ -0,0 +1,85 @@
+package cn.com.ctop.job.bytedance.handler;
+
+import cn.com.ctop.common.module.entity.CtopOauthToken;
+import cn.com.ctop.common.module.service.ICtopOauthTokenService;
+import cn.com.ctop.toutiao.modules.report.service.IBytedanceInterfaceService;
+import com.xxl.job.core.biz.model.ReturnT;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import com.xxl.job.core.log.XxlJobLogger;
+import org.apache.commons.lang.StringUtils;
+import org.jeecg.common.util.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+@Component
+public class BytedanceDailyPlayableReportHistoryJob {
+
+    static ExecutorService executorService = Executors.newFixedThreadPool(4);
+    @Autowired
+    private ICtopOauthTokenService tokenService;
+    @Autowired
+    private IBytedanceInterfaceService bytedanceInterfaceService;
+
+    @XxlJob("bytedanceDailyPlayableReportHistoryJob")
+    public ReturnT<String> execute(String param) throws Exception {
+        if(StringUtils.isBlank(param)){
+            XxlJobLogger.log("参数为空");
+            return ReturnT.FAIL;
+        }
+
+        String[] args = param.split(",");
+        String startDate = args[0];
+        String endDate = args[1];
+
+        if (StringUtils.isBlank(startDate) || StringUtils.isBlank(endDate)){
+            XxlJobLogger.log("参数不正确"+ param);
+            return ReturnT.FAIL;
+        }
+        try {
+            XxlJobLogger.log("头条获取试玩报表数据任务执行开始");
+            Long starttime = System.currentTimeMillis();
+            List<CtopOauthToken> tokens = tokenService.selectToutiaoToken();
+            if (null == tokens || tokens.size() <= 0) {
+                XxlJobLogger.log("头条获取试玩报表数据任务执行失败:未获取到可用的token");
+                return ReturnT.FAIL;
+            }
+
+            tokens.forEach(token -> {
+                        executorService.submit(new Runnable() {
+                            @Override
+                            public void run() {
+                                try {
+                                    //间隔天数
+                                    Long days = DateUtils.getDiscrepantDays(startDate, endDate);
+                                    String start = null;
+                                    String end = null;
+                                    for (int i = 0; i <= days; i++) {
+                                        start = DateUtils.addDay(startDate, i);
+                                        end = start;
+                                        //获取头条试玩报表数据
+                                        bytedanceInterfaceService.bytedancePlayableReport(token, start, end);
+                                    }
+                                } catch (Exception e) {
+                                    e.printStackTrace();
+                                }
+                            }
+                        });
+                    }
+            );
+            ////
+            Long endtime = System.currentTimeMillis();
+            XxlJobLogger.log("头条获取素材报表数据任务执行结束,执行耗时:{}秒", (endtime - starttime) / 1000);
+        } catch (Exception e) {
+            XxlJobLogger.log("头条获取素材报表数据任务执行结失败");
+            e.printStackTrace();
+            return ReturnT.FAIL;
+        }
+        return ReturnT.SUCCESS;
+    }
+
+}

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/controller/KuaiShouDailyAgentController.java

@@ -262,6 +262,7 @@ public class KuaiShouDailyAgentController {
                 kuaishouReportDailyAgentSum.add(agent.getDate());  //日期
                 kuaishouReportDailyAgentSum.add(agent.getKid());  //快手id
                 kuaishouReportDailyAgentSum.add(agent.getAdvertiserName());  //广告主名称
+                kuaishouReportDailyAgentSum.add(agent.getAccountId());  //账户id
                 kuaishouReportDailyAgentSum.add(agent.getAccountName());  //账户名称
                 // kuaishouReportDailyAgentSum.add(DateUtils.formatDate(agent.getAdvertiserCreateTime()));  //广告主创建时间
                 kuaishouReportDailyAgentSum.add(agent.getCostCampaignCount());  //有消费计划数量
@@ -286,7 +287,7 @@ public class KuaiShouDailyAgentController {
             }
         }
 
-        String[] groupHeaders = {"日期", "快手id", "广告主名称", "账户名称", "有消费计划数量", "总余额", "总消耗", "消耗环比", "现金消耗", "返点消耗", "框返消耗", "激励消耗", "信用消耗", "封面曝光数", "封面点击数", "素材曝光数", "行为数", "封面点击率", "转化点击率", "一级行业", "二级行业"};
+        String[] groupHeaders = {"日期", "快手id", "广告主名称", "广告主id", "账户名称", "有消费计划数量", "总余额", "总消耗", "消耗环比", "现金消耗", "返点消耗", "框返消耗", "激励消耗", "信用消耗", "封面曝光数", "封面点击数", "素材曝光数", "行为数", "封面点击率", "转化点击率", "一级行业", "二级行业"};
         OutputStream os = response.getOutputStream();
         ExportExcelUtils eeu = new ExportExcelUtils();
         XSSFWorkbook workbook = new XSSFWorkbook();