Pārlūkot izejas kodu

发布视频审核

wangyunpeng 7 mēneši atpakaļ
vecāks
revīzija
18a3a47c7b

+ 75 - 0
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/model/entity/longArticle/LongArticleCrawlerVideo.java

@@ -0,0 +1,75 @@
+package com.tzld.longarticle.recommend.server.model.entity.longArticle;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.*;
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Entity
+@Table(name = "long_articles_crawler_videos")
+public class LongArticleCrawlerVideo {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id")
+    private Integer id;
+
+    @Column(name = "content_id")
+    private String contentId;
+
+    @Column(name = "out_video_id")
+    private String outVideoId;
+
+    @Column(name = "platform")
+    private String platform;
+
+    @Column(name = "video_title")
+    private String videoTitle;
+
+    @Column(name = "play_count")
+    private Integer playCount;
+
+    @Column(name = "like_count")
+    private Integer likeCount;
+
+    @Column(name = "share_count")
+    private Integer shareCount;
+
+    @Column(name = "publish_time")
+    private Date publishTime;
+
+    @Column(name = "crawler_time")
+    private Date crawlerTime;
+
+    @Column(name = "duration")
+    private Integer duration;
+
+    @Column(name = "video_url")
+    private String videoUrl;
+
+    @Column(name = "cover_url")
+    private String coverUrl;
+
+    @Column(name = "download_status")
+    private Integer downloadStatus;
+
+    @Column(name = "video_oss_path")
+    private String videoOssPath;
+
+    @Column(name = "cover_oss_path")
+    private String coverOssPath;
+
+    @Column(name = "user_id")
+    private String userId;
+
+    @Column(name = "trace_id")
+    private String traceId;
+
+    @Column(name = "score")
+    private Double score;
+}

+ 13 - 13
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/model/entity/longArticle/LongArticlesMatchVideo.java

@@ -19,37 +19,37 @@ public class LongArticlesMatchVideo {
      */
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Column(name = "id", nullable = false, unique = true, columnDefinition = "int(16) COMMENT '自增 id'")
+    @Column(name = "id")
     private Integer id;
 
     /**
      * 唯一追踪 id
      */
-    @Column(name = "trace_id", nullable = false, length = 64, columnDefinition = "varchar(64) COMMENT '唯一追踪 id'")
+    @Column(name = "trace_id")
     private String traceId;
 
     /**
      * 文章 id
      */
-    @Column(name = "content_id", length = 64, columnDefinition = "varchar(64) COMMENT '文章 id'")
+    @Column(name = "content_id")
     private String contentId;
 
     /**
      * 流量池等级
      */
-    @Column(name = "flow_pool_level", length = 32, columnDefinition = "varchar(32) COMMENT '流量池等级 '")
+    @Column(name = "flow_pool_level")
     private String flowPoolLevel;
 
     /**
      * 公众号 Id
      */
-    @Column(name = "gh_id", length = 32, columnDefinition = "varchar(32) COMMENT '公众号 Id'")
+    @Column(name = "gh_id")
     private String ghId;
 
     /**
      * 公众号名称
      */
-    @Column(name = "account_name", length = 64, columnDefinition = "varchar(64) COMMENT '公众号名称'")
+    @Column(name = "account_name")
     private String accountName;
 
     /**
@@ -62,43 +62,43 @@ public class LongArticlesMatchVideo {
      * 101 - 有一个进程正在处理这条记录
      * 99 - 处理失败
      */
-    @Column(name = "content_status", nullable = false, columnDefinition = "int(8) DEFAULT '0' COMMENT '内容状态'")
+    @Column(name = "content_status")
     private Integer contentStatus = 0;
 
     /**
      * 文章状态 id 的修改时间
      */
-    @Column(name = "content_status_update_time", columnDefinition = "int(16) COMMENT '文章状态 id 的修改时间'")
+    @Column(name = "content_status_update_time")
     private Long contentStatusUpdateTime;
 
     /**
      * 是否请求成功, 1表示成功
      */
-    @Column(name = "success_status", nullable = false, columnDefinition = "int(1) DEFAULT '0' COMMENT '是否请求成功, 1表示成功'")
+    @Column(name = "success_status")
     private Integer successStatus = 0;
 
     /**
      * 请求时间
      */
-    @Column(name = "request_timestamp", nullable = false, columnDefinition = "int(16) COMMENT '请求时间'")
+    @Column(name = "request_timestamp")
     private Long requestTimestamp;
 
     /**
      * 更新时间
      */
-    @Column(name = "update_time", nullable = false, columnDefinition = "datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'")
+    @Column(name = "update_time")
     private Date updateTime;
 
     /**
      * 结果
      */
     @Lob
-    @Column(name = "response", columnDefinition = "text COMMENT '结果'")
+    @Column(name = "response")
     private String response;
 
     /**
      * 处理次数
      */
-    @Column(name = "process_times", nullable = false, columnDefinition = "int(1) NOT NULL DEFAULT '0' COMMENT '处理次数'")
+    @Column(name = "process_times")
     private Integer processTimes = 0;
 }

+ 1 - 0
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/repository/longArticle/GetOffVideoArticleRepository.java

