|
@@ -684,6 +684,8 @@ public class RecallService implements ApplicationContextAware {
|
|
|
int firstLevelSize = 0;
|
|
|
int fissionSum = 0;
|
|
|
double fissionWeightSum = 0;
|
|
|
+ double fissionHeadWeightSum = 0;
|
|
|
+ double fissionRecommendWeightSum = 0;
|
|
|
int fansSum = 0;
|
|
|
int avgReadCountSum = 0;
|
|
|
Double t0FissionByFansSum = 0.0;
|
|
@@ -714,11 +716,21 @@ public class RecallService implements ApplicationContextAware {
|
|
|
continue;
|
|
|
}
|
|
|
int sumFission0 = 0;
|
|
|
+ int sumFission0Head = 0;
|
|
|
+ int sumFission0Recommend = 0;
|
|
|
Date minDate = article.getArticleDetailInfoList().stream().map(ArticleDetailInfo::getRecallDt)
|
|
|
.min(Date::compareTo).orElse(new Date());
|
|
|
for (ArticleDetailInfo articleDetailInfo : article.getArticleDetailInfoList()) {
|
|
|
- if (articleDetailInfo.getRecallDt().equals(minDate) && Objects.nonNull(articleDetailInfo.getFission0())) {
|
|
|
- sumFission0 += articleDetailInfo.getFission0();
|
|
|
+ if (articleDetailInfo.getRecallDt().equals(minDate)) {
|
|
|
+ if (Objects.nonNull(articleDetailInfo.getFission0())) {
|
|
|
+ sumFission0 += articleDetailInfo.getFission0();
|
|
|
+ }
|
|
|
+ if (Objects.nonNull(articleDetailInfo.getFission0Head())) {
|
|
|
+ sumFission0Head += articleDetailInfo.getFission0Head();
|
|
|
+ }
|
|
|
+ if (Objects.nonNull(articleDetailInfo.getFission0Recommend())) {
|
|
|
+ sumFission0Recommend += articleDetailInfo.getFission0Recommend();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
if (sumFission0 == 0) {
|
|
@@ -741,8 +753,12 @@ public class RecallService implements ApplicationContextAware {
|
|
|
int hour = DateUtils.getHourByTimestamp(article.getPublishTimestamp());
|
|
|
if (hour >= 12) {
|
|
|
fissionWeightSum += sumFission0 / morningNoonFissionRate;
|
|
|
+ fissionHeadWeightSum += sumFission0Head / morningNoonFissionRate;
|
|
|
+ fissionRecommendWeightSum += sumFission0Recommend / morningNoonFissionRate;
|
|
|
} else {
|
|
|
fissionWeightSum += sumFission0;
|
|
|
+ fissionHeadWeightSum += sumFission0Head;
|
|
|
+ fissionRecommendWeightSum += sumFission0Recommend;
|
|
|
}
|
|
|
firstLevelSize++;
|
|
|
}
|
|
@@ -758,6 +774,8 @@ public class RecallService implements ApplicationContextAware {
|
|
|
}
|
|
|
if (avgReadCountSum > 0) {
|
|
|
content.setT0FissionDeWeightByReadAvgSumAvg(fissionWeightSum / (avgReadCountSum + 500));
|
|
|
+ content.setT0FissionHeadDeWeightByReadAvgSumAvg(fissionHeadWeightSum / (avgReadCountSum + 500));
|
|
|
+ content.setT0FissionRecommendDeWeightByReadAvgSumAvg(fissionRecommendWeightSum / (avgReadCountSum + 500));
|
|
|
}
|
|
|
}
|
|
|
}
|