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

微信小程序状态审核成功,主动去创建落地页

ZHAOXIAN 1 год назад
Родитель
Сommit
d20a7e3696

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

@@ -4,6 +4,7 @@ import cn.com.ctop.job.bytedance.data.entity.AdvertiserApplet;
 import cn.com.ctop.job.bytedance.data.entity.AdvertiserAvatar;
 import cn.com.ctop.job.bytedance.data.entity.AdvertiserNameInfo;
 import cn.com.ctop.job.bytedance.data.entity.AdvertiserToolsSite;
+import com.alibaba.fastjson.JSONObject;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -34,7 +35,11 @@ public interface ToolsSiteMapper {
 
     boolean updateAdvertiserToolsSite(AdvertiserToolsSite advertiserToolsSite);
 
-    void insertAdvertiserToolsSite(AdvertiserToolsSite advertiserToolsSite);
+    boolean insertAdvertiserToolsSite(AdvertiserToolsSite advertiserToolsSite);
 
+    void delFailAdvertiserToolsSite(Long advertiserId);
 
+    void delFailAdvertiserApp(Long advertiserId);
+
+    JSONObject queryIsCreateSite(@Param("advertiserId") Long advertiserId, @Param("instanceId") Long instanceId);
 }

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

@@ -253,6 +253,14 @@
         where advertiser_status = 'EDIT'
     </select>
 
+    <select id="queryIsCreateSite">
+        select task_id, task_name, advertiser_id
+        from deepthink.bytedance_advertiser_task
+        where site_id is null
+          AND advertiser_id = #{advertiserId}
+          AND instance_id = #{instanceId}
+    </select>
+
     <update id="updateAdvertiserToolsSite" parameterType="cn.com.ctop.job.bytedance.data.entity.AdvertiserToolsSite">
         update deepthink.advertiser_tools_site
         <trim prefix="SET" suffixOverrides=",">
@@ -303,4 +311,19 @@
             <if test="taskId != null">#{taskId},</if>
         </trim>
     </insert>
+
+    <delete id="delFailAdvertiserToolsSite" parameterType="Long">
+        delete
+        from deepthink.advertiser_tools_site
+        where advertiser_id = #{advertiserId}
+          AND site_id = #{advertiserId}
+    </delete>
+
+    <delete id="delFailAdvertiserApp">
+        delete
+        from deepthink.advertiser_app_list
+        where advertiser_id = #{advertiserId}
+          AND instance_id = #{advertiserId}
+    </delete>
+
 </mapper>

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

@@ -128,9 +128,16 @@ public class ToolsSiteServiceImpl implements IToolsSiteService {
                 if ("SHARE_ONLY".equals(searchType)) {
                     advertiserApplet.setAppShare("1");
                     advertiserApplet.setShareAdvertiserId(resultObj.getLong("advertiser_id"));
+                } else {
+                    //小程序审核成功,判断是否主动创建落地页
+                    if ("AUDIT_ACCEPTED".equals(advertiserApplet.getAuditStatus()))
+                        pushCreateSite(advertiserId, advertiserApplet.getInstanceId());
                 }
                 if (!toolsSiteMapper.updateAdvertiserAppList(advertiserApplet)) {
-                    toolsSiteMapper.insertAdvertiserAppList(advertiserApplet);
+                    if (toolsSiteMapper.insertAdvertiserAppList(advertiserApplet))
+                        toolsSiteMapper.delFailAdvertiserApp(advertiserApplet.getAdvertiserId());
+                } else {
+                    toolsSiteMapper.delFailAdvertiserApp(advertiserApplet.getAdvertiserId());
                 }
             }
         } else {
@@ -182,7 +189,10 @@ public class ToolsSiteServiceImpl implements IToolsSiteService {
                     advertiserApplet.setShareAdvertiserId(resultObj.getLong("advertiser_id"));
                 }
                 if (!toolsSiteMapper.updateAdvertiserAppList(advertiserApplet)) {
-                    toolsSiteMapper.insertAdvertiserAppList(advertiserApplet);
+                    if (toolsSiteMapper.insertAdvertiserAppList(advertiserApplet))
+                        toolsSiteMapper.delFailAdvertiserApp(advertiserApplet.getAdvertiserId());
+                } else {
+                    toolsSiteMapper.delFailAdvertiserApp(advertiserApplet.getAdvertiserId());
                 }
             }
         } else {
@@ -221,7 +231,10 @@ public class ToolsSiteServiceImpl implements IToolsSiteService {
             for (int i = 0; i < jsList.size(); i++) {
                 AdvertiserToolsSite advertiserToolsSite = new AdvertiserToolsSite(jsList.getJSONObject(i), advertiserId, "1");
                 if (!toolsSiteMapper.updateAdvertiserToolsSite(advertiserToolsSite)) {
-                    toolsSiteMapper.insertAdvertiserToolsSite(advertiserToolsSite);
+                    if (toolsSiteMapper.insertAdvertiserToolsSite(advertiserToolsSite))
+                        toolsSiteMapper.delFailAdvertiserToolsSite(advertiserToolsSite.getAdvertiserId());
+                } else {
+                    toolsSiteMapper.delFailAdvertiserToolsSite(advertiserToolsSite.getAdvertiserId());
                 }
             }
         } else {
@@ -231,4 +244,22 @@ public class ToolsSiteServiceImpl implements IToolsSiteService {
             updateSiteStatus(advertiserId, page + 1);
         }
     }
+
+    //主动去创建落地页
+    private void pushCreateSite(Long advertiserId, Long instanceId) {
+        JSONObject object = toolsSiteMapper.queryIsCreateSite(advertiserId, instanceId);
+        //有数据 说明还没有创建落地页,执行创建
+        if (!Check.isNull(object)) {
+            Long taskId = object.getLong("task_id");
+            String url = "https://api.deepthink.artlinkworld.cn/task/createTask";
+            Map<String, Object> param = new HashMap<>();
+            param.put("taskId", taskId);
+            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("任务:{}({}),advertiserId: {} 执行创建落地页", object.getString("task_name"), taskId, advertiserId);
+            }
+        }
+    }
 }