ソースを参照

批量搭建 各状态更新

ZHAOXIAN 1 年間 前
親
コミット
3ba64b5b12

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

@@ -31,11 +31,16 @@ public interface ToolsSiteMapper {
 
     boolean insertAdvertiserAppList(AdvertiserApplet advertiserApplet);
 
+    boolean updateAdvertiserAppList2(AdvertiserApplet advertiserApplet);
+
     List<Long> getsiteAdvertiserIds();
 
     boolean updateAdvertiserToolsSite(AdvertiserToolsSite advertiserToolsSite);
 
     boolean insertAdvertiserToolsSite(AdvertiserToolsSite advertiserToolsSite);
 
-    JSONObject queryIsCreateSite(@Param("advertiserId") Long advertiserId, @Param("instanceId") Long instanceId);
+    List<JSONObject> queryIsCreateSite(@Param("advertiserId") Long advertiserId, @Param("instanceId") Long instanceId);
+
+    List<AdvertiserApplet> queryAdvertiserAppList(@Param("advertiserId") Long advertiserId, @Param("platType") String platType);
+
 }

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

@@ -96,6 +96,10 @@
         select advertiser_id
         from deepthink.advertiser_name_info
         where advertiser_status = 'STATUS_PENDING_CONFIRM'
+           OR (
+            reason like '%账户名已存在%'
+                and advertiser_status = 'FAIL'
+            )
     </select>
 
     <insert id="insertAdvertiserNameInfo" parameterType="cn.com.ctop.job.bytedance.data.entity.AdvertiserNameInfo">
@@ -210,6 +214,43 @@
         </trim>
     </insert>
 
+    <update id="updateAdvertiserAppList2" parameterType="cn.com.ctop.job.bytedance.data.entity.AdvertiserApplet">
+        update deepthink.advertiser_app_list
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="advertiserId != null">advertiser_id = #{advertiserId},</if>
+            <if test="appName != null">app_name = #{appName},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="instanceId != null">instance_id = #{instanceId},</if>
+            <if test="appId != null">app_id = #{appId},</if>
+            <if test="originalAppId != null">original_app_id = #{originalAppId},</if>
+            <if test="platType != null">plat_type = #{platType},</if>
+            <if test="auditStatus != null">audit_status = #{auditStatus},</if>
+            <if test="reason != null">reason = #{reason},</if>
+            <if test="link != null">link = #{link},</if>
+            <if test="linkRemark != null">link_remark = #{linkRemark},</if>
+            <if test="path != null">path = #{path},</if>
+            <if test="remarkMessage != null">remark_message = #{remarkMessage},</if>
+            <if test="iconImageUrl != null">icon_image_url = #{iconImageUrl},</if>
+            <if test="headerImageUrl != null">header_image_url = #{headerImageUrl},</if>
+            <if test="labels != null">labels = #{labels},</if>
+            <if test="guideText != null">guide_text = #{guideText},</if>
+            <if test="imagesVerticalUrl != null">images_vertical_url = #{imagesVerticalUrl},</if>
+            <if test="imagesHorizontalUrl != null">images_horizontal_url = #{imagesHorizontalUrl},</if>
+            <if test="introduction != null">introduction = #{introduction},</if>
+            <if test="tagInfo != null">tag_info = #{tagInfo},</if>
+            <if test="startPage != null">start_page = #{startPage},</if>
+            <if test="startParam != null">start_param = #{startParam},</if>
+            <if test="appCreateTime != null">app_create_time = #{appCreateTime},</if>
+            <if test="appUpdateTime != null">app_update_time = #{appUpdateTime},</if>
+            <if test="taskId != null">task_id = #{taskId},</if>
+            <if test="appShare != null">app_share = #{appShare},</if>
+            <if test="shareAdvertiserId != null">share_advertiser_id = #{shareAdvertiserId},</if>
+        </trim>
+        WHERE advertiser_id = #{advertiserId}
+        AND instance_id = #{instanceId}
+        AND task_id = #{taskId}
+    </update>
+
     <update id="updateAdvertiserAppList" parameterType="cn.com.ctop.job.bytedance.data.entity.AdvertiserApplet">
         update deepthink.advertiser_app_list
         <trim prefix="SET" suffixOverrides=",">
