|
@@ -16,6 +16,7 @@ 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;
|
|
@@ -29,10 +30,12 @@ import com.tzld.longarticle.recommend.server.repository.crawler.AccountAvgInfoRe
|
|
|
import com.tzld.longarticle.recommend.server.repository.crawler.ArticleDetailInfoRepository;
|
|
|
import com.tzld.longarticle.recommend.server.repository.crawler.ArticleRepository;
|
|
|
import com.tzld.longarticle.recommend.server.repository.crawler.PublishSortLogRepository;
|
|
|
+import com.tzld.longarticle.recommend.server.repository.longArticle.ArticleCategoryRepository;
|
|
|
import com.tzld.longarticle.recommend.server.repository.longArticle.DatastatScoreRepository;
|
|
|
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;
|
|
@@ -47,6 +50,7 @@ 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
|
|
@@ -79,6 +83,8 @@ public class DataDashboardService {
|
|
|
private ProducePlanInputSourceRepository producePlanInputSourceRepository;
|
|
|
@Autowired
|
|
|
private DatastatScoreRepository datastatScoreRepository;
|
|
|
+ @Autowired
|
|
|
+ private ArticleCategoryRepository articleCategoryRepository;
|
|
|
|
|
|
@ApolloJsonValue("${export.account.ghId:[]}")
|
|
|
private static List<String> ghIdList;
|
|
@@ -1385,6 +1391,7 @@ 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());
|
|
@@ -1405,6 +1412,8 @@ 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) {
|
|
@@ -1430,6 +1439,11 @@ 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());
|
|
|
+ }
|
|
|
item.setStrategy(publishSortLog.getStrategy());
|
|
|
item.setScore(Double.valueOf(publishSortLog.getScore()));
|
|
|
JSONObject scoreMap = JSONObject.parseObject(publishSortLog.getScoreMap());
|
|
@@ -1477,7 +1491,7 @@ public class DataDashboardService {
|
|
|
|
|
|
private void saveDatastatScore(List<String> dateStrList, List<FirstContentScoreExport> result) {
|
|
|
if (CollectionUtils.isNotEmpty(result)) {
|
|
|
- datastatScoreRepository.deleteByDtIn(dateStrList);
|
|
|
+ longArticleBaseMapper.deleteDatastatScoreByDtIn(dateStrList);
|
|
|
List<DatastatScore> saveList = new ArrayList<>();
|
|
|
for (FirstContentScoreExport value : result) {
|
|
|
DatastatScore item = new DatastatScore();
|
|
@@ -1486,6 +1500,7 @@ public class DataDashboardService {
|
|
|
item.setAccountName(value.getAccountName());
|
|
|
item.setIndex(value.getIndex());
|
|
|
item.setTitle(value.getTitle());
|
|
|
+ item.setCategory(value.getCategory());
|
|
|
item.setStrategy(value.getStrategy());
|
|
|
item.setScore(value.getScore());
|
|
|
item.setHisFissionAvgReadRateRate(value.getHisFissionAvgReadRateRateStrategy());
|