Parcourir la source

media search status

wangyunpeng il y a 3 mois
Parent
commit
e0ebee07db

+ 4 - 0
core/src/main/java/com/tzld/supply/dao/mapper/supply/spider/ext/SpiderMapperExt.java

@@ -26,4 +26,8 @@ public interface SpiderMapperExt {
      List<SpiderContentMedia> getVideoMaterialGenerateMedia(String produceVideoId, String mediaType);
 
     List<SpiderContent> getVideoGenerateContent(Integer status, Long startTime, Long endTime);
+
+    void updateImageSearchStatus(Long id, Integer searchStatus);
+
+    void updateVideoSearchStatus(Long id, Integer searchStatus);
 }

+ 10 - 6
core/src/main/java/com/tzld/supply/job/ContentMediaSearchJob.java

@@ -79,9 +79,11 @@ public class ContentMediaSearchJob {
                 dataItems = spiderApiService.searchContentImage(keyword);
                 imageMediaSearch(content.getId(), dataItems, "百度图片");
             }
-            content = spiderContentMapper.selectByPrimaryKey(content.getId());
-            content.setImageSearchStatus(SpiderContentSearchStatusEnum.FINISH.getCode());
-            spiderContentMapper.updateByPrimaryKeySelective(content);
+            // 检查是否已经存在图片
+            mediaCount = getSpiderContentMediaCount(content.getId(), SpiderContentMediaTypeEnum.IMAGE.getMsg());
+            if (mediaCount > 0) {
+                spiderMapperExt.updateImageSearchStatus(content.getId(), SpiderContentSearchStatusEnum.FINISH.getCode());
+            }
         }
 
         return ReturnT.SUCCESS;
@@ -187,9 +189,11 @@ public class ContentMediaSearchJob {
             }
             List<SpiderMediaItem> dataItems = spiderApiService.searchContentVideo(content.getTitle());
             videoMediaSearch(content.getId(), dataItems, "好看视频");
-            content = spiderContentMapper.selectByPrimaryKey(content.getId());
-            content.setVideoSearchStatus(SpiderContentSearchStatusEnum.FINISH.getCode());
-            spiderContentMapper.updateByPrimaryKeySelective(content);
+            // 检查是否已经存在视频
+            mediaCount = getSpiderContentMediaCount(content.getId(), SpiderContentMediaTypeEnum.VIDEO.getMsg());
+            if (mediaCount > 0) {
+                spiderMapperExt.updateVideoSearchStatus(content.getId(), SpiderContentSearchStatusEnum.FINISH.getCode());
+            }
         }
 
         return ReturnT.SUCCESS;

+ 12 - 0
core/src/main/resources/mapper/supply/spider/ext/SpiderMapperExt.xml

@@ -105,4 +105,16 @@
 
     </select>
 
+    <update id="updateImageSearchStatus">
+        update spider_content
+        set image_search_status = #{searchStatus}
+        where id = #{id}
+    </update>
+
+    <update id="updateVideoSearchStatus">
+        update spider_content
+        set video_search_status = #{searchStatus}
+        where id = #{id}
+    </update>
+
 </mapper>