@@ -11,4 +11,5 @@ public interface GetOffVideoArticleRepository extends JpaRepository<GetOffVideoA
 
     List<GetOffVideoArticle> getByPublishTimeBetween(Long startTime, Long endTime);
 
+    List<GetOffVideoArticle> getByPublishTimeGreaterThanEqual(Long publishTime);
 }

+ 15 - 0
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/repository/longArticle/LongArticleCrawlerVideoRepository.java

@@ -0,0 +1,15 @@
+package com.tzld.longarticle.recommend.server.repository.longArticle;
+
+import com.tzld.longarticle.recommend.server.model.entity.longArticle.LongArticleCrawlerVideo;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+
+@Repository
+public interface LongArticleCrawlerVideoRepository extends JpaRepository<LongArticleCrawlerVideo, Long> {
+
+    List<LongArticleCrawlerVideo> getByTraceIdIn(List<String> traceIds);
+
+}

+ 20 - 8
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/XxlJobService.java

@@ -21,18 +21,12 @@ import com.tzld.longarticle.recommend.server.model.entity.aigc.PublishAccount;
 import com.tzld.longarticle.recommend.server.model.entity.crawler.AccountAvgInfo;
 import com.tzld.longarticle.recommend.server.model.entity.crawler.GetOffVideoCrawler;
 import com.tzld.longarticle.recommend.server.model.entity.crawler.LongArticlesVideo;
-import com.tzld.longarticle.recommend.server.model.entity.longArticle.GetOffVideoArticle;
-import com.tzld.longarticle.recommend.server.model.entity.longArticle.LongArticlesMatchVideo;
-import com.tzld.longarticle.recommend.server.model.entity.longArticle.LongArticlesReadRate;
-import com.tzld.longarticle.recommend.server.model.entity.longArticle.LongArticlesRootSourceId;
+import com.tzld.longarticle.recommend.server.model.entity.longArticle.*;
 import com.tzld.longarticle.recommend.server.model.param.ArticleFindSourceParam;
 import com.tzld.longarticle.recommend.server.remote.ODPSManager;
 import com.tzld.longarticle.recommend.server.repository.crawler.GetOffVideoCrawlerRepository;
 import com.tzld.longarticle.recommend.server.repository.crawler.LongArticlesVideoRepository;
-import com.tzld.longarticle.recommend.server.repository.longArticle.GetOffVideoArticleRepository;
-import com.tzld.longarticle.recommend.server.repository.longArticle.LongArticlesMatchVideoRepository;
-import com.tzld.longarticle.recommend.server.repository.longArticle.LongArticlesReadRateRepository;
-import com.tzld.longarticle.recommend.server.repository.longArticle.LongArticlesRootSourceIdRepository;
+import com.tzld.longarticle.recommend.server.repository.longArticle.*;
 import com.tzld.longarticle.recommend.server.repository.model.PushMessageCallbackExample;
 import com.tzld.longarticle.recommend.server.service.recommend.ArticlePromotionService;
 import com.tzld.longarticle.recommend.server.service.recommend.ArticleService;
@@ -77,6 +71,8 @@ public class XxlJobService {
     @Autowired
     private LongArticlesMatchVideoRepository longArticlesMatchVideoRepository;
     @Autowired
+    private LongArticleCrawlerVideoRepository longArticleCrawlerVideoRepository;
+    @Autowired
     private LongArticlesReadRateRepository longArticlesReadRateRepository;
     @Autowired
     private LongArticlesRootSourceIdRepository longArticlesRootSourceIdRepository;
@@ -518,4 +514,20 @@ public class XxlJobService {
                 "头条利用池_v4", 100, 1.33, Lists.newArrayList(3, 4, 5, 6, 7, 8));
         return ReturnT.SUCCESS;
     }
+
+    @XxlJob("articleVideoAudit")
+    public ReturnT<String> articleVideoAudit(String param) {
+        long publishTime = DateUtils.getBeforeDayStart(1);
+        if (StringUtils.hasText(param)) {
+            publishTime = DateUtils.getStartOfDay(param, "yyyyMMdd");
+        }
+        List<GetOffVideoArticle> getOffVideoArticleList = getOffVideoArticleRepository.getByPublishTimeGreaterThanEqual(publishTime);
+        List<String> traceIds = getOffVideoArticleList.stream().map(GetOffVideoArticle::getTraceId).collect(Collectors.toList());
+        if (CollectionUtil.isEmpty(traceIds)) {
+            return ReturnT.SUCCESS;
+        }
+        List<LongArticlesMatchVideo> longArticlesMatchVideoList = longArticlesMatchVideoRepository.getByTraceIdIn(traceIds);
+        List<LongArticleCrawlerVideo> longArticleCrawlerVideoList = longArticleCrawlerVideoRepository.getByTraceIdIn(traceIds);
+        return ReturnT.SUCCESS;
+    }
 }

+ 5 - 0
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/web/XxlJobController.java

@@ -69,4 +69,9 @@ public class XxlJobController {
         service.articleCategoryJobRetry(null);
     }
 
+    @GetMapping("/articleVideoAudit")
+    public void articleVideoAudit() {
+        service.articleVideoAudit(null);
+    }
+
 }