Browse Source

feat:补充特征

zhaohaipeng 9 hours ago
parent
commit
ac90406b6f

+ 1 - 0
ad-engine-commons/src/main/java/com/tzld/piaoquan/ad/engine/commons/param/RankRecommendRequestParam.java

@@ -16,4 +16,5 @@ public class RankRecommendRequestParam extends RecommendRequestParam{
      String subSessionId;
      String rootSessionId;
      String rootSourceId;
+     Boolean isFilterUser;
 }

+ 2 - 0
ad-engine-commons/src/main/java/com/tzld/piaoquan/ad/engine/commons/score/ScoreParam.java

@@ -28,5 +28,7 @@ public class ScoreParam {
      * 本次命中的实验
      */
     private String expCode;
+
+    private Boolean isFilterUser;
 }
 

+ 2 - 3
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/convert/RequestConvert.java

@@ -1,9 +1,9 @@
 package com.tzld.piaoquan.ad.engine.service.score.convert;
 
-import com.tzld.piaoquan.ad.engine.commons.score.ScoreParam;
-import com.tzld.piaoquan.ad.engine.commons.util.AbUtil;
 import com.tzld.piaoquan.ad.engine.commons.dto.AdPlatformCreativeDTO;
 import com.tzld.piaoquan.ad.engine.commons.param.RecommendRequestParam;
+import com.tzld.piaoquan.ad.engine.commons.score.ScoreParam;
+import com.tzld.piaoquan.ad.engine.commons.util.AbUtil;
 import com.tzld.piaoquan.recommend.feature.domain.ad.base.AdRankItem;
 import com.tzld.piaoquan.recommend.feature.domain.ad.base.AdRequestContext;
 
@@ -45,7 +45,6 @@ public class RequestConvert {
         // 本次命中的实验
         String expCode = AbUtil.chooseAdAlgExpCode(expCodeSet, request.getAppType(), request.getNewExpGroup());
         scoreParam.setExpCode(expCode);
-
         return scoreParam;
     }
 

+ 12 - 9
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/strategy/RankStrategyBy687.java

@@ -7,7 +7,6 @@ import com.tzld.piaoquan.ad.engine.commons.param.RankRecommendRequestParam;
 import com.tzld.piaoquan.ad.engine.commons.score.ScoreParam;
 import com.tzld.piaoquan.ad.engine.commons.util.WeightRandom;
 import com.tzld.piaoquan.ad.engine.service.feature.Feature;
-import com.tzld.piaoquan.ad.engine.service.feature.FeatureService;
 import com.tzld.piaoquan.recommend.feature.domain.ad.base.AdRankItem;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -41,8 +40,6 @@ public class RankStrategyBy687 extends RankStrategyBasic {
 
     @Value("${cid.hot.rank.max.weight:1000}")
     private Double hotRankMaxWeight;
-    @Autowired
-    private FeatureService featureService;
 
     private static final String CUSTOMER_FIELD_NAME = "customer";
 
@@ -54,7 +51,7 @@ public class RankStrategyBy687 extends RankStrategyBasic {
         }
 
         // 当前分层未开启此策略
-        String userLayer = this.getUserLayer(request.getMid());
+        String userLayer = this.getUserLayer(request);
         if (!openHotRankUserLayers.contains(userLayer)) {
             return rankStrategyBy688.adItemRank(request, scoreParam);
         }
@@ -120,14 +117,20 @@ public class RankStrategyBy687 extends RankStrategyBasic {
         return result;
     }
 
-    private String getUserLayer(String mid) {
+    private String getUserLayer(RankRecommendRequestParam request) {
+
+        String userLayer = "无曝光";
 
-        String key = String.format("ad:engine:mid:layer:%s", mid);
+        String key = String.format("ad:engine:mid:layer:%s", request.getMid());
         String value = algRedisHelper.get(key);
-        if (StringUtils.isEmpty(value)) {
-            return "无曝光";
+        if (StringUtils.isNotEmpty(value)) {
+            userLayer = value;
         }
-        return value;
+        if (request.getIsFilterUser()) {
+            userLayer += "-炸";
+        }
+
+        return userLayer;
     }
 
     private List<HotRankFeatureInfo> multiGetFeature(List<String> customers, String keyFormat) {