Просмотр исходного кода

每日发布明细历史数据增加品类

wangyunpeng 1 неделя назад
Родитель
Сommit
664265ec22

+ 6 - 0
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/mapper/longArticle/LongArticleBaseMapper.java

@@ -120,4 +120,10 @@ public interface LongArticleBaseMapper {
     void deleteGzhWaitingByPlanIdAccountId(String planId, String accountId);
 
     List<PublishedTopContentDTO> getPublishedTopContent(String lastPublishDateStr);
+
+    List<String> getSentSourceIds();
+
+    void updateDatastatCategoryBySourceId(String sourceId, String category);
+
+    List<DatastatSortStrategy> getNullCategoryDatastat();
 }

+ 14 - 0
long-article-recommend-service/src/main/resources/mapper/longArticle/LongArticleBaseMapper.xml

@@ -513,4 +513,18 @@
         delete from publish_content_gzh_waiting where plan_id = #{planId} and publish_account_id = #{accountId}
     </delete>
 
+     <select id="getSentSourceIds" resultType="java.lang.String">
+        select distinct source_id from datastat_sort_strategy where category is null
+    </select>
+
+    <select id="updateDatastatCategoryBySourceId"
+            resultType="com.tzld.longarticle.recommend.server.model.entity.longArticle.DatastatSortStrategy">
+        update datastat_sort_strategy set category = #{category} where source_id = #{sourceId}
+    </select>
+
+    <select id="getNullCategoryDatastat"
+            resultType="com.tzld.longarticle.recommend.server.model.entity.longArticle.DatastatSortStrategy">
+        select * from datastat_sort_strategy where category is null
+    </select>
+
 </mapper>

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

@@ -3,14 +3,18 @@ package com.tzld.longarticle.recommend.server;
 import com.alibaba.fastjson.JSONObject;
 import com.tzld.longarticle.recommend.server.common.enums.recommend.ArticleCategoryStatusEnum;
 import com.tzld.longarticle.recommend.server.mapper.longArticle.ArticleCategoryMapper;
+import com.tzld.longarticle.recommend.server.mapper.longArticle.LongArticleBaseMapper;
 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.vo.IntermediateIndicatorsExport;
 import com.tzld.longarticle.recommend.server.model.vo.NewSortStrategyExport;
 import com.tzld.longarticle.recommend.server.repository.longArticle.ArticleCategoryRepository;
 import com.tzld.longarticle.recommend.server.repository.longArticle.DatastatScoreRepository;
+import com.tzld.longarticle.recommend.server.repository.longArticle.DatastatSortStrategyRepository;
 import com.tzld.longarticle.recommend.server.service.recommend.DataDashboardService;
 import com.tzld.longarticle.recommend.server.util.DateUtils;
+import com.tzld.longarticle.recommend.server.util.Md5Util;
 import com.tzld.longarticle.recommend.server.util.feishu.FeiShu;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.jupiter.api.Test;
@@ -31,11 +35,15 @@ public class DataDashboardTest {
     @Resource
     DataDashboardService dataDashboardService;
     @Resource
+    DatastatSortStrategyRepository datastatSortStrategyRepository;
+    @Resource
     DatastatScoreRepository datastatScoreRepository;
     @Resource
     ArticleCategoryRepository articleCategoryRepository;
     @Resource
     ArticleCategoryMapper articleCategoryMapper;
+    @Resource
+    LongArticleBaseMapper longArticleBaseMapper;
 
     @Test
     public void test() {
@@ -107,4 +115,31 @@ public class DataDashboardTest {
         }
     }
 
+    @Test
+    public void datastatSortStrategyCategory() {
+        List<String> sourceIds = longArticleBaseMapper.getSentSourceIds();
+        List<ArticleCategory> categoryList = articleCategoryRepository.getByStatusAndVersion(ArticleCategoryStatusEnum.SUCCESS.getCode(), 2);
+        Map<String, ArticleCategory> categoryMap = categoryList.stream().collect(Collectors.toMap(ArticleCategory::getProduceContentId, category -> category));
+        Map<String, ArticleCategory> titleMap = categoryList.stream().collect(Collectors.toMap(ArticleCategory::getTitleMd5, category -> category, (a, b) -> a));
+        for (String sourceId : sourceIds) {
+            ArticleCategory articleCategory = categoryMap.get(sourceId);
+            if (Objects.isNull(articleCategory)) {
+                continue;
+            }
+            String category = articleCategory.getCategory();
+            longArticleBaseMapper.updateDatastatCategoryBySourceId(sourceId, category);
+        }
+        List<DatastatSortStrategy> list = longArticleBaseMapper.getNullCategoryDatastat();
+        for (DatastatSortStrategy datastatSortStrategy : list) {
+            String titleMd5 = Md5Util.encoderByMd5(datastatSortStrategy.getTitle());
+            ArticleCategory articleCategory = titleMap.get(titleMd5);
+            if (Objects.isNull(articleCategory)) {
+                continue;
+            }
+            String category = articleCategory.getCategory();
+            datastatSortStrategy.setCategory(category);
+            datastatSortStrategyRepository.save(datastatSortStrategy);
+        }
+    }
+
 }