|
@@ -278,74 +278,17 @@ public class DataDashboardService {
|
|
|
// result
|
|
|
List<NewSortStrategyExport> result = new ArrayList<>();
|
|
|
for (Article article : articleList) {
|
|
|
+ NewSortStrategyExport obj = new NewSortStrategyExport();
|
|
|
List<ArticleDetailInfo> articleDetailInfos = articleDetailInfoMap.get(article.getWxSn());
|
|
|
- if (CollectionUtils.isEmpty(articleDetailInfos)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
+ setObjLongDetailInfo(article, obj, articleDetailInfos);
|
|
|
Article firstArticle = articleMap.get(article.getGhId()).get(article.getAppMsgId()).get(1);
|
|
|
Map<String, String> dateStrategy = sortStrategyMap.get(article.getGhId());
|
|
|
- Date minDate = articleDetailInfos.stream().map(ArticleDetailInfo::getRecallDt).min(Date::compareTo).orElse(new Date());
|
|
|
- Date secondDate = articleDetailInfos.stream().map(ArticleDetailInfo::getRecallDt).filter(o -> o.after(minDate)).min(Date::compareTo).orElse(new Date());
|
|
|
- Date thirdDate = articleDetailInfos.stream().map(ArticleDetailInfo::getRecallDt).filter(o -> o.after(secondDate)).min(Date::compareTo).orElse(new Date());
|
|
|
- int sumFirstLevel = 0;
|
|
|
- int sumFission0 = 0;
|
|
|
- int sumFission1 = 0;
|
|
|
- int sumFission2 = 0;
|
|
|
- int sumSecondFirstLevel = 0;
|
|
|
- int sumSecondFission0 = 0;
|
|
|
- int sumSecondFission1 = 0;
|
|
|
- int sumSecondFission2 = 0;
|
|
|
- int sumThirdFirstLevel = 0;
|
|
|
- int sumThirdFission0 = 0;
|
|
|
- int sumThirdFission1 = 0;
|
|
|
- int sumThirdFission2 = 0;
|
|
|
- for (ArticleDetailInfo articleDetailInfo : articleDetailInfos) {
|
|
|
- if (articleDetailInfo.getRecallDt().equals(minDate)) {
|
|
|
- sumFirstLevel += Optional.ofNullable(articleDetailInfo.getFirstLevel()).orElse(0);
|
|
|
- sumFission0 += Optional.ofNullable(articleDetailInfo.getFission0()).orElse(0);
|
|
|
- sumFission1 += Optional.ofNullable(articleDetailInfo.getFission1()).orElse(0);
|
|
|
- sumFission2 += Optional.ofNullable(articleDetailInfo.getFission2()).orElse(0);
|
|
|
- }
|
|
|
- if (articleDetailInfo.getRecallDt().equals(secondDate)) {
|
|
|
- sumSecondFirstLevel += Optional.ofNullable(articleDetailInfo.getFirstLevel()).orElse(0);
|
|
|
- sumSecondFission0 += Optional.ofNullable(articleDetailInfo.getFission0()).orElse(0);
|
|
|
- sumSecondFission1 += Optional.ofNullable(articleDetailInfo.getFission1()).orElse(0);
|
|
|
- sumSecondFission2 += Optional.ofNullable(articleDetailInfo.getFission2()).orElse(0);
|
|
|
- }
|
|
|
- if (articleDetailInfo.getRecallDt().equals(thirdDate)) {
|
|
|
- sumThirdFirstLevel += Optional.ofNullable(articleDetailInfo.getFirstLevel()).orElse(0);
|
|
|
- sumThirdFission0 += Optional.ofNullable(articleDetailInfo.getFission0()).orElse(0);
|
|
|
- sumThirdFission1 += Optional.ofNullable(articleDetailInfo.getFission1()).orElse(0);
|
|
|
- sumThirdFission2 += Optional.ofNullable(articleDetailInfo.getFission2()).orElse(0);
|
|
|
- }
|
|
|
- }
|
|
|
AccountAvgInfo avgInfo = getAccountAvgInfo(accountAvgInfoIndexMap, article.getGhId(),
|
|
|
article.getUpdateTime(), article.getItemIndex());
|
|
|
AccountAvgInfo firstAvgInfo = getAccountAvgInfo(accountAvgInfoIndexMap, article.getGhId(),
|
|
|
article.getUpdateTime(), 1);
|
|
|
String date = DateUtils.timestampToYMDStr(article.getUpdateTime(), "yyyyMMdd");
|
|
|
- NewSortStrategyExport obj = new NewSortStrategyExport();
|
|
|
- obj.setGhId(article.getGhId());
|
|
|
- obj.setAccountName(article.getAccountName());
|
|
|
- obj.setTitle(article.getTitle());
|
|
|
- obj.setLink(article.getContentUrl());
|
|
|
- obj.setPosition(article.getItemIndex());
|
|
|
- obj.setViewCount(article.getShowViewCount());
|
|
|
- obj.setDateStr(date);
|
|
|
- obj.setPublishTime(DateUtils.timestampToYMDStr(article.getUpdateTime(), "HH:mm:ss"));
|
|
|
- obj.setFirstLevel(sumFirstLevel);
|
|
|
- obj.setFission0(sumFission0);
|
|
|
- obj.setFission1(sumFission1);
|
|
|
- obj.setFission2(sumFission2);
|
|
|
- obj.setSecondFirstLevel(sumSecondFirstLevel);
|
|
|
- obj.setSecondFission0(sumSecondFission0);
|
|
|
- obj.setSecondFission1(sumSecondFission1);
|
|
|
- obj.setSecondFission2(sumSecondFission2);
|
|
|
- obj.setThirdFirstLevel(sumThirdFirstLevel);
|
|
|
- obj.setThirdFission0(sumThirdFission0);
|
|
|
- obj.setThirdFission1(sumThirdFission1);
|
|
|
- obj.setThirdFission2(sumThirdFission2);
|
|
|
- obj.setWxSn(article.getWxSn());
|
|
|
+ setObjBaseInfo(article, obj, date);
|
|
|
if (Objects.nonNull(firstArticle)) {
|
|
|
obj.setFirstViewCount(firstArticle.getShowViewCount());
|
|
|
}
|
|
@@ -355,34 +298,7 @@ public class DataDashboardService {
|
|
|
if (Objects.nonNull(dateStrategy)) {
|
|
|
obj.setStrategy(dateStrategy.get(date));
|
|
|
}
|
|
|
- if (Objects.nonNull(avgInfo)) {
|
|
|
- obj.setAccountMode(avgInfo.getAccountMode());
|
|
|
- obj.setAccountSource(avgInfo.getAccountSource());
|
|
|
- obj.setAccountType(avgInfo.getAccountType());
|
|
|
- obj.setAccountStatus(avgInfo.getAccountStatus());
|
|
|
- obj.setBusinessType(AccountBusinessTypeEnum.from(avgInfo.getBusinessType()).getDescription());
|
|
|
- obj.setFans(avgInfo.getFans());
|
|
|
- obj.setAvgViewCount(avgInfo.getReadAvg());
|
|
|
- if (avgInfo.getReadAvg() > 0) {
|
|
|
- obj.setReadRate((article.getShowViewCount() * 1.0) / avgInfo.getReadAvg());
|
|
|
- obj.setFission0ReadAvgRate((sumFission0 * 1.0) / avgInfo.getReadAvg());
|
|
|
- obj.setFission0ReadAvg100Rate((sumFission0 * 1.0) / (avgInfo.getReadAvg() + 100));
|
|
|
- obj.setFission0ReadAvg500Rate((sumFission0 * 1.0) / (avgInfo.getReadAvg() + 500));
|
|
|
- obj.setFission0ReadAvg1000Rate((sumFission0 * 1.0) / (avgInfo.getReadAvg() + 1000));
|
|
|
- }
|
|
|
- if (avgInfo.getFans() > 0) {
|
|
|
- obj.setReadFansRate((article.getShowViewCount() * 1.0) / avgInfo.getFans());
|
|
|
- }
|
|
|
- }
|
|
|
- if (sumFirstLevel > 0) {
|
|
|
- obj.setFission0FirstRate((sumFission0 * 1.0) / sumFirstLevel);
|
|
|
- }
|
|
|
- if (article.getShowViewCount() > 0) {
|
|
|
- obj.setFirstReadRate((sumFirstLevel * 1.0) / article.getShowViewCount());
|
|
|
- }
|
|
|
- if (sumFission0 > 0) {
|
|
|
- obj.setFission1Fission0Rate((sumFission1 * 1.0) / sumFission0);
|
|
|
- }
|
|
|
+ setObjAvgInfo(article, obj, avgInfo);
|
|
|
result.add(obj);
|
|
|
// aigc 数据
|
|
|
PublishAccount publishAccount = publishAccountMap.get(article.getGhId());
|
|
@@ -516,6 +432,104 @@ public class DataDashboardService {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+ private void setObjBaseInfo(Article article, NewSortStrategyExport obj, String date) {
|
|
|
+ obj.setGhId(article.getGhId());
|
|
|
+ obj.setAccountName(article.getAccountName());
|
|
|
+ obj.setTitle(article.getTitle());
|
|
|
+ obj.setLink(article.getContentUrl());
|
|
|
+ obj.setPosition(article.getItemIndex());
|
|
|
+ obj.setViewCount(article.getShowViewCount());
|
|
|
+ obj.setDateStr(date);
|
|
|
+ obj.setPublishTime(DateUtils.timestampToYMDStr(article.getUpdateTime(), "HH:mm:ss"));
|
|
|
+ obj.setWxSn(article.getWxSn());
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setObjLongDetailInfo(Article article, NewSortStrategyExport obj, List<ArticleDetailInfo> articleDetailInfos) {
|
|
|
+ if (CollectionUtils.isNotEmpty(articleDetailInfos)) {
|
|
|
+ Date publishDate = DateUtils.getStartDateOfDay(article.getUpdateTime());
|
|
|
+ articleDetailInfos = articleDetailInfos.stream().filter(o -> !o.getRecallDt().before(publishDate))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ Date minDate = articleDetailInfos.stream().map(ArticleDetailInfo::getRecallDt).min(Date::compareTo).orElse(new Date());
|
|
|
+ Date secondDate = articleDetailInfos.stream().map(ArticleDetailInfo::getRecallDt).filter(o -> o.after(minDate)).min(Date::compareTo).orElse(new Date());
|
|
|
+ Date thirdDate = articleDetailInfos.stream().map(ArticleDetailInfo::getRecallDt).filter(o -> o.after(secondDate)).min(Date::compareTo).orElse(new Date());
|
|
|
+ int sumFirstLevel = 0;
|
|
|
+ int sumFission0 = 0;
|
|
|
+ int sumFission1 = 0;
|
|
|
+ int sumFission2 = 0;
|
|
|
+ int sumSecondFirstLevel = 0;
|
|
|
+ int sumSecondFission0 = 0;
|
|
|
+ int sumSecondFission1 = 0;
|
|
|
+ int sumSecondFission2 = 0;
|
|
|
+ int sumThirdFirstLevel = 0;
|
|
|
+ int sumThirdFission0 = 0;
|
|
|
+ int sumThirdFission1 = 0;
|
|
|
+ int sumThirdFission2 = 0;
|
|
|
+ for (ArticleDetailInfo articleDetailInfo : articleDetailInfos) {
|
|
|
+ if (articleDetailInfo.getRecallDt().equals(minDate)) {
|
|
|
+ sumFirstLevel += Optional.ofNullable(articleDetailInfo.getFirstLevel()).orElse(0);
|
|
|
+ sumFission0 += Optional.ofNullable(articleDetailInfo.getFission0()).orElse(0);
|
|
|
+ sumFission1 += Optional.ofNullable(articleDetailInfo.getFission1()).orElse(0);
|
|
|
+ sumFission2 += Optional.ofNullable(articleDetailInfo.getFission2()).orElse(0);
|
|
|
+ }
|
|
|
+ if (articleDetailInfo.getRecallDt().equals(secondDate)) {
|
|
|
+ sumSecondFirstLevel += Optional.ofNullable(articleDetailInfo.getFirstLevel()).orElse(0);
|
|
|
+ sumSecondFission0 += Optional.ofNullable(articleDetailInfo.getFission0()).orElse(0);
|
|
|
+ sumSecondFission1 += Optional.ofNullable(articleDetailInfo.getFission1()).orElse(0);
|
|
|
+ sumSecondFission2 += Optional.ofNullable(articleDetailInfo.getFission2()).orElse(0);
|
|
|
+ }
|
|
|
+ if (articleDetailInfo.getRecallDt().equals(thirdDate)) {
|
|
|
+ sumThirdFirstLevel += Optional.ofNullable(articleDetailInfo.getFirstLevel()).orElse(0);
|
|
|
+ sumThirdFission0 += Optional.ofNullable(articleDetailInfo.getFission0()).orElse(0);
|
|
|
+ sumThirdFission1 += Optional.ofNullable(articleDetailInfo.getFission1()).orElse(0);
|
|
|
+ sumThirdFission2 += Optional.ofNullable(articleDetailInfo.getFission2()).orElse(0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ obj.setFirstLevel(sumFirstLevel);
|
|
|
+ obj.setFission0(sumFission0);
|
|
|
+ obj.setFission1(sumFission1);
|
|
|
+ obj.setFission2(sumFission2);
|
|
|
+ obj.setSecondFirstLevel(sumSecondFirstLevel);
|
|
|
+ obj.setSecondFission0(sumSecondFission0);
|
|
|
+ obj.setSecondFission1(sumSecondFission1);
|
|
|
+ obj.setSecondFission2(sumSecondFission2);
|
|
|
+ obj.setThirdFirstLevel(sumThirdFirstLevel);
|
|
|
+ obj.setThirdFission0(sumThirdFission0);
|
|
|
+ obj.setThirdFission1(sumThirdFission1);
|
|
|
+ obj.setThirdFission2(sumThirdFission2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setObjAvgInfo(Article article, NewSortStrategyExport obj, AccountAvgInfo avgInfo) {
|
|
|
+ if (Objects.nonNull(avgInfo)) {
|
|
|
+ obj.setAccountMode(avgInfo.getAccountMode());
|
|
|
+ obj.setAccountSource(avgInfo.getAccountSource());
|
|
|
+ obj.setAccountType(avgInfo.getAccountType());
|
|
|
+ obj.setAccountStatus(avgInfo.getAccountStatus());
|
|
|
+ obj.setBusinessType(AccountBusinessTypeEnum.from(avgInfo.getBusinessType()).getDescription());
|
|
|
+ obj.setFans(avgInfo.getFans());
|
|
|
+ obj.setAvgViewCount(avgInfo.getReadAvg());
|
|
|
+ if (avgInfo.getReadAvg() > 0) {
|
|
|
+ obj.setReadRate((article.getShowViewCount() * 1.0) / avgInfo.getReadAvg());
|
|
|
+ obj.setFission0ReadAvgRate((obj.getFission0() * 1.0) / avgInfo.getReadAvg());
|
|
|
+ obj.setFission0ReadAvg100Rate((obj.getFission0() * 1.0) / (avgInfo.getReadAvg() + 100));
|
|
|
+ obj.setFission0ReadAvg500Rate((obj.getFission0() * 1.0) / (avgInfo.getReadAvg() + 500));
|
|
|
+ obj.setFission0ReadAvg1000Rate((obj.getFission0() * 1.0) / (avgInfo.getReadAvg() + 1000));
|
|
|
+ }
|
|
|
+ if (avgInfo.getFans() > 0) {
|
|
|
+ obj.setReadFansRate((article.getShowViewCount() * 1.0) / avgInfo.getFans());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (obj.getFirstLevel() > 0) {
|
|
|
+ obj.setFission0FirstRate((obj.getFission0() * 1.0) / obj.getFirstLevel());
|
|
|
+ }
|
|
|
+ if (article.getShowViewCount() > 0) {
|
|
|
+ obj.setFirstReadRate((obj.getFirstLevel() * 1.0) / article.getShowViewCount());
|
|
|
+ }
|
|
|
+ if (obj.getFission0() > 0) {
|
|
|
+ obj.setFission1Fission0Rate((obj.getFission1() * 1.0) / obj.getFission0());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private Map<String, ProducePlan> getTitleSourceProducePlanMap(List<String> titleList) {
|
|
|
List<ProduceContentDTO> sourceProduceContentList = new ArrayList<>();
|
|
|
for (List<String> partitions : Lists.partition(titleList, 1000)) {
|
|
@@ -983,94 +997,14 @@ public class DataDashboardService {
|
|
|
Map<String, Map<String, Map<String, AccountAvgInfo>>> accountAvgInfoIndexMap) {
|
|
|
List<NewSortStrategyExport> result = new ArrayList<>();
|
|
|
for (Article article : todayPublish) {
|
|
|
+ NewSortStrategyExport obj = new NewSortStrategyExport();
|
|
|
List<ArticleDetailInfo> articleDetailInfos = articleDetailInfoMap.get(article.getWxSn());
|
|
|
- if (CollectionUtils.isEmpty(articleDetailInfos)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- Date minDate = articleDetailInfos.stream().map(ArticleDetailInfo::getRecallDt).min(Date::compareTo).orElse(new Date());
|
|
|
- Date secondDate = articleDetailInfos.stream().map(ArticleDetailInfo::getRecallDt).filter(o -> o.after(minDate)).min(Date::compareTo).orElse(new Date());
|
|
|
- Date thirdDate = articleDetailInfos.stream().map(ArticleDetailInfo::getRecallDt).filter(o -> o.after(secondDate)).min(Date::compareTo).orElse(new Date());
|
|
|
- int sumFirstLevel = 0;
|
|
|
- int sumFission0 = 0;
|
|
|
- int sumFission1 = 0;
|
|
|
- int sumFission2 = 0;
|
|
|
- int sumSecondFirstLevel = 0;
|
|
|
- int sumSecondFission0 = 0;
|
|
|
- int sumSecondFission1 = 0;
|
|
|
- int sumSecondFission2 = 0;
|
|
|
- int sumThirdFirstLevel = 0;
|
|
|
- int sumThirdFission0 = 0;
|
|
|
- int sumThirdFission1 = 0;
|
|
|
- int sumThirdFission2 = 0;
|
|
|
- for (ArticleDetailInfo articleDetailInfo : articleDetailInfos) {
|
|
|
- if (articleDetailInfo.getRecallDt().equals(minDate)) {
|
|
|
- sumFirstLevel += Optional.ofNullable(articleDetailInfo.getFirstLevel()).orElse(0);
|
|
|
- sumFission0 += Optional.ofNullable(articleDetailInfo.getFission0()).orElse(0);
|
|
|
- sumFission1 += Optional.ofNullable(articleDetailInfo.getFission1()).orElse(0);
|
|
|
- sumFission2 += Optional.ofNullable(articleDetailInfo.getFission2()).orElse(0);
|
|
|
- }
|
|
|
- if (articleDetailInfo.getRecallDt().equals(secondDate)) {
|
|
|
- sumSecondFirstLevel += Optional.ofNullable(articleDetailInfo.getFirstLevel()).orElse(0);
|
|
|
- sumSecondFission0 += Optional.ofNullable(articleDetailInfo.getFission0()).orElse(0);
|
|
|
- sumSecondFission1 += Optional.ofNullable(articleDetailInfo.getFission1()).orElse(0);
|
|
|
- sumSecondFission2 += Optional.ofNullable(articleDetailInfo.getFission2()).orElse(0);
|
|
|
- }
|
|
|
- if (articleDetailInfo.getRecallDt().equals(thirdDate)) {
|
|
|
- sumThirdFirstLevel += Optional.ofNullable(articleDetailInfo.getFirstLevel()).orElse(0);
|
|
|
- sumThirdFission0 += Optional.ofNullable(articleDetailInfo.getFission0()).orElse(0);
|
|
|
- sumThirdFission1 += Optional.ofNullable(articleDetailInfo.getFission1()).orElse(0);
|
|
|
- sumThirdFission2 += Optional.ofNullable(articleDetailInfo.getFission2()).orElse(0);
|
|
|
- }
|
|
|
- }
|
|
|
+ setObjLongDetailInfo(article, obj, articleDetailInfos);
|
|
|
AccountAvgInfo avgInfo = getAccountAvgInfo(accountAvgInfoIndexMap, article.getGhId(),
|
|
|
article.getUpdateTime(), article.getItemIndex());
|
|
|
String date = DateUtils.timestampToYMDStr(article.getUpdateTime(), "yyyyMMdd");
|
|
|
- NewSortStrategyExport obj = new NewSortStrategyExport();
|
|
|
- obj.setGhId(article.getGhId());
|
|
|
- obj.setAccountName(article.getAccountName());
|
|
|
- obj.setTitle(article.getTitle());
|
|
|
- obj.setLink(article.getContentUrl());
|
|
|
- obj.setPosition(article.getItemIndex());
|
|
|
- obj.setViewCount(article.getShowViewCount());
|
|
|
- obj.setDateStr(date);
|
|
|
- obj.setFirstLevel(sumFirstLevel);
|
|
|
- obj.setFission0(sumFission0);
|
|
|
- obj.setFission1(sumFission1);
|
|
|
- obj.setFission2(sumFission2);
|
|
|
- obj.setSecondFirstLevel(sumSecondFirstLevel);
|
|
|
- obj.setSecondFission0(sumSecondFission0);
|
|
|
- obj.setSecondFission1(sumSecondFission1);
|
|
|
- obj.setSecondFission2(sumSecondFission2);
|
|
|
- obj.setThirdFirstLevel(sumThirdFirstLevel);
|
|
|
- obj.setThirdFission0(sumThirdFission0);
|
|
|
- obj.setThirdFission1(sumThirdFission1);
|
|
|
- obj.setThirdFission2(sumThirdFission2);
|
|
|
- obj.setWxSn(article.getWxSn());
|
|
|
- if (Objects.nonNull(avgInfo)) {
|
|
|
- obj.setAccountMode(avgInfo.getAccountMode());
|
|
|
- obj.setAccountSource(avgInfo.getAccountSource());
|
|
|
- obj.setAccountType(avgInfo.getAccountType());
|
|
|
- obj.setAccountStatus(avgInfo.getAccountStatus());
|
|
|
- obj.setBusinessType(AccountBusinessTypeEnum.from(avgInfo.getBusinessType()).getDescription());
|
|
|
- obj.setFans(avgInfo.getFans());
|
|
|
- obj.setAvgViewCount(avgInfo.getReadAvg());
|
|
|
- if (avgInfo.getReadAvg() > 0) {
|
|
|
- obj.setReadRate((article.getShowViewCount() * 1.0) / avgInfo.getReadAvg());
|
|
|
- obj.setFission0ReadAvgRate((sumFission0 * 1.0) / avgInfo.getReadAvg());
|
|
|
- }
|
|
|
- if (avgInfo.getFans() > 0) {
|
|
|
- obj.setReadFansRate((article.getShowViewCount() * 1.0) / avgInfo.getFans());
|
|
|
- }
|
|
|
- }
|
|
|
- if (sumFirstLevel > 0) {
|
|
|
- obj.setFission0FirstRate((sumFission0 * 1.0) / sumFirstLevel);
|
|
|
- }
|
|
|
- if (article.getShowViewCount() > 0) {
|
|
|
- obj.setFirstReadRate((sumFirstLevel * 1.0) / article.getShowViewCount());
|
|
|
- }
|
|
|
- if (sumFission0 > 0) {
|
|
|
- obj.setFission1Fission0Rate((sumFission1 * 1.0) / sumFission0);
|
|
|
- }
|
|
|
+ setObjBaseInfo(article, obj, date);
|
|
|
+ setObjAvgInfo(article, obj, avgInfo);
|
|
|
result.add(obj);
|
|
|
}
|
|
|
return result;
|
|
@@ -1115,20 +1049,19 @@ public class DataDashboardService {
|
|
|
item.setAverageViewToBaseRatio(item.getRedundantViewCount() / (double) item.getRedundantViewBase());
|
|
|
}
|
|
|
List<ArticleDetailInfo> articleDetailInfos = articleDetailInfoMap.get(publish.getWxSn());
|
|
|
- if (CollectionUtils.isEmpty(articleDetailInfos)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- int sumFirstLevel = 0;
|
|
|
- int sumFission0 = 0;
|
|
|
- Date minDate = articleDetailInfos.stream().map(ArticleDetailInfo::getRecallDt).min(Date::compareTo).orElse(new Date());
|
|
|
- for (ArticleDetailInfo articleDetailInfo : articleDetailInfos) {
|
|
|
- if (articleDetailInfo.getRecallDt().equals(minDate)) {
|
|
|
- sumFirstLevel += Optional.ofNullable(articleDetailInfo.getFirstLevel()).orElse(0);
|
|
|
- sumFission0 += Optional.ofNullable(articleDetailInfo.getFission0()).orElse(0);
|
|
|
+ if (CollectionUtils.isNotEmpty(articleDetailInfos)) {
|
|
|
+ int sumFirstLevel = 0;
|
|
|
+ int sumFission0 = 0;
|
|
|
+ Date minDate = articleDetailInfos.stream().map(ArticleDetailInfo::getRecallDt).min(Date::compareTo).orElse(new Date());
|
|
|
+ for (ArticleDetailInfo articleDetailInfo : articleDetailInfos) {
|
|
|
+ if (articleDetailInfo.getRecallDt().equals(minDate)) {
|
|
|
+ sumFirstLevel += Optional.ofNullable(articleDetailInfo.getFirstLevel()).orElse(0);
|
|
|
+ sumFission0 += Optional.ofNullable(articleDetailInfo.getFission0()).orElse(0);
|
|
|
+ }
|
|
|
}
|
|
|
+ item.setRedundantFirstLayerUV(item.getRedundantFirstLayerUV() + sumFirstLevel);
|
|
|
+ item.setRedundantT0FissionUV(item.getRedundantT0FissionUV() + sumFission0);
|
|
|
}
|
|
|
- item.setRedundantFirstLayerUV(item.getRedundantFirstLayerUV() + sumFirstLevel);
|
|
|
- item.setRedundantT0FissionUV(item.getRedundantT0FissionUV() + sumFission0);
|
|
|
double averageMiniAppOpenRate = item.getAverageMiniAppOpenRate();
|
|
|
if (item.getRedundantFirstLayerUV() > 0 && item.getRedundantViewCount() > 0) {
|
|
|
double miniAppOpenRate = item.getRedundantFirstLayerUV() / (double) item.getRedundantViewCount();
|