丁云鹏 1 year ago
parent
commit
de61d39faf

+ 12 - 4
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/RecommendService.java

@@ -67,6 +67,9 @@ public class RecommendService {
     @ApolloJsonValue("${city_code:[]}")
     private Set<String> cityCodes;
 
+    @ApolloJsonValue("${new.exp.list:[6]}")
+    private Set<Integer> newExpList;
+
     @Autowired
     private FlowPoolConfigService flowPoolConfigService;
     @Autowired
@@ -390,9 +393,11 @@ public class RecommendService {
         recallParam.setAppType(param.getAppType());
         // hard code 算法实验配置化之前,复用abcode做AB验证
         // note 避免非实验产品被覆盖
-        if (param.getAppType() == AppTypeEnum.SHORT_VIDEO.getCode()) {
-            if (MapUtils.isNotEmpty(param.getExpIdMap())) {
+        if (newExpList.contains(param.getAppType())) {
+            if (MapUtils.isNotEmpty(param.getExpIdMap()) && param.getExpIdMap().containsKey("recall")) {
                 recallParam.setAbCode(param.getExpIdMap().get("recall"));
+            } else {
+                recallParam.setAbCode("");
             }
         } else {
             recallParam.setAbCode(param.getAbCode());
@@ -437,9 +442,12 @@ public class RecommendService {
         rankParam.setRecallResult(recallResult);
         // hard code 算法实验配置化之前,复用abcode做AB验证
         // note 避免非实验产品被覆盖
-        if (param.getAppType() == AppTypeEnum.SHORT_VIDEO.getCode()) {
-            if (MapUtils.isNotEmpty(param.getExpIdMap())) {
+        if (newExpList.contains(param.getAppType())) {
+            if (MapUtils.isNotEmpty(param.getExpIdMap())
+                    && param.getExpIdMap().containsKey("rank")) {
                 rankParam.setAbCode(param.getExpIdMap().get("rank"));
+            } else {
+                rankParam.setAbCode("");
             }
         } else {
             rankParam.setAbCode(param.getAbCode());

+ 4 - 1
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/rank/RankRouter.java

@@ -1,6 +1,8 @@
 package com.tzld.piaoquan.recommend.server.service.rank;
 
+import com.aliyun.odps.utils.StringUtils;
 import com.tzld.piaoquan.recommend.server.service.rank.strategy.*;
+import com.tzld.piaoquan.recommend.server.util.JSONUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -38,8 +40,9 @@ public class RankRouter {
 
 
     public RankResult rank(RankParam param) {
+        log.info("RankParam {}", JSONUtils.toJson(param));
         String abCode = param.getAbCode();
-        if (abCode == null) {
+        if (StringUtils.isBlank(abCode)) {
             return rankService.rank(param);
         }
         switch (abCode) {

+ 4 - 2
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/RecallService.java

@@ -5,6 +5,7 @@ import com.tzld.piaoquan.recommend.server.common.enums.AppTypeEnum;
 import com.tzld.piaoquan.recommend.server.model.Video;
 import com.tzld.piaoquan.recommend.server.service.flowpool.FlowPoolConstants;
 import com.tzld.piaoquan.recommend.server.service.recall.strategy.*;
+import com.tzld.piaoquan.recommend.server.util.JSONUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeansException;
@@ -43,6 +44,7 @@ public class RecallService implements ApplicationContextAware {
     }
 
     public RecallResult recall(RecallParam param) {
+        log.info("RecallParam {}", JSONUtils.toJson(param));
         List<RecallStrategy> strategies = getRecallStrategy(param);
         // log.info("strategies {}", JSONUtils.toJson(CommonCollectionUtils.toList(strategies, o -> o.pushFrom())));
         CountDownLatch cdl = new CountDownLatch(strategies.size());
@@ -86,12 +88,12 @@ public class RecallService implements ApplicationContextAware {
         if (param.getAppType() == AppTypeEnum.LAO_HAO_KAN_VIDEO.getCode()
                 || param.getAppType() == AppTypeEnum.ZUI_JING_QI.getCode()) {
             strategies.addAll(getRegionRecallStrategy(param));
-        } else if (param.getAppType() == AppTypeEnum.PIAO_QUAN_MEIHAO_ZHUFU.getCode()){
+        } else if (param.getAppType() == AppTypeEnum.PIAO_QUAN_MEIHAO_ZHUFU.getCode()) {
             strategies.add(strategyMap.get(BlessRecallStrategy.class.getSimpleName()));
             strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV2.class.getSimpleName()));
             strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV3.class.getSimpleName()));
             return strategies;
-        }else {
+        } else {
             switch (abCode) {
                 case "60120": // 576
                 case "60121": // 536