Explorar el Código

内容供给量-分渠道

wangyunpeng hace 1 día
padre
commit
c31dcf09e4

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

@@ -2582,38 +2582,47 @@ public class DataDashboardService {
             result.add(item);
         }
         // sum
-        result.add(buildContentFunnelGroupSum(dateStr, result));
+        result.add(buildContentFunnelGroupSum(dateStr, result, "文章"));
+        result.add(buildContentFunnelGroupSum(dateStr, result, "视频"));
+        result.add(buildContentFunnelGroupSum(dateStr, result, "SUM"));
+        result.removeIf(o -> o.getCrawlerCount() == 0 && o.getProduceCount() == 0 && o.getProduceAuditCount() == 0
+                && o.getVideoPoolPQAuditCount() == 0 && o.getVideoAuditCount() == 0);
+        result.sort(Comparator.comparing(ContentGroupFunnelExport::getType));
         return result;
     }
 
-    private ContentGroupFunnelExport buildContentFunnelGroupSum(String dateStr, List<ContentGroupFunnelExport> result) {
+    private ContentGroupFunnelExport buildContentFunnelGroupSum(String dateStr, List<ContentGroupFunnelExport> result,
+                                                                String type) {
         ContentGroupFunnelExport sum = ContentGroupFunnelExport.getDefault();
-        sum.setType("SUM");
+        sum.setType(type);
         sum.setSource("SUM");
         sum.setDateStr(dateStr);
-        for (ContentGroupFunnelExport contentGroupFunnelExport : result) {
-            sum.setCrawlerCount(sum.getCrawlerCount() + contentGroupFunnelExport.getCrawlerCount());
-            sum.setProduceCount(sum.getProduceCount() + contentGroupFunnelExport.getProduceCount());
+        for (ContentGroupFunnelExport export : result) {
+            if (!export.getType().equals(type) && !"SUM".equals(type)) {
+                continue;
+            }
+            sum.setCrawlerCount(sum.getCrawlerCount() + export.getCrawlerCount());
+            sum.setProduceCount(sum.getProduceCount() + export.getProduceCount());
             if (sum.getCrawlerCount() > 0) {
                 sum.setProduceRate(sum.getProduceCount() * 1.0 / sum.getCrawlerCount());
             }
-            sum.setProduceAuditCount(sum.getProduceAuditCount() + contentGroupFunnelExport.getProduceAuditCount());
-            sum.setProduceAuditPassCount(sum.getProduceAuditPassCount() + contentGroupFunnelExport.getProduceAuditPassCount());
+            sum.setProduceAuditCount(sum.getProduceAuditCount() + export.getProduceAuditCount());
+            sum.setProduceAuditPassCount(sum.getProduceAuditPassCount() + export.getProduceAuditPassCount());
             if (sum.getProduceAuditCount() > 0) {
                 sum.setProduceAuditPassRate(sum.getProduceAuditPassCount() * 1.0 / sum.getProduceAuditCount());
             }
-            sum.setMatchCount(sum.getMatchCount() + contentGroupFunnelExport.getMatchCount());
-            sum.setMatchSuccessCount(sum.getMatchSuccessCount() + contentGroupFunnelExport.getMatchSuccessCount());
+            sum.setMatchCount(sum.getMatchCount() + export.getMatchCount());
+            sum.setMatchSuccessCount(sum.getMatchSuccessCount() + export.getMatchSuccessCount());
             if (sum.getMatchCount() > 0) {
                 sum.setMatchSuccessRate(sum.getMatchSuccessCount() * 1.0 / sum.getMatchCount());
             }
-            sum.setVideoAuditCount(sum.getVideoAuditCount() + contentGroupFunnelExport.getVideoAuditCount());
-            sum.setVideoAuditPassCount(sum.getVideoAuditPassCount() + contentGroupFunnelExport.getVideoAuditPassCount());
+            sum.setVideoAuditCount(sum.getVideoAuditCount() + export.getVideoAuditCount());
+            sum.setVideoAuditPassCount(sum.getVideoAuditPassCount() + export.getVideoAuditPassCount());
             if (sum.getVideoAuditCount() > 0) {
                 sum.setVideoAuditPassRate(sum.getVideoAuditPassCount() * 1.0 / sum.getVideoAuditCount());
             }
-            sum.setVideoPoolPQAuditCount(sum.getVideoPoolPQAuditCount() + contentGroupFunnelExport.getVideoPoolPQAuditCount());
-            sum.setVideoPoolPQAuditPassCount(sum.getVideoPoolPQAuditPassCount() + contentGroupFunnelExport.getVideoPoolPQAuditPassCount());
+            sum.setVideoPoolPQAuditCount(sum.getVideoPoolPQAuditCount() + export.getVideoPoolPQAuditCount());
+            sum.setVideoPoolPQAuditPassCount(sum.getVideoPoolPQAuditPassCount() + export.getVideoPoolPQAuditPassCount());
             if (sum.getVideoPoolPQAuditCount() > 0) {
                 sum.setVideoPoolPQAuditPassRate(sum.getVideoPoolPQAuditPassCount() * 1.0 / sum.getVideoPoolPQAuditCount());
             }