|
@@ -1,6 +1,8 @@
|
|
|
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.model.entity.longArticle.ArticleCategory;
|
|
|
import com.tzld.longarticle.recommend.server.model.entity.longArticle.DatastatScore;
|
|
|
import com.tzld.longarticle.recommend.server.model.vo.IntermediateIndicatorsExport;
|
|
@@ -32,6 +34,8 @@ public class DataDashboardTest {
|
|
|
DatastatScoreRepository datastatScoreRepository;
|
|
|
@Resource
|
|
|
ArticleCategoryRepository articleCategoryRepository;
|
|
|
+ @Resource
|
|
|
+ ArticleCategoryMapper articleCategoryMapper;
|
|
|
|
|
|
@Test
|
|
|
public void test() {
|
|
@@ -77,19 +81,29 @@ public class DataDashboardTest {
|
|
|
@Test
|
|
|
public void datastatScore() {
|
|
|
List<DatastatScore> scoreList = datastatScoreRepository.getBySourceIdIsNotNull();
|
|
|
- List<ArticleCategory> categoryList = articleCategoryRepository.getByStatusAndVersion(1, 2);
|
|
|
+ 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::getTitle, category -> category));
|
|
|
- for (DatastatScore score : scoreList) {
|
|
|
- ArticleCategory category = categoryMap.get(score.getSourceId());
|
|
|
- if (Objects.isNull(category)) {
|
|
|
- category = titleMap.get(score.getTitle());
|
|
|
- if (Objects.isNull(category)) {
|
|
|
- continue;
|
|
|
+ Map<String, ArticleCategory> titleMap = categoryList.stream().collect(Collectors.toMap(ArticleCategory::getTitle, category -> category, (a, b) -> a));
|
|
|
+ Map<String, List<DatastatScore>> scoreMap = scoreList.stream().collect(Collectors.groupingBy(DatastatScore::getTitle));
|
|
|
+ for (Map.Entry<String, List<DatastatScore>> entry : scoreMap.entrySet()) {
|
|
|
+ String title = entry.getKey();
|
|
|
+ List<DatastatScore> list = entry.getValue();
|
|
|
+ ArticleCategory category = null;
|
|
|
+ for (DatastatScore score : list) {
|
|
|
+ category = categoryMap.get(score.getSourceId());
|
|
|
+ if (Objects.nonNull(category)) {
|
|
|
+ category = titleMap.get(score.getTitle());
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
- score.setCategory(category.getCategory());
|
|
|
- datastatScoreRepository.save(score);
|
|
|
+ if (Objects.isNull(category)) {
|
|
|
+ category = titleMap.get(title);
|
|
|
+ }
|
|
|
+ if (Objects.isNull(category)) {
|
|
|
+ log.error("category not exists");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ articleCategoryMapper.updateArticleCategory(title, category.getCategory());
|
|
|
}
|
|
|
}
|
|
|
|