Procházet zdrojové kódy

Merge branch 'dev-add-exp' of algorithm/ad-engine into master

xueyiming před 1 týdnem
rodič
revize
c179d80a72

+ 11 - 0
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/impl/RankServiceImpl.java

@@ -26,6 +26,7 @@ import com.tzld.piaoquan.recommend.feature.domain.ad.base.AdItemFeature;
 import com.tzld.piaoquan.recommend.feature.domain.ad.base.AdRankItem;
 import com.tzld.piaoquan.recommend.feature.domain.ad.base.UserAdFeature;
 import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
@@ -103,7 +104,17 @@ public class RankServiceImpl implements RankService {
         return adRankItems.get(0);
     }
 
+    @Value("${experimental.target.ids:0,1,2,3}")
+    private Set<String> targetList;
+
     public RankStrategy getRankStrategy(ScoreParam scoreParam) {
+        String rootSessionId = scoreParam.getRootSessionId();
+        if (Objects.equals(scoreParam.getAppType(), 0L) && StringUtils.isNotEmpty(rootSessionId) && rootSessionId.length() >= 6) {
+            String tailSixthChar = String.valueOf(rootSessionId.charAt(rootSessionId.length() - 6));
+            if (targetList.contains(tailSixthChar)) {
+                return ServiceBeanFactory.getBean(RankStrategyBy872.class);
+            }
+        }
         String rankStrategyCode = getRankStrategyCode(scoreParam);
         switch (rankStrategyCode) {
             case "687":