Procházet zdrojové kódy

Merge branch 'master' into feature-20240423-sunxy-appTypeVideoStatus1

sunxy před 1 rokem
rodič
revize
063bb61757

+ 11 - 5
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/filter/AbstractFilterService.java

@@ -71,6 +71,7 @@ public abstract class AbstractFilterService {
         } else {
             videoIds = filterByViewed(param, videoIds);
         }
+//        log.info("viewFilterOld after {}", JSONUtils.toJson(videoIds));
         return videoIds;
     }
 
@@ -96,9 +97,11 @@ public abstract class AbstractFilterService {
     }
 
     private List<Long> filterByViewedConcurrent(FilterParam param, List<Long> videoIds) {
-        // TODO uid为空时,还需要过滤么?
-        if (StringUtils.isBlank(param.getMid())
-                || CollectionUtils.isEmpty(videoIds)) {
+//        if (StringUtils.isBlank(param.getMid())
+//                || CollectionUtils.isEmpty(videoIds)) {
+//            return videoIds;
+//        }
+        if (CollectionUtils.isEmpty(videoIds)) {
             return videoIds;
         }
 
@@ -144,8 +147,11 @@ public abstract class AbstractFilterService {
 
     private List<Long> filterByViewed(FilterParam param, List<Long> videoIds) {
         // TODO uid为空时,还需要过滤么?
-        if (StringUtils.isBlank(param.getMid())
-                || CollectionUtils.isEmpty(videoIds)) {
+//        if (StringUtils.isBlank(param.getMid())
+//                || CollectionUtils.isEmpty(videoIds)) {
+//            return videoIds;
+//        }
+        if (CollectionUtils.isEmpty(videoIds)) {
             return videoIds;
         }
         return viewedService.filterViewedVideo(param.getAppType(), param.getMid(), param.getUid(), videoIds, param.getCityCode(),

+ 24 - 23
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/filter/strategy/SecurityStrategy.java

@@ -20,6 +20,7 @@ import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
 
 /**
  * @author dyp
@@ -89,29 +90,29 @@ public class SecurityStrategy implements FilterStrategy {
             return param.getVideoIds();
         }
 
-        // if (CollectionUtils.isEmpty(excludeScenes)
-        //         || !CommonCollectionUtils.contains(excludeScenes, param.getHotSceneType())) {
-        //
-        //     if (MapUtils.isEmpty(videoFilterCityTagIdMap)
-        //             || !videoFilterCityTagIdMap.containsKey(param.getCityCode())) {
-        //         return param.getVideoIds();
-        //     }
-        //
-        //     Set<Long> filterVideos = videoCache.getUnchecked(param.getCityCode());
-        //     if (CollectionUtils.isEmpty(filterVideos)) {
-        //         return param.getVideoIds();
-        //     }
-        //
-        //     List<Long> result = param.getVideoIds().stream()
-        //             .filter(l -> !filterVideos.contains(l))
-        //             .collect(Collectors.toList());
-        //
-        //     return result;
-        // }
-        // return param.getVideoIds();
-
-        return blacklistContainer.filterUnsafeVideoByUser(param.getVideoIds(), param.getUid(),
-                param.getHotSceneType(), param.getCityCode(), param.getClientIp());
+        if (CollectionUtils.isEmpty(excludeScenes)
+                || !CommonCollectionUtils.contains(excludeScenes, param.getHotSceneType())) {
+
+            if (MapUtils.isEmpty(videoFilterCityTagIdMap)
+                    || !videoFilterCityTagIdMap.containsKey(param.getCityCode())) {
+                return param.getVideoIds();
+            }
+
+            Set<Long> filterVideos = videoCache.getUnchecked(param.getCityCode());
+            if (CollectionUtils.isEmpty(filterVideos)) {
+                return param.getVideoIds();
+            }
+
+            List<Long> result = param.getVideoIds().stream()
+                    .filter(l -> !filterVideos.contains(l))
+                    .collect(Collectors.toList());
+
+            return result;
+        }
+        return param.getVideoIds();
+
+        // return blacklistContainer.filterUnsafeVideoByUser(param.getVideoIds(), param.getUid(),
+        //         param.getHotSceneType(), param.getCityCode(), param.getClientIp());
 
     }
 }