Forráskód Böngészése

Merge branch 'feature_supplyExp' of algorithm/recommend-server into master

dingyunpeng 1 éve
szülő
commit
94216bbb73

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

@@ -51,6 +51,8 @@ public abstract class AbstractFilterService {
 
     @ApolloJsonValue("${supply.exp.video.list:[]}")
     private Set<Long> supplyExpVideos;
+    @ApolloJsonValue("${not.supply.exp.video.list:[]}")
+    private Set<Long> notSupplyExpVideos;
 
 
     private List<Long> viewFilterOld(FilterParam param) {
@@ -82,20 +84,18 @@ public abstract class AbstractFilterService {
         if (MapUtils.isEmpty(expIdMap)) {
             return videoIds;
         }
-        // A VS A+B 模式:供给实验的视频只在实验组出
+        // 供给实验
         if (supplyExpId == NumberUtils.toInt(expIdMap.get("supply"), -1)) {
-            // 命中实验,都可以出
-            return videoIds;
+            // 对照组视频只在对照组出
+            return videoIds.stream()
+                    .filter(l -> !notSupplyExpVideos.contains(l))
+                    .collect(Collectors.toList());
+        } else {
+            // 实验组视频只在实验组出
+            return videoIds.stream()
+                    .filter(l -> !supplyExpVideos.contains(l))
+                    .collect(Collectors.toList());
         }
-        // 对照组,需要过滤掉视频
-        Map<String, String> obj = new HashMap<>();
-        obj.put("before", JSONUtils.toJson(videoIds));
-        List<Long> result = videoIds.stream()
-                .filter(l -> !supplyExpVideos.contains(l))
-                .collect(Collectors.toList());
-        obj.put("after", JSONUtils.toJson(result));
-        log.info("supply filter {}", JSONUtils.toJson(obj));
-        return result;
     }
 
     private List<Long> filterByViewedConcurrent(int appType, String mid, String uid, List<Long> videoIds) {