wangyunpeng 9 ヶ月 前
コミット
ecf4c10383

+ 15 - 4
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/recall/RecallService.java

@@ -1,5 +1,6 @@
 package com.tzld.longarticle.recommend.server.service.recall;
 
+import com.ctrip.framework.apollo.spring.annotation.ApolloJsonValue;
 import com.google.common.collect.Lists;
 import com.tzld.longarticle.recommend.server.common.ThreadPoolFactory;
 import com.tzld.longarticle.recommend.server.model.dto.Content;
@@ -69,10 +70,14 @@ public class RecallService implements ApplicationContextAware {
     private ApplicationContext applicationContext;
     private final ExecutorService pool = ThreadPoolFactory.recallPool();
 
-    @Value("${recall.content.his.fieshu.enable:false}")
-    private Boolean contentHisFieshuEnable;
+    @Value("${recall.content.his.feishu.enable:false}")
+    private Boolean contentHisFeishuEnable;
     @Value("${morning.noon.fission.rate:0.64}")
     private double morningNoonFissionRate;
+    @ApolloJsonValue("${morning.publish.account.ghId:[]}")
+    private List<String> morningPublishAccountGhIds;
+    @ApolloJsonValue("${noon.publish.account.ghId:[]}")
+    private List<String> noonPublishAccountGhIds;
 
 
     @PostConstruct
@@ -339,6 +344,7 @@ public class RecallService implements ApplicationContextAware {
         }
         int firstLevelSize = 0;
         int fissionSum = 0;
+        double fissionWeightSum = 0;
         int fansSum = 0;
         int avgReadCountSum = 0;
         Double t0FissionByFansSum = 0.0;
@@ -350,7 +356,7 @@ public class RecallService implements ApplicationContextAware {
             }
             if (CollectionUtils.isEmpty(article.getArticleDetailInfoList())) {
                 // 仅判断7.12以后发布文章
-                if (article.getUpdateTime() > 1720713600 && contentHisFieshuEnable) {
+                if (article.getUpdateTime() > 1720713600 && contentHisFeishuEnable) {
                     FeishuMessageSender.sendWebHookMessage("07026a9f-43f5-448b-ba40-a8d71bd6e634", "历史表现裂变特征获取失败\n"
                             + "ghId: " + article.getGhId() + "\n"
                             + "账号名称: " + article.getAccountName() + "\n"
@@ -385,6 +391,11 @@ public class RecallService implements ApplicationContextAware {
                 t0FissionByReadAvgCorrelationSum += article.getT0FissionByReadAvg() * correlation;
             }
             fissionSum += sumFission0;
+            if (noonPublishAccountGhIds.contains(article.getGhId())) {
+                fissionWeightSum += sumFission0 / morningNoonFissionRate;
+            } else {
+                fissionWeightSum += sumFission0;
+            }
             firstLevelSize++;
         }
         if (firstLevelSize > 0) {
@@ -398,7 +409,7 @@ public class RecallService implements ApplicationContextAware {
                 content.setT0FissionByReadAvgSumAvg(fissionSum * 1.0 / avgReadCountSum);
             }
             if (avgReadCountSum > 0) {
-                content.setT0FissionDeWeightByReadAvgSumAvg(fissionSum / morningNoonFissionRate / avgReadCountSum);
+                content.setT0FissionDeWeightByReadAvgSumAvg(fissionWeightSum / avgReadCountSum);
             }
         }
     }