Przeglądaj źródła

视频内容池供给报表

wangyunpeng 1 miesiąc temu
rodzic
commit
23380ab60a

+ 6 - 0
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/model/vo/ContentFunnelExport.java

@@ -18,8 +18,14 @@ public class ContentFunnelExport {
     private Long videoAuditPassCount = 0L;
     private Long videoAuditPassCount = 0L;
     private Long videoAuditCount = 0L;
     private Long videoAuditCount = 0L;
     private Double videoAuditPassRate = 0.0;
     private Double videoAuditPassRate = 0.0;
+    private Double articleAuditPassRate = 0.0;
+    private Long videoPoolCrawlerCount = 0L;
+    private Long videoPoolPQAuditCount = 0L;
+    private Long videoPoolPQAuditPassCount = 0L;
+    private Double videoPoolPQAuditPassRate = 0.0;
     private Long videoPoolAuditCount = 0L;
     private Long videoPoolAuditCount = 0L;
     private Long videoPoolAuditPassCount = 0L;
     private Long videoPoolAuditPassCount = 0L;
     private Double videoPoolAuditPassRate = 0.0;
     private Double videoPoolAuditPassRate = 0.0;
+    private Double videoPoolCrawlerAuditPassRate = 0.0;
 
 
 }
 }

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

@@ -16,5 +16,9 @@ public interface PublishSingleVideoSourceRepository extends JpaRepository<Publis
 
 
     List<PublishSingleVideoSource> getByVideoPoolAuditStatus(Integer status);
     List<PublishSingleVideoSource> getByVideoPoolAuditStatus(Integer status);
 
 
+    List<PublishSingleVideoSource> getByCrawlerTimestampBetween(Long start, Long end);
+
+    List<PublishSingleVideoSource> getByAuditTimestampBetween(Long start, Long end);
+
     List<PublishSingleVideoSource> getByVideoPoolAuditTimestampBetween(Long start, Long end);
     List<PublishSingleVideoSource> getByVideoPoolAuditTimestampBetween(Long start, Long end);
 }
 }

+ 29 - 10
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/recommend/DataDashboardService.java

@@ -272,11 +272,11 @@ public class DataDashboardService {
         }
         }
         log.info("newSortStrategyData planExeRecordList finish");
         log.info("newSortStrategyData planExeRecordList finish");
         List<String> videoPoolSourceIds = publishContents.stream()
         List<String> videoPoolSourceIds = publishContents.stream()
-               .filter(o -> o.getSourceType().equals(PublishPlanInputSourceTypesEnum.longArticleVideoPoolSource.getVal()))
-               .map(PublishContentDTO::getSourceId).distinct().collect(Collectors.toList());
+                .filter(o -> o.getSourceType().equals(PublishPlanInputSourceTypesEnum.longArticleVideoPoolSource.getVal()))
+                .map(PublishContentDTO::getSourceId).distinct().collect(Collectors.toList());
         List<PublishSingleVideoSource> videoPoolList = videoPoolRepository.getByContentTraceIdIn(videoPoolSourceIds);
         List<PublishSingleVideoSource> videoPoolList = videoPoolRepository.getByContentTraceIdIn(videoPoolSourceIds);
         Map<String, PublishSingleVideoSource> videoPoolSourceMap = videoPoolList.stream()
         Map<String, PublishSingleVideoSource> videoPoolSourceMap = videoPoolList.stream()
-              .collect(Collectors.toMap(PublishSingleVideoSource::getContentTraceId, o -> o));
+                .collect(Collectors.toMap(PublishSingleVideoSource::getContentTraceId, o -> o));
         log.info("newSortStrategyData videoPoolList finish");
         log.info("newSortStrategyData videoPoolList finish");
         Map<String, ProducePlanExeRecord> planExeRecordMap = planExeRecordList.stream()
         Map<String, ProducePlanExeRecord> planExeRecordMap = planExeRecordList.stream()
                 .collect(Collectors.toMap(ProducePlanExeRecord::getPlanExeId, o -> o));
                 .collect(Collectors.toMap(ProducePlanExeRecord::getPlanExeId, o -> o));