@@ -262,6 +303,20 @@
           AND instance_id = #{instanceId}
     </select>
 
+
+    <select id="queryAdvertiserAppList" resultType="cn.com.ctop.job.bytedance.data.entity.AdvertiserApplet">
+        select advertiser_id,
+        instance_id,
+        app_name,
+        task_id
+        from deepthink.advertiser_app_list
+        <where>
+            <if test="platType != null ">and plat_type = #{platType}</if>
+            <if test="advertiserId != null ">and advertiser_id = #{advertiserId}</if>
+        </where>
+    </select>
+
+
     <update id="updateAdvertiserToolsSite" parameterType="cn.com.ctop.job.bytedance.data.entity.AdvertiserToolsSite">
         update deepthink.advertiser_tools_site
         <trim prefix="SET" suffixOverrides=",">

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

@@ -147,6 +147,20 @@ public class ToolsSiteServiceImpl implements IToolsSiteService {
 
     @Override
     public void updateTTAppStatus(Long advertiserId, String searchType, Integer page) {
+        List<AdvertiserApplet> advertiserApplets = toolsSiteMapper.queryAdvertiserAppList(advertiserId, "2");
+        //判断小程序状态是否在“审核中”状态,若存在则去拉取状态,并针对该对象修改,若不存在,则不执行。
+        if (!Check.isNull(advertiserApplets)) {
+            for (AdvertiserApplet advertiserApplet : advertiserApplets) {
+                if ("AUDITING".equals(advertiserApplet.getAuditStatus())) {
+                    getTTList(advertiserApplet, advertiserId, searchType, page);
+                }
+            }
+        } else {
+            getTTList(null, advertiserId, searchType, page);
+        }
+    }
+
+    private void getTTList(AdvertiserApplet targetApplet, Long advertiserId, String searchType, Integer page) {
         boolean nextPage = false;
         String accessToken = tokenMapper.onlyGetToken(advertiserId);
         JSONObject params = new JSONObject();
@@ -157,14 +171,6 @@ public class ToolsSiteServiceImpl implements IToolsSiteService {
         JSONObject filtering = new JSONObject();
         //CREATE_ONLY本户创建,SHARE_ONLY 只查共享应用
         filtering.put("search_type", searchType);
-       /*
-       //AUDIT_ACCEPTED 审核通过、AUDITING 审核中、AUDIT_REJECTED 审核不通过。不传表示全部状态
-        filtering.put("audit_status", "AUDIT_ACCEPTED");
-        */
-           /* JSONObject createTime = new JSONObject();
-            createTime.put("start_time", startDate);
-            createTime.put("end_time", DateUtils.getLastDay(endDate, -1));
-            filtering.put("create_time", createTime);*/
         params.put("filtering", filtering);
         //获取微信小程序列表
         String url = "https://api.oceanengine.com/open_api/v3.0/tools/micro_app/list/";
@@ -184,8 +190,14 @@ public class ToolsSiteServiceImpl implements IToolsSiteService {
                     advertiserApplet.setAppShare("1");
                     advertiserApplet.setShareAdvertiserId(resultObj.getLong("advertiser_id"));
                 }
-                if (!toolsSiteMapper.updateAdvertiserAppList(advertiserApplet))
-                    toolsSiteMapper.insertAdvertiserAppList(advertiserApplet);
+                if (targetApplet == null) {
+                    if (!toolsSiteMapper.updateAdvertiserAppList(advertiserApplet)) {
+                        toolsSiteMapper.insertAdvertiserAppList(advertiserApplet);
+                    }
+                } else {
+                    advertiserApplet.setTaskId(targetApplet.getTaskId());
+                    toolsSiteMapper.updateAdvertiserAppList2(advertiserApplet);
+                }
             }
         } else {
             log.error("获取字节小程序列表失败,{}", obj);
@@ -236,18 +248,20 @@ public class ToolsSiteServiceImpl implements IToolsSiteService {
 
     //主动去创建落地页
     private void pushCreateSite(Long advertiserId, Long instanceId) {
-        JSONObject object = toolsSiteMapper.queryIsCreateSite(advertiserId, instanceId);
+        List<JSONObject> objectList = 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);
+        if (!Check.isNull(objectList)) {
+            for (JSONObject object : objectList) {
+                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);
+                }
             }
         }
     }