wangyunpeng 11 hónapja
szülő
commit
7bde3fc2c6

+ 1 - 1
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/remote/NLPRemoteService.java

@@ -64,7 +64,7 @@ public class NLPRemoteService {
                     HttpEntity responseEntity = response.getEntity();
                     if (Objects.nonNull(responseEntity)) {
                         String responseBody = EntityUtils.toString(responseEntity, "UTF-8");
-                        log.info("scoreList 返回的数据:{}", responseBody);
+//                        log.info("scoreList 返回的数据:{}", responseBody);
                         JSONObject scoreListResponse = JSONObject.parseObject(responseBody);
                         if (Objects.nonNull(scoreListResponse)) {
                             JSONObject accountScoreList = scoreListResponse.getJSONObject(accountName);

+ 8 - 1
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/AccountIndexAvgViewCountService.java

@@ -7,6 +7,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.PostConstruct;
+import java.util.Objects;
 
 @Component
 @Slf4j
@@ -26,7 +27,13 @@ public class AccountIndexAvgViewCountService {
     }
 
     public double getAvgReadCount(String ghId, Integer index) {
-        AvgReadDTO dto =getAvgReadDto(ghId + "_" + index);
+        AvgReadDTO dto = getAvgReadDto(ghId + "_" + index);
+        if (Objects.isNull(dto)) {
+            dto = getAvgReadDto(ghId + "_4");
+            if (Objects.isNull(dto)) {
+                dto = getAvgReadDto(ghId + "_1");
+            }
+        }
         return dto == null ? 1.0 : dto.getReadAvg();
     }
 

+ 3 - 2
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV5Strategy.java

@@ -54,9 +54,10 @@ public class RankV5Strategy implements RankStrategy {
                     || contentPools[1].equals(item.getContent().getContentPoolType())) {
                 score = item.getScore(SimilarityStrategy.class.getSimpleName())
                         + item.getScore(CategoryStrategy.class.getSimpleName())
-                        + item.getScore(ViewCountRateStrategy.class.getSimpleName())
-                        + item.getScore(PublishTimesStrategy.class.getSimpleName())
                         + item.getScore(FlowCtlDecreaseStrategy.class.getSimpleName());
+                if (item.getScore(PublishTimesStrategy.class.getSimpleName()) >= 0) {
+                    score += item.getScore(ViewCountRateStrategy.class.getSimpleName());
+                }
             } else {
                 score = item.getScore(SimilarityStrategy.class.getSimpleName())
                         + item.getScore(CategoryStrategy.class.getSimpleName())

+ 18 - 7
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/score/strategy/PublishTimesStrategy.java

@@ -7,7 +7,10 @@ import com.tzld.longarticle.recommend.server.repository.aigc.CrawlerMetaArticleR
 import com.tzld.longarticle.recommend.server.repository.crawler.PublishSortLogRepository;
 import com.tzld.longarticle.recommend.server.repository.entity.crawler.PublishSortLog;
 import com.tzld.longarticle.recommend.server.service.AccountContentPoolConfigService;
-import com.tzld.longarticle.recommend.server.service.score.*;
+import com.tzld.longarticle.recommend.server.service.score.AccountPublishTimesConfig;
+import com.tzld.longarticle.recommend.server.service.score.Score;
+import com.tzld.longarticle.recommend.server.service.score.ScoreParam;
+import com.tzld.longarticle.recommend.server.service.score.ScoreStrategy;
 import com.tzld.longarticle.recommend.server.util.DateUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,7 +41,7 @@ public class PublishTimesStrategy implements ScoreStrategy {
         if (CollectionUtils.isEmpty(param.getContents())) {
             return scores;
         }
-        AccountPublishTimesConfig[] indexPublishTimesArr = accountPublishTimesConfigMap.get(param.getAccountName());
+        AccountPublishTimesConfig[] indexPublishTimesArr = getPublishTimes(param.getAccountName());
         if (Objects.isNull(indexPublishTimesArr) || indexPublishTimesArr.length == 0) {
             return scores;
         }
@@ -53,20 +56,21 @@ public class PublishTimesStrategy implements ScoreStrategy {
             score.setStrategy(this);
             score.setContentId(content.getId());
             for (int i = 0; i < contentPools.length; i++) {
+                int val = i + 1;
                 if (CollectionUtils.isEmpty(hisPublishedContentMap.get(content.getTitle()))
-                        || Objects.isNull(indexPublishTimesMap.get(i))) {
+                        || Objects.isNull(indexPublishTimesMap.get(val))) {
                     break;
                 }
-                int val = i;
                 List<PublishSortLog> filterArticles = hisPublishedContentMap.get(content.getTitle()).stream()
-                        .filter(o -> (val == 1 && o.getIndex() == 1)||(val == 2 && o.getIndex() == 2)||(val == 3 && o.getIndex() >= 3))
+                        .filter(o -> (val == 1 && o.getIndex() == 1) || (val == 2 && o.getIndex() == 2) || (val == 3 && o.getIndex() >= 3))
                         .collect(Collectors.toList());
                 if (CollectionUtil.isEmpty(filterArticles)) {
                     break;
                 }
                 if (contentPools[i].equals(content.getContentPoolType())) {
-                    if (filterArticles.size() >= indexPublishTimesMap.get(i).getTimes()) {
-                        score.setScore(score.getScore() + indexPublishTimesMap.get(i).getWeight());
+                    if (filterArticles.size() >= indexPublishTimesMap.get(val).getTimes()) {
+                        score.setScore(score.getScore() + indexPublishTimesMap.get(val).getWeight());
+                        break;
                     }
                 }
             }
@@ -76,4 +80,11 @@ public class PublishTimesStrategy implements ScoreStrategy {
         return scores;
     }
 
+    public AccountPublishTimesConfig[] getPublishTimes(String accountName) {
+        if (accountPublishTimesConfigMap.containsKey(accountName)) {
+            return accountPublishTimesConfigMap.get(accountName);
+        }
+        return accountPublishTimesConfigMap.get("default");
+    }
+
 }