فهرست منبع

小程序创建超时,添加定时处理

ZHAOXIAN 1 سال پیش
والد
کامیت
c41b09f953

+ 1 - 0
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/ToolsSiteMapper.java

@@ -45,4 +45,5 @@ public interface ToolsSiteMapper {
 
     List<AdvertiserApplet> queryAdvertiserAppList(@Param("advertiserId") Long advertiserId, @Param("platType") String platType);
 
+    List<JSONObject> getTimeOutAppList();
 }

+ 9 - 1
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/mapper/xml/ToolsSiteMapper.xml

@@ -289,7 +289,7 @@
     </update>
 
     <select id="getsiteAdvertiserIds2" resultType="com.alibaba.fastjson.JSONObject">
-        select advertiser_id,task_id
+        select advertiser_id, task_id
         from deepthink.advertiser_tools_site
         where status = 'EDIT'
     </select>
@@ -374,4 +374,12 @@
         </trim>
     </insert>
 
+
+    <select id="getTimeOutAppList" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT task_id, advertiser_id, plat_type
+        FROM deepthink.advertiser_app_list
+        WHERE audit_status = 'FAIL'
+          AND reason like '%timed out%'
+    </select>
+
 </mapper>

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

@@ -14,6 +14,10 @@ public interface IToolsSiteService {
 
     void updateNameStatus(Long id);
 
+    List<JSONObject> getTimeOutAppList();
+
+    void pushAgain(JSONObject app);
+
     List<Long> getAppAdvertiserIds(String platType);
 
     void updateWxAppStatus(Long advertiserId, String searchType, Integer page);
@@ -27,4 +31,5 @@ public interface IToolsSiteService {
     void updateSiteStatus(Long id, Integer page);
 
     void publishSiteStatus(Long id, String taskId);
+
 }

+ 16 - 4
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/data/service/impl/ToolsSiteServiceImpl.java

@@ -86,6 +86,18 @@ public class ToolsSiteServiceImpl implements IToolsSiteService {
     }
 
     @Override
+    public List<JSONObject> getTimeOutAppList() {
+        return toolsSiteMapper.getTimeOutAppList();
+    }
+
+    @Override
+    public void pushAgain(JSONObject app) {
+        String taskId = app.getString("task_id");
+        Long advertiserId = app.getLong("advertiser_id");
+        publishSiteStatus(advertiserId, taskId);
+    }
+
+    @Override
     public List<Long> getAppAdvertiserIds(String platType) {
         return toolsSiteMapper.getAppAdvertiserIds(platType);
     }
@@ -252,18 +264,18 @@ public class ToolsSiteServiceImpl implements IToolsSiteService {
     }
 
     @Override
-    public void publishSiteStatus(Long id, String taskId) {
-        if (Check.isNull(taskId) || Check.isNull(id)) {
+    public void publishSiteStatus(Long advertiserId, String taskId) {
+        if (Check.isNull(taskId) || Check.isNull(advertiserId)) {
             return;
         }
         String url = "https://api.deepthink.artlinkworld.cn/task/createTask";
         Map<String, Object> param = new HashMap<>();
         param.put("taskId", taskId);
-        param.put("advertiserId", id);
+        param.put("advertiserId", advertiserId);
         String s = HttpUtils.httpPostRequest(url, param, null);
         JSONObject jsonObject = JSONObject.parseObject(s);
         if (!Check.isNull(jsonObject) && jsonObject.getInteger("code") == 0) {
-            log.info("任务id:{},advertiserId: {} 执行创建落地页", taskId, id);
+            log.info("任务id:{},advertiserId: {} 执行创建落地页", taskId, advertiserId);
         }
     }
 

+ 9 - 7
job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/ToolsSiteJob.java

@@ -25,6 +25,7 @@ public class ToolsSiteJob {
 
     private static ExecutorService avatarExecutorService = Executors.newFixedThreadPool(3);
     private static ExecutorService nameExecutorService = Executors.newFixedThreadPool(3);
+    private static ExecutorService appExecutorService = Executors.newFixedThreadPool(3);
     private static ExecutorService wxappExecutorService = Executors.newFixedThreadPool(3);
     private static ExecutorService ttappExecutorService = Executors.newFixedThreadPool(3);
     private static ExecutorService siteExecutorService = Executors.newFixedThreadPool(3);
@@ -39,17 +40,18 @@ public class ToolsSiteJob {
         //头像待更新的广告主id集
         List<Long> avatarIds = toolsSiteService.getAvatarAdvertiserIds();
         if (!Check.isNull(avatarIds)) {
-            avatarIds.forEach(id -> avatarExecutorService.submit(() -> {
-                toolsSiteService.updateAvatarStatus(id);
-            }));
+            avatarIds.forEach(id -> avatarExecutorService.submit(() -> toolsSiteService.updateAvatarStatus(id)));
         }
 
         //广告名称待更新的广告主id集
         List<Long> nameIds = toolsSiteService.getNameAdvertiserIds();
         if (!Check.isNull(nameIds)) {
-            nameIds.forEach(id -> nameExecutorService.submit(() -> {
-                toolsSiteService.updateNameStatus(id);
-            }));
+            nameIds.forEach(id -> nameExecutorService.submit(() -> toolsSiteService.updateNameStatus(id)));
+        }
+
+        List<JSONObject> appList = toolsSiteService.getTimeOutAppList();
+        if (!Check.isNull(appList)) {
+            appList.forEach(app -> appExecutorService.submit(() -> toolsSiteService.pushAgain(app)));
         }
 
         //微信
@@ -86,7 +88,7 @@ public class ToolsSiteJob {
         List<JSONObject> sids = toolsSiteService.getSiteAdvertiserIds2();
         if (!Check.isNull(siteIds)) {
             sids.forEach(o -> siteExecutorService.submit(() -> {
-                toolsSiteService.publishSiteStatus(o.getLong("advertiser_id"),o.getString("task_id"));
+                toolsSiteService.publishSiteStatus(o.getLong("advertiser_id"), o.getString("task_id"));
             }));
         }
     }