فهرست منبع

视频数量改为配置

wangyunpeng 1 ماه پیش
والد
کامیت
ed0499665c

+ 8 - 6
long-article-server/src/main/java/com/tzld/piaoquan/longarticle/service/local/impl/ContentServiceImpl.java

@@ -32,6 +32,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
@@ -52,7 +53,8 @@ public class ContentServiceImpl implements ContentService {
 
     private final String SINGLE_VIDEO_UID = "76862180";
 
-    private final Integer VIDEO_NUM = 3;
+    @Value("${content.mini.video.num:3}")
+    private Integer videoNum;
 
     @Autowired
     private MatchVideoMapper matchVideoMapper;
@@ -374,7 +376,7 @@ public class ContentServiceImpl implements ContentService {
                 AIVideoAbTest aiVideoAbTest = aiVideoAbTests.get(0);
                 abTestList.add(aiVideoAbTest);
                 int size = abTestList.size();
-                for (int i = size; i < VIDEO_NUM; i++) {
+                for (int i = size; i < videoNum; i++) {
                     AIVideoAbTest newAiVideoAbTest = new AIVideoAbTest();
                     BeanUtils.copyProperties(aiVideoAbTest, newAiVideoAbTest);
                     abTestList.add(newAiVideoAbTest);
@@ -530,17 +532,17 @@ public class ContentServiceImpl implements ContentService {
             if (planAccount == null) {
                 return crawlerVideoList;
             }
-            if (crawlerVideoList.size() < VIDEO_NUM) {
+            if (crawlerVideoList.size() < videoNum) {
                 CrawlerVideo crawlerVideo = crawlerVideoList.get(0);
-                int needAddCount = VIDEO_NUM - crawlerVideoList.size();
+                int needAddCount = videoNum - crawlerVideoList.size();
                 for (int i = 0; i < needAddCount; i++) {
                     CrawlerVideo copyCrawlerVideo = new CrawlerVideo();
                     BeanUtils.copyProperties(crawlerVideo, copyCrawlerVideo);
                     crawlerVideoList.add(copyCrawlerVideo);
                 }
             }
-            if (crawlerVideoList.size() > VIDEO_NUM) {
-                return crawlerVideoList.subList(0, VIDEO_NUM);
+            if (crawlerVideoList.size() > videoNum) {
+                return crawlerVideoList.subList(0, videoNum);
             }
             log.info("getContentMiniVideo crawlerVideoList={}", crawlerVideoList);
             return crawlerVideoList;

+ 16 - 0
long-article-server/src/main/java/com/tzld/piaoquan/longarticle/service/local/impl/CoreServiceImpl.java

@@ -113,6 +113,9 @@ public class CoreServiceImpl implements CoreService {
     @Value("${recall.video.config.code:VIDEO_TOPIC}")
     private String recallVideoConfigCode;
 
+    @Value("${content.mini.video.num:3}")
+    private Integer miniVideoNum;
+
     @ApolloJsonValue("${recall.publish.miniprogram.accounts:[]}")
     private List<String> recallPublishMiniprogramAccounts;
 
@@ -945,6 +948,19 @@ public class CoreServiceImpl implements CoreService {
         if (CollectionUtils.isEmpty(videoDetails)) {
             return null;
         }
+        // 数量不足时用第一个视频补足,超出则截断
+        if (videoDetails.size() < miniVideoNum) {
+            VideoDetail first = videoDetails.get(0);
+            int needAddCount = miniVideoNum - videoDetails.size();
+            for (int i = 0; i < needAddCount; i++) {
+                VideoDetail copy = new VideoDetail();
+                BeanUtils.copyProperties(first, copy);
+                videoDetails.add(copy);
+            }
+        }
+        if (videoDetails.size() > miniVideoNum) {
+            videoDetails = videoDetails.subList(0, miniVideoNum);
+        }
         List<PublishMiniprogram> publishMiniprogramList = cardService.generateCards(videoDetails, planAccount, publishContent);
         if (!CollectionUtils.isEmpty(publishMiniprogramList)) {
             for (PublishMiniprogram publishMiniprogram : publishMiniprogramList) {