|
@@ -10,6 +10,7 @@ import com.tzld.longarticle.recommend.server.common.enums.StatusEnum;
|
|
|
import com.tzld.longarticle.recommend.server.common.enums.recommend.AccountBusinessTypeEnum;
|
|
|
import com.tzld.longarticle.recommend.server.common.enums.recommend.ArticleTypeEnum;
|
|
|
import com.tzld.longarticle.recommend.server.common.enums.recommend.ContentPoolEnum;
|
|
|
+import com.tzld.longarticle.recommend.server.common.enums.recommend.RankStrategyEnum;
|
|
|
import com.tzld.longarticle.recommend.server.mapper.aigc.AigcBaseMapper;
|
|
|
import com.tzld.longarticle.recommend.server.mapper.longArticle.LongArticleBaseMapper;
|
|
|
import com.tzld.longarticle.recommend.server.model.dto.ProduceContentDTO;
|
|
@@ -196,9 +197,10 @@ public class DataDashboardService {
|
|
|
.collect(Collectors.groupingBy(ArticleDetailInfo::getWxSn));
|
|
|
List<PublishSortLog> sortLogList = publishSortLogRepository.findByGhIdInAndDateStrBetween(ghIds, beginDate, endDate);
|
|
|
log.info("newSortStrategyData sortLogList finish");
|
|
|
- Map<String, Map<String, String>> sortStrategyMap = sortLogList.stream()
|
|
|
+ Map<String, Map<String, Map<String, String>>> sortStrategyMap = sortLogList.stream()
|
|
|
.collect(Collectors.groupingBy(PublishSortLog::getGhId,
|
|
|
- Collectors.toMap(PublishSortLog::getDateStr, PublishSortLog::getStrategy, (existing, replacement) -> existing)));
|
|
|
+ Collectors.groupingBy(PublishSortLog::getDateStr, Collectors.toMap(PublishSortLog::getTitle,
|
|
|
+ PublishSortLog::getStrategy, (existing, replacement) -> existing))));
|
|
|
Map<String, Map<String, Map<String, AccountAvgInfo>>> accountAvgInfoIndexMap = accountAvgInfoList.stream()
|
|
|
.filter(o -> Objects.nonNull(o.getReadAvg()) && o.getReadAvg() > 0 && o.getFans() > 1000)
|
|
|
.collect(Collectors.groupingBy(AccountAvgInfo::getGhId, Collectors.groupingBy(AccountAvgInfo::getUpdateTime,
|
|
@@ -336,7 +338,7 @@ public class DataDashboardService {
|
|
|
List<ArticleDetailInfo> articleDetailInfos = articleDetailInfoMap.get(article.getWxSn());
|
|
|
setObjArticleDetailInfo(article, obj, articleDetailInfos);
|
|
|
Article firstArticle = articleMap.get(article.getGhId()).get(article.getAppMsgId()).get(1);
|
|
|
- Map<String, String> dateStrategy = sortStrategyMap.get(article.getGhId());
|
|
|
+ Map<String, Map<String, String>> dateStrategy = sortStrategyMap.get(article.getGhId());
|
|
|
AccountAvgInfo avgInfo = getAccountAvgInfo(accountAvgInfoIndexMap, article.getGhId(),
|
|
|
article.getPublishTimestamp(), article.getItemIndex());
|
|
|
AccountAvgInfo firstAvgInfo = getAccountAvgInfo(accountAvgInfoIndexMap, article.getGhId(),
|
|
@@ -350,7 +352,25 @@ public class DataDashboardService {
|
|
|
obj.setFirstAvgViewCount(firstAvgInfo.getReadAvg());
|
|
|
}
|
|
|
if (Objects.nonNull(dateStrategy)) {
|
|
|
- obj.setStrategy(dateStrategy.get(date));
|
|
|
+ Map<String, String> titleStrategyMap = dateStrategy.get(date);
|
|
|
+ if (Objects.nonNull(titleStrategyMap)) {
|
|
|
+ String strategy = titleStrategyMap.get(article.getTitle());
|
|
|
+ if (!StringUtils.hasText(strategy)) {
|
|
|
+ if (Objects.equals(articleType, ArticleTypeEnum.WUXIANLIU.getVal())) {
|
|
|
+ strategy = RankStrategyEnum.INFINITE_STRATEGY.getStrategy();
|
|
|
+ } else {
|
|
|
+ for (Map.Entry<String, String> entry : titleStrategyMap.entrySet()) {
|
|
|
+ strategy = entry.getValue();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ obj.setStrategy(strategy);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!StringUtils.hasText(obj.getStrategy()) &&
|
|
|
+ Objects.equals(articleType, ArticleTypeEnum.WUXIANLIU.getVal())) {
|
|
|
+ obj.setStrategy(RankStrategyEnum.INFINITE_STRATEGY.getStrategy());
|
|
|
}
|
|
|
setObjAvgInfo(article, obj, avgInfo);
|
|
|
setObjHisRateInfo(article, obj, hisArticleMap, accountAvgInfoIndexMap, hisArticleDetailInfoMap);
|