Просмотр исходного кода

Merge branch 'wyp/1009-noon' of Server/long-article-recommend into master

wangyunpeng 8 месяцев назад
Родитель
Сommit
3d40db290f

+ 8 - 12
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/recall/RecallService.java

@@ -1,22 +1,21 @@
 package com.tzld.longarticle.recommend.server.service.recall;
 
-import com.ctrip.framework.apollo.spring.annotation.ApolloJsonValue;
 import com.google.common.collect.Lists;
 import com.tzld.longarticle.recommend.server.common.ThreadPoolFactory;
+import com.tzld.longarticle.recommend.server.mapper.crawler.CrawlerBaseMapper;
 import com.tzld.longarticle.recommend.server.model.dto.Content;
 import com.tzld.longarticle.recommend.server.model.dto.ContentHisPublishArticle;
+import com.tzld.longarticle.recommend.server.model.entity.aigc.CrawlerMetaArticle;
+import com.tzld.longarticle.recommend.server.model.entity.crawler.AccountAvgInfo;
+import com.tzld.longarticle.recommend.server.model.entity.crawler.AccountCorrelation;
+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.remote.AIGCRemoteService;
 import com.tzld.longarticle.recommend.server.repository.aigc.CrawlerMetaArticleRepository;
 import com.tzld.longarticle.recommend.server.repository.crawler.AccountAvgInfoRepository;
 import com.tzld.longarticle.recommend.server.repository.crawler.AccountCorrelationRepository;
 import com.tzld.longarticle.recommend.server.repository.crawler.ArticleDetailInfoRepository;
 import com.tzld.longarticle.recommend.server.repository.crawler.ArticleRepository;
-import com.tzld.longarticle.recommend.server.model.entity.aigc.CrawlerMetaArticle;
-import com.tzld.longarticle.recommend.server.model.entity.crawler.AccountAvgInfo;
-import com.tzld.longarticle.recommend.server.model.entity.crawler.AccountCorrelation;
-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.mapper.crawler.CrawlerBaseMapper;
 import com.tzld.longarticle.recommend.server.service.AccountIndexAvgViewCountService;
 import com.tzld.longarticle.recommend.server.service.recall.strategy.DefaultRecallStrategy;
 import com.tzld.longarticle.recommend.server.util.CommonCollectionUtils;
@@ -74,10 +73,6 @@ public class RecallService implements ApplicationContextAware {
     private Boolean contentHisFeishuEnable;
     @Value("${morning.noon.fission.rate:0.64}")
     private double morningNoonFissionRate;
-    @ApolloJsonValue("${morning.publish.account.ghId:[]}")
-    private List<String> morningPublishAccountGhIds;
-    @ApolloJsonValue("${noon.publish.account.ghId:[]}")
-    private List<String> noonPublishAccountGhIds;
 
 
     @PostConstruct
@@ -391,7 +386,8 @@ public class RecallService implements ApplicationContextAware {
                 t0FissionByReadAvgCorrelationSum += article.getT0FissionByReadAvg() * correlation;
             }
             fissionSum += sumFission0;
-            if (noonPublishAccountGhIds.contains(article.getGhId())) {
+            int hour = DateUtils.getHourByTimestamp(article.getUpdateTime());
+            if (hour >= 12) {
                 fissionWeightSum += sumFission0 / morningNoonFissionRate;
             } else {
                 fissionWeightSum += sumFission0;

+ 11 - 4
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/util/DateUtils.java

@@ -9,10 +9,7 @@ import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * @author dyp
@@ -180,6 +177,16 @@ public final class DateUtils {
         }
     }
 
+    public static Integer getHourByTimestamp(Long timestamp) {
+        Calendar calendar = Calendar.getInstance();
+        // 设置时区为UTC(你可以根据需要更改时区)
+        calendar.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
+        // 将时间戳转换为毫秒并设置时间
+        calendar.setTimeInMillis(timestamp * 1000L);
+        // 获取小时
+        return calendar.get(Calendar.HOUR_OF_DAY);
+    }
+
 
     public static void main(String[] args) {
         Calendar calendar = Calendar.getInstance();