浏览代码

账号头条发布得分导出增加品类

wangyunpeng 8 月之前
父节点
当前提交
f3aa74f0ff

+ 3 - 0
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/model/entity/longArticle/DatastatScore.java

@@ -47,6 +47,9 @@ public class DatastatScore {
     @Column(name = "similarity")
     private Double similarity;
 
+    @Column(name = "category_score")
+    private Double categoryScore;
+
     @Column(name = "view_count_rate")
     private Double viewCountRate;
 

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

@@ -22,6 +22,7 @@ public class FirstContentScoreExport {
     private Double hisFissionAvgReadRateCorrelationRateStrategy;
     private Double hisFissionFansSumRateStrategy;
     private Double similarityStrategy;
+    private Double categoryStrategy;
     private Double viewCountStrategy;
     private Double viewCountRateStrategy;
     private Double hisFissionDeWeightAvgReadSumRateStrategy;

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

@@ -16,7 +16,6 @@ import com.tzld.longarticle.recommend.server.model.entity.crawler.AccountAvgInfo
 import com.tzld.longarticle.recommend.server.model.entity.crawler.Article;
 import com.tzld.longarticle.recommend.server.model.entity.crawler.ArticleDetailInfo;
 import com.tzld.longarticle.recommend.server.model.entity.crawler.PublishSortLog;
-import com.tzld.longarticle.recommend.server.model.entity.longArticle.ArticleCategory;
 import com.tzld.longarticle.recommend.server.model.entity.longArticle.DatastatScore;
 import com.tzld.longarticle.recommend.server.model.entity.longArticle.DatastatSortStrategy;
 import com.tzld.longarticle.recommend.server.model.param.MiniprogramTaskParam;
@@ -35,7 +34,6 @@ import com.tzld.longarticle.recommend.server.repository.longArticle.DatastatScor
 import com.tzld.longarticle.recommend.server.service.recommend.score.ScoreStrategy;
 import com.tzld.longarticle.recommend.server.util.DateUtils;
 import com.tzld.longarticle.recommend.server.util.MapBuilder;
-import com.tzld.longarticle.recommend.server.util.Md5Util;
 import com.tzld.longarticle.recommend.server.util.feishu.FeiShu;
 import com.xxl.job.core.biz.model.ReturnT;
 import com.xxl.job.core.handler.annotation.XxlJob;
@@ -46,11 +44,11 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.util.Pair;
 import org.springframework.http.*;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 import org.springframework.web.client.RestTemplate;
 
 import java.lang.reflect.Field;
 import java.util.*;
-import java.util.function.Function;
 import java.util.stream.Collectors;
 
 @Service
@@ -1367,7 +1365,6 @@ public class DataDashboardService {
 
         List<Pair<String, String>> styles = Arrays
                 .asList(
-                        Pair.of("G", "#,##0.00"),
                         Pair.of("H", "#,##0.00"),
                         Pair.of("I", "#,##0.00"),
                         Pair.of("J", "#,##0.00"),
@@ -1379,7 +1376,9 @@ public class DataDashboardService {
                         Pair.of("P", "#,##0.00"),
                         Pair.of("Q", "#,##0.00"),
                         Pair.of("R", "#,##0.00"),
-                        Pair.of("U", "#,##0.00")
+                        Pair.of("S", "#,##0.00"),
+                        Pair.of("T", "#,##0.00"),
+                        Pair.of("W", "#,##0.00")
                 );
 
         doSendFeishuSheet(dateStrList, sheetToken, sheetId, rowNum, rows, 2, styles);
@@ -1391,7 +1390,6 @@ public class DataDashboardService {
         sortLogList = sortLogList.stream().filter(o -> o.getIndex() == 1 || o.getIndex() == 2).collect(Collectors.toList());
         sortLogList.sort(Comparator.comparing(PublishSortLog::getGhId).thenComparing(PublishSortLog::getDateStr));
         List<String> ghIds = sortLogList.stream().map(PublishSortLog::getGhId).distinct().collect(Collectors.toList());
-        Map<String, String> titleMd5Map = sortLogList.stream().collect(Collectors.toMap(PublishSortLog::getTitle, o -> Md5Util.encoderByMd5(o.getTitle()), (a, b) -> a));
         long minTimestamp = DateUtils.dateStrToTimestamp(dateStrList.get(0), "yyyyMMdd");
         List<Article> articleList = articleRepository.getByGhIdInAndPublishTimestampGreaterThanAndTypeEquals(ghIds, minTimestamp, ArticleTypeEnum.QUNFA.getVal());
         articleList = articleList.stream().filter(o -> o.getItemIndex() == 1 || o.getItemIndex() == 2).collect(Collectors.toList());
@@ -1412,8 +1410,6 @@ public class DataDashboardService {
                 .collect(Collectors.groupingBy(AccountAvgInfo::getGhId,
                         Collectors.groupingBy(AccountAvgInfo::getUpdateTime,
                                 Collectors.toMap(AccountAvgInfo::getPosition, o -> o))));
-        List<ArticleCategory> articleCategoryList = articleCategoryRepository.findAll();
-        Map<String, ArticleCategory> titleCategoryMap = articleCategoryList.stream().collect(Collectors.toMap(ArticleCategory::getTitleMd5, Function.identity(), (a, b) -> a));
 
         String title = "";
         for (PublishSortLog publishSortLog : sortLogList) {
@@ -1439,10 +1435,9 @@ public class DataDashboardService {
             item.setAccountName(publishSortLog.getAccountName());
             item.setIndex(publishSortLog.getIndex());
             item.setTitle(publishSortLog.getTitle());
-            String titleMd5 = titleMd5Map.get(publishSortLog.getTitle());
-            ArticleCategory articleCategory = titleCategoryMap.get(titleMd5);
-            if (Objects.nonNull(articleCategory)) {
-                item.setCategory(articleCategory.getCategory());
+            if (StringUtils.hasText(publishSortLog.getCategory())) {
+                List<String> categoryList = JSONArray.parseArray(publishSortLog.getCategory(), String.class);
+                item.setCategory(categoryList.get(0));
             }
             item.setStrategy(publishSortLog.getStrategy());
             item.setScore(Double.valueOf(publishSortLog.getScore()));
@@ -1455,6 +1450,7 @@ public class DataDashboardService {
             item.setHisFissionAvgReadRateCorrelationRateStrategy(scoreMap.getDoubleValue("HisFissionAvgReadRateCorrelationRateStrategy"));
             item.setHisFissionFansSumRateStrategy(scoreMap.getDoubleValue("HisFissionFansSumRateStrategy"));
             item.setSimilarityStrategy(scoreMap.getDoubleValue("SimilarityStrategy"));
+            item.setCategoryStrategy(scoreMap.getDoubleValue("CategoryStrategy"));
             item.setViewCountStrategy(scoreMap.getDoubleValue("ViewCountStrategy"));
             item.setViewCountRateStrategy(scoreMap.getDoubleValue("ViewCountRateStrategy"));
             item.setHisFissionDeWeightAvgReadSumRateStrategy(scoreMap.getDoubleValue("HisFissionDeWeightAvgReadSumRateStrategy"));
@@ -1506,6 +1502,7 @@ public class DataDashboardService {
                 item.setHisFissionAvgReadRateRate(value.getHisFissionAvgReadRateRateStrategy());
                 item.setHisFissionAvgReadSumRate(value.getHisFissionAvgReadSumRateStrategy());
                 item.setSimilarity(value.getSimilarityStrategy());
+                item.setCategoryScore(value.getCategoryStrategy());
                 item.setViewCountRate(value.getViewCountRateStrategy());
                 item.setHisFissionDeWeightAvgReadSumRate(value.getHisFissionDeWeightAvgReadSumRateStrategy());
                 item.setReadCount(value.getReadCount());