@@ -2074,7 +2074,7 @@ public class DataDashboardService {
         List<PublishSingleVideoSource> videoPoolAuditList = videoPoolRepository.getByVideoPoolAuditTimestampBetween(
         List<PublishSingleVideoSource> videoPoolAuditList = videoPoolRepository.getByVideoPoolAuditTimestampBetween(
                 timestamp, timestamp + 86400000);
                 timestamp, timestamp + 86400000);
         Map<Integer, List<PublishSingleVideoSource>> videoPoolAuditMap = videoPoolAuditList.stream()
         Map<Integer, List<PublishSingleVideoSource>> videoPoolAuditMap = videoPoolAuditList.stream()
-               .collect(Collectors.groupingBy(PublishSingleVideoSource::getFlowPoolLevel));
+                .collect(Collectors.groupingBy(PublishSingleVideoSource::getFlowPoolLevel));
         for (LongArticleTitleAudit titleAudit : auditList) {
         for (LongArticleTitleAudit titleAudit : auditList) {
             ContentPoolTypeDTO poolTypeDTO = poolTypeMap.get(titleAudit.getContentId());
             ContentPoolTypeDTO poolTypeDTO = poolTypeMap.get(titleAudit.getContentId());
             if (!map.containsKey(poolTypeDTO.getPoolType())) {
             if (!map.containsKey(poolTypeDTO.getPoolType())) {
@@ -2111,9 +2111,9 @@ public class DataDashboardService {
             }
             }
             List<PublishSingleVideoSource> videoPoolList = videoPoolAuditMap.get(poolEnum.getValue());
             List<PublishSingleVideoSource> videoPoolList = videoPoolAuditMap.get(poolEnum.getValue());
             if (CollectionUtils.isNotEmpty(videoPoolList)) {
             if (CollectionUtils.isNotEmpty(videoPoolList)) {
-                long videoPoolAuditCount =  videoPoolAuditList.size();
+                long videoPoolAuditCount = videoPoolAuditList.size();
                 long videoPoolAuditPassCount = videoPoolList.stream()
                 long videoPoolAuditPassCount = videoPoolList.stream()
-                       .filter(o -> o.getVideoPoolAuditStatus().equals(ProduceContentAuditStatusEnum.pass.getVal())).count();
+                        .filter(o -> o.getVideoPoolAuditStatus().equals(ProduceContentAuditStatusEnum.pass.getVal())).count();
                 videoAuditExport.setVideoPoolAuditCount(videoPoolAuditCount);
                 videoAuditExport.setVideoPoolAuditCount(videoPoolAuditCount);
                 videoAuditExport.setVideoPoolAuditPassCount(videoPoolAuditPassCount);
                 videoAuditExport.setVideoPoolAuditPassCount(videoPoolAuditPassCount);
                 if (videoPoolAuditCount > 0) {
                 if (videoPoolAuditCount > 0) {
@@ -2131,7 +2131,7 @@ public class DataDashboardService {
                 .filter(o -> o.getStatus().equals(ProduceContentAuditStatusEnum.pass.getVal())).count();
                 .filter(o -> o.getStatus().equals(ProduceContentAuditStatusEnum.pass.getVal())).count();
         long videoPoolAuditCount = videoPoolAuditList.size();
         long videoPoolAuditCount = videoPoolAuditList.size();
         long videoPoolAuditPassCount = videoPoolAuditList.stream()
         long videoPoolAuditPassCount = videoPoolAuditList.stream()
-               .filter(o -> o.getVideoPoolAuditStatus().equals(ProduceContentAuditStatusEnum.pass.getVal())).count();
+                .filter(o -> o.getVideoPoolAuditStatus().equals(ProduceContentAuditStatusEnum.pass.getVal())).count();
         VideoAuditExport sum = new VideoAuditExport();
         VideoAuditExport sum = new VideoAuditExport();
         sum.setDateStr(dateStr);
         sum.setDateStr(dateStr);
         sum.setPoolType("SUM");
         sum.setPoolType("SUM");
@@ -2200,10 +2200,13 @@ public class DataDashboardService {
                         Pair.of("G", "0.00%"),
                         Pair.of("G", "0.00%"),
                         Pair.of("J", "0.00%"),
                         Pair.of("J", "0.00%"),
                         Pair.of("M", "0.00%"),
                         Pair.of("M", "0.00%"),
-                        Pair.of("P", "0.00%")
+                        Pair.of("N", "0.00%"),
+                        Pair.of("R", "0.00%"),
+                        Pair.of("U", "0.00%"),
+                        Pair.of("V", "0.00%")
                 );
                 );
         doSendFeishuSheet(dateStrList, dailyDetailSheetToken, "qEipyL", rowNum, rows,
         doSendFeishuSheet(dateStrList, dailyDetailSheetToken, "qEipyL", rowNum, rows,
-                2, styles, null);
+                3, styles, null);
     }
     }
 
 
     private ContentFunnelExport buildContentFunnelExport(String dateStr) {
     private ContentFunnelExport buildContentFunnelExport(String dateStr) {
@@ -2244,6 +2247,10 @@ public class DataDashboardService {
         Long videoAuditPassCount = longArticleTitleAuditRepository.countByStatusAndAuditTimestampBetween(
         Long videoAuditPassCount = longArticleTitleAuditRepository.countByStatusAndAuditTimestampBetween(
                 1, start, end);
                 1, start, end);
         Long videoAuditCount = longArticleTitleAuditRepository.countByAuditTimestampBetween(start, end);
         Long videoAuditCount = longArticleTitleAuditRepository.countByAuditTimestampBetween(start, end);
+        List<PublishSingleVideoSource> videoPoolCrawlerCount = videoPoolRepository.getByCrawlerTimestampBetween(
+                start / 1000, end / 1000);
+        List<PublishSingleVideoSource> videoPoolPQAuditCount = videoPoolRepository.getByAuditTimestampBetween(
+                start / 1000, end / 1000);
         List<PublishSingleVideoSource> videoPoolAuditList = videoPoolRepository.getByVideoPoolAuditTimestampBetween(
         List<PublishSingleVideoSource> videoPoolAuditList = videoPoolRepository.getByVideoPoolAuditTimestampBetween(
                 start, end);
                 start, end);
 
 
@@ -2266,13 +2273,25 @@ public class DataDashboardService {
         if (videoAuditCount > 0) {
         if (videoAuditCount > 0) {
             result.setVideoAuditPassRate(videoAuditPassCount * 1.0 / videoAuditCount);
             result.setVideoAuditPassRate(videoAuditPassCount * 1.0 / videoAuditCount);
         }
         }
+        result.setArticleAuditPassRate(result.getVideoAuditPassCount() * 1.0 / result.getProduceCount());
+        result.setVideoPoolCrawlerCount((long) videoPoolCrawlerCount.size());
+        result.setVideoPoolPQAuditCount((long) videoPoolPQAuditCount.size());
+        long videoPoolPQAuditPassCount = videoPoolPQAuditCount.stream()
+                .filter(o -> o.getAuditStatus().equals(ProduceContentAuditStatusEnum.pass.getVal())).count();
+        result.setVideoPoolPQAuditPassCount(videoPoolPQAuditPassCount);
+        if (result.getVideoPoolPQAuditCount() > 0) {
+            result.setVideoPoolPQAuditPassRate(videoPoolPQAuditPassCount * 1.0 / result.getVideoPoolPQAuditCount());
+        }
         result.setVideoPoolAuditCount((long) videoPoolAuditList.size());
         result.setVideoPoolAuditCount((long) videoPoolAuditList.size());
         long videoPoolAuditPassCount = videoPoolAuditList.stream()
         long videoPoolAuditPassCount = videoPoolAuditList.stream()
-               .filter(o -> o.getVideoPoolAuditStatus().equals(ProduceContentAuditStatusEnum.pass.getVal())).count();
+                .filter(o -> o.getVideoPoolAuditStatus().equals(ProduceContentAuditStatusEnum.pass.getVal())).count();
         result.setVideoPoolAuditPassCount(videoPoolAuditPassCount);
         result.setVideoPoolAuditPassCount(videoPoolAuditPassCount);
         if (result.getVideoPoolAuditCount() > 0) {
         if (result.getVideoPoolAuditCount() > 0) {
             result.setVideoPoolAuditPassRate(videoPoolAuditPassCount * 1.0 / result.getVideoPoolAuditCount());
             result.setVideoPoolAuditPassRate(videoPoolAuditPassCount * 1.0 / result.getVideoPoolAuditCount());
         }
         }
+        if (result.getVideoPoolCrawlerCount() > 0) {
+            result.setVideoPoolCrawlerAuditPassRate(videoPoolAuditPassCount * 1.0 / result.getVideoPoolCrawlerCount());
+        }
         return result;
         return result;
     }
     }
 
 

+ 6 - 0
long-article-recommend-service/src/test/java/com/tzld/longarticle/recommend/server/DataDashboardTest.java

@@ -51,4 +51,10 @@ public class DataDashboardTest {
         dataDashboardService.delFeishuSheet(httpHeaders, "7d4e12", 2, delDateStrList);
         dataDashboardService.delFeishuSheet(httpHeaders, "7d4e12", 2, delDateStrList);
     }
     }
 
 
+    @Test
+    public void contentFunnelExport() {
+        List<String> dateStrList = DateUtils.getBeforeDays(null, null, 15);
+        dataDashboardService.contentFunnelExport(dateStrList);
+    }
+
 }
 }