Bladeren bron

adq-修改

yumeng 1 jaar geleden
bovenliggende
commit
6799666b5d

+ 12 - 4
job-adq/src/main/java/cn/com/ctop/job/adq/controller/AdqController.java

@@ -44,13 +44,21 @@ public class AdqController {
 
     @Autowired
     private IAdqFlowDetailsReportService adqFlowDetailsReportService;
+    @Autowired
+    private IAppBanWarnService appBanWarnService;
 
     @GetMapping("/testCreativeHour")
     public JSONObject testRefreshToken(Long advertiserId, String accessToken, String date) {
-        // accountReportService.getAdqAccountHour(advertiserId, accessToken, "2025-03-28", date, 1, 1);
-        accountReportService.getAdqAccountDaily(advertiserId, accessToken, "2025-03-27", date, 1, 1);
-        //    adqReportService.getAdqCreativeDaily(advertiserId, accessToken, "2025-03-27", date, 1, 1);
-        return null;
+
+            long currentTimeMillis = System.currentTimeMillis();
+            // 转换为秒级时间戳
+            long currentTimeSeconds = currentTimeMillis / 1000;
+            // 计算10分钟之前的时间戳(秒级)
+            long tenMinutesAgoSeconds = currentTimeSeconds - 600; // 10分钟前的时间戳(秒级)
+        System.err.println(tenMinutesAgoSeconds);
+            appBanWarnService.appBanWarnJob(tenMinutesAgoSeconds);
+            return null;
+
     }
 
 

+ 10 - 0
job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/AppBanWarnMapper.java

@@ -0,0 +1,10 @@
+package cn.com.ctop.job.adq.data.mapper;
+
+import com.alibaba.fastjson.JSONObject;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface AppBanWarnMapper {
+    List<JSONObject> getAppBanList(@Param("createAt") long createAt);
+}

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

@@ -0,0 +1,16 @@
+<?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.AppBanWarnMapper">
+
+
+    <select id="getAppBanList" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT t1.app_id AS 'appId', t2.name AS 'appName', t1.num AS 'num'
+        FROM (SELECT app_id, COUNT(1) AS 'num'
+              FROM thirtpart.ly_ad_message_log
+              WHERE `output` LIKE '%{"errCode":1007}%'
+                AND created_at >= #{createAt}) t1
+                 LEFT JOIN thirtpart.ly_applet t2
+                           ON t1.app_id = t2.app_id
+    </select>
+</mapper>
+

+ 5 - 0
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/IAppBanWarnService.java

@@ -0,0 +1,5 @@
+package cn.com.ctop.job.adq.data.service;
+
+public interface IAppBanWarnService {
+    void appBanWarnJob(long tenMinutesAgoSeconds);
+}

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

@@ -0,0 +1,57 @@
+package cn.com.ctop.job.adq.data.service.impl;
+
+import cn.com.ctop.job.adq.data.mapper.AppBanWarnMapper;
+import cn.com.ctop.job.adq.data.service.IAppBanWarnService;
+import cn.com.ctop.job.adq.data.utils.Check;
+import cn.com.ctop.job.adq.data.utils.HttpUtils;
+import com.alibaba.fastjson.JSONObject;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class AppBanWarnServiceImpl implements IAppBanWarnService {
+    @Autowired
+    private AppBanWarnMapper appBanWarnMapper;
+
+    @Override
+    public void appBanWarnJob(long createAt) {
+        List<JSONObject> list = appBanWarnMapper.getAppBanList(createAt);
+        if (Check.isNull(list)) {
+            return;
+        }
+        for (int i = 0; i < list.size(); i++) {
+            JSONObject jsonObject = list.get(i);
+            String appId = jsonObject.getString("appId");
+            String appName = jsonObject.getString("appName");
+            String num = jsonObject.getString("num");
+            sendMessage(appId, appName, num);
+        }
+
+
+    }
+
+
+    public void sendMessage(String appId, String appName, String num) {
+        String url = "https://open.feishu.cn/open-apis/bot/v2/hook/f7278c1e-0455-40d9-8893-d09d7936eca4";
+        JSONObject param = new JSONObject();
+        param.put("msg_type", "interactive");
+        JSONObject card = new JSONObject();
+        card.put("type", "template");
+        JSONObject data = new JSONObject();
+        data.put("template_id", "AAqdt9MmVURPx");
+        JSONObject template_variable = new JSONObject();
+        template_variable.put("appId", appId);
+        template_variable.put("appName", appName);
+        template_variable.put("num", num);
+
+
+        data.put("template_variable", template_variable);
+        card.put("data", data);
+        param.put("card", card);
+        String s = HttpUtils.httpPostRequest(url, param, null);
+
+    }
+}

+ 33 - 0
job-adq/src/main/java/cn/com/ctop/job/adq/handler/appBanWarnJob.java

@@ -0,0 +1,33 @@
+package cn.com.ctop.job.adq.handler;
+
+import cn.com.ctop.job.adq.data.service.IAdqFlowDetailsReportService;
+import cn.com.ctop.job.adq.data.service.IAppBanWarnService;
+import cn.com.ctop.job.adq.data.utils.Check;
+import cn.com.ctop.job.adq.data.utils.DateUtils;
+import com.xxl.job.core.context.XxlJobHelper;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+
+@Slf4j
+@Component
+public class appBanWarnJob {
+@Autowired
+private IAppBanWarnService appBanWarnService;
+
+    @XxlJob("appBanWarnJob")
+    public void appBanWarnJob() throws Exception {
+        long currentTimeMillis = System.currentTimeMillis();
+        // 转换为秒级时间戳
+        long currentTimeSeconds = currentTimeMillis / 1000;
+        // 计算10分钟之前的时间戳(秒级)
+        long tenMinutesAgoSeconds = currentTimeSeconds - 600; // 10分钟前的时间戳(秒级)
+        appBanWarnService.appBanWarnJob(tenMinutesAgoSeconds);
+    }
+
+}