丁云鹏 7 kuukautta sitten
vanhempi
commit
70d54aeca9

+ 13 - 11
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/RecallService.java

@@ -1,4 +1,5 @@
 package com.tzld.piaoquan.recommend.server.service.recall;
+
 import com.ctrip.framework.apollo.spring.annotation.ApolloJsonValue;
 import com.tzld.piaoquan.recommend.server.common.ThreadPoolFactory;
 import com.tzld.piaoquan.recommend.server.common.base.Constant;
@@ -59,19 +60,20 @@ public class RecallService implements ApplicationContextAware {
 
     public RecallResult recall(RecallParam param) {
         List<RecallStrategy> strategies = getRecallStrategy(param);
-        log.info("strategies {}", JSONUtils.toJson(CommonCollectionUtils.toList(strategies, o -> o.getClass().getSimpleName())));
+//        log.info("strategies {}", JSONUtils.toJson(CommonCollectionUtils.toList(strategies,
+//        o -> o.getClass().getSimpleName())));
         CountDownLatch cdl = new CountDownLatch(strategies.size());
         List<Future<RecallResult.RecallData>> recallResultFutures = new ArrayList<>();
         for (final RecallStrategy strategy : strategies) {
             Future<RecallResult.RecallData> future = pool.submit(() -> {
+                List<Video> result = Collections.emptyList();
                 try {
-                    List<Video> result = strategy.recall(param);
-                    cdl.countDown();
-                    return new RecallResult.RecallData(strategy.pushFrom(), result);
+                    result = strategy.recall(param);
                 } catch (Throwable e) {
                     log.error("recall error {}", strategy.getClass().getSimpleName(), e);
                 }
-                return new RecallResult.RecallData(strategy.pushFrom(), Collections.emptyList());
+                cdl.countDown();
+                return new RecallResult.RecallData(strategy.pushFrom(), result);
             });
             recallResultFutures.add(future);
         }
@@ -102,9 +104,9 @@ public class RecallService implements ApplicationContextAware {
             return strategies;
         }
 
-            String matchUserBlacklistTypeEnum = blacklistContainer.matchUserBlacklistTypeEnum(param.getUid(), param.getHotSceneType(), param.getCityCode(),
-                    param.getClientIp(), param.getMid(), "recommend-flow-pool", param.getAppType());
-        boolean hitUserBlacklist =  StringUtils.isNotBlank(matchUserBlacklistTypeEnum);
+        String matchUserBlacklistTypeEnum = blacklistContainer.matchUserBlacklistTypeEnum(param.getUid(), param.getHotSceneType(), param.getCityCode(),
+                param.getClientIp(), param.getMid(), "recommend-flow-pool", param.getAppType());
+        boolean hitUserBlacklist = StringUtils.isNotBlank(matchUserBlacklistTypeEnum);
         boolean isInBlacklist = CollectionUtils.isNotEmpty(blacklistAppTypeSet) && blacklistAppTypeSet.contains(param.getAppType());
 
         String abCode = param.getAbCode();
@@ -369,13 +371,13 @@ public class RecallService implements ApplicationContextAware {
         this.applicationContext = applicationContext;
     }
 
-    private boolean matchSpecialApp(int appId){
+    private boolean matchSpecialApp(int appId) {
         Set<Integer> notSpecialApp = new HashSet<>(Arrays.asList(0, 4, 5));
-        if (notSpecialApp.contains(appId)){
+        if (notSpecialApp.contains(appId)) {
             // vlog 票圈视频 内容精选 不允许走特殊列表,即使配置了也无效。
             return false;
         }
-        if (specialAppVid != null && specialAppVid.getOrDefault("app", new ArrayList<>()).contains((long) appId)){
+        if (specialAppVid != null && specialAppVid.getOrDefault("app", new ArrayList<>()).contains((long) appId)) {
             log.info("This request hits a special logic in matchSpecialApp with appId={}", appId);
             return true;
         }