ソースを参照

视频内容池文章晋级

wangyunpeng 6 ヶ月 前
コミット
62fedac089

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

@@ -609,6 +609,14 @@ public class XxlJobService {
         return ReturnT.SUCCESS;
     }
 
+    @XxlJob("articleVideoPoolPromotion")
+    public ReturnT<String> articleVideoPoolPromotion(String param) {
+        articlePromotionService.articleVideoPoolPromotion(500, 1.1, Lists.newArrayList(1));
+        articlePromotionService.articleVideoPoolPromotion(250, 1.21, Lists.newArrayList(2));
+        articlePromotionService.articleVideoPoolPromotion(100, 1.33, Lists.newArrayList(3, 4, 5, 6, 7, 8));
+        return ReturnT.SUCCESS;
+    }
+
     @XxlJob("refreshArticleHisCache")
     public ReturnT<String> refreshArticleHisCache(String param) {
         // 刷新历史表现缓存

+ 26 - 4
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/recommend/ArticlePromotionService.java

@@ -75,7 +75,7 @@ public class ArticlePromotionService {
         // 获取内部表现
         List<DatastatSortStrategy> list = longArticleBaseMapper.getArticlePromotion(viewCountFilter, viewCountRateFilter,
                 10000, dateStrFilter, positionFilter);
-        list = filterEarlyContent(list);
+        list = filterEarlyContent(list, true);
         log.info("优质{}文章数量: {}", accountNickName, list.size());
         List<DatastatSortStrategy> distinct = filterSameTitle(list);
         distinct.sort(Comparator.comparing(DatastatSortStrategy::getDateStr, Comparator.reverseOrder()));
@@ -83,7 +83,7 @@ public class ArticlePromotionService {
         addUrlListToAccount(accountNickName, distinct, pos, way, today, tag);
     }
 
-    private List<DatastatSortStrategy> filterEarlyContent(List<DatastatSortStrategy> list) {
+    private List<DatastatSortStrategy> filterEarlyContent(List<DatastatSortStrategy> list, Boolean filterVideoPool) {
         List<String> ghIds = list.stream().map(DatastatSortStrategy::getGhId).distinct().collect(Collectors.toList());
         List<PublishAccount> publishAccountList = publishAccountRepository.getAllByGhIdIn(ghIds);
         Map<String, Long> publishAccountCreateTimeMap = publishAccountList.stream().collect(Collectors.toMap(
@@ -91,8 +91,13 @@ public class ArticlePromotionService {
         list = list.stream().filter(o -> {
             long publishTime = DateUtils.dateStrToTimestamp(o.getDateStr(), "yyyyMMdd");
             Long accountCreateTime = publishAccountCreateTimeMap.get(o.getGhId());
-            return publishTime * 1000 > accountCreateTime
-                    && !PublishPlanInputSourceTypesEnum.longArticleVideoPoolSource.getVal().equals(o.getSourceType());
+            if (filterVideoPool) {
+                return publishTime * 1000 > accountCreateTime
+                        && !PublishPlanInputSourceTypesEnum.longArticleVideoPoolSource.getVal().equals(o.getSourceType());
+            } else {
+                return publishTime * 1000 > accountCreateTime
+                        && PublishPlanInputSourceTypesEnum.longArticleVideoPoolSource.getVal().equals(o.getSourceType());
+            }
         }).collect(Collectors.toList());
         return list;
     }
@@ -356,4 +361,21 @@ public class ArticlePromotionService {
         }
     }
 
+    public void articleVideoPoolPromotion(Integer viewCountFilter, Double viewCountRateFilter, List<Integer> positionFilter) {
+        String dateStrFilter = DateUtils.getBeforeDaysDateStr("yyyyMMdd", 10);
+        // 获取内部表现
+        List<DatastatSortStrategy> list = longArticleBaseMapper.getArticlePromotion(viewCountFilter, viewCountRateFilter,
+                10000, dateStrFilter, positionFilter);
+        list = filterEarlyContent(list, false);
+        log.info("优质文章数量: {}", list.size());
+        List<DatastatSortStrategy> distinct = filterSameTitle(list);
+        distinct.sort(Comparator.comparing(DatastatSortStrategy::getDateStr, Comparator.reverseOrder()));
+        log.info("优质文章数量(去重后): {}", distinct.size());
+        saveArticleVideoPoolPromotion(distinct);
+    }
+
+    private void saveArticleVideoPoolPromotion(List<DatastatSortStrategy> promotionList) {
+
+    }
+
 }

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

@@ -64,6 +64,11 @@ public class XxlJobController {
         service.articlePromotion(null);
     }
 
+    @GetMapping("/articleVideoPoolPromotion")
+    public void articleVideoPoolPromotion() {
+        service.articleVideoPoolPromotion(null);
+    }
+
     @GetMapping("/articlePromotionTraceability")
     public void articlePromotionTraceability(String channelContentId) {
         service.articlePromotionTraceability(channelContentId);