Bläddra i källkod

Merge branch 'feature_20241212_chowd_choose' of algorithm/ad-engine into master

zhaohaipeng 4 månader sedan
förälder
incheckning
f914a3a690

+ 12 - 1
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/predict/impl/PredictModelServiceImpl.java

@@ -24,6 +24,7 @@ import com.tzld.piaoquan.ad.engine.service.predict.param.request.RoiPredictModel
 import com.tzld.piaoquan.ad.engine.service.predict.param.request.ThresholdPredictModelRequestParam;
 import com.tzld.piaoquan.ad.engine.service.predict.param.request.ThresholdPredictModelRequestParam;
 import com.tzld.piaoquan.ad.engine.service.predict.v2.ConvertUtil;
 import com.tzld.piaoquan.ad.engine.service.predict.v2.ConvertUtil;
 import com.tzld.piaoquan.ad.engine.service.predict.v2.PredictServiceV2;
 import com.tzld.piaoquan.ad.engine.service.predict.v2.PredictServiceV2;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
@@ -84,6 +85,9 @@ public class PredictModelServiceImpl implements PredictModelService {
     @Value("${advance.show.ad.switch:true}")
     @Value("${advance.show.ad.switch:true}")
     private boolean advanceShowAdSwitch;
     private boolean advanceShowAdSwitch;
 
 
+    @Value("#{'${show.ad.whitelist.mid:}'.split(',')}")
+    private Set<String> showAdWhitelistMidSet;
+
     @Autowired
     @Autowired
     private AdRedisHelper adRedisHelper;
     private AdRedisHelper adRedisHelper;
 
 
@@ -93,6 +97,14 @@ public class PredictModelServiceImpl implements PredictModelService {
     public Map<String, Object> adPredict(ThresholdPredictModelRequestParam requestParam) {
     public Map<String, Object> adPredict(ThresholdPredictModelRequestParam requestParam) {
         Map<String, Object> result = new HashMap<>();
         Map<String, Object> result = new HashMap<>();
         result.put("pqtId", requestParam.getPqtId());
         result.put("pqtId", requestParam.getPqtId());
+
+        // 白名单用户固定出广告
+        if (CollectionUtils.isNotEmpty(showAdWhitelistMidSet) && showAdWhitelistMidSet.contains(requestParam.getMid())) {
+            result.put("ad_predict", 2);
+            result.put("ad_strategy", "show_ad_whitelist");
+            return result;
+        }
+
         try {
         try {
             String[] withoutAdVideoIdsArr = withoutAdVideoIds.split(",");
             String[] withoutAdVideoIdsArr = withoutAdVideoIds.split(",");
             for (String videoId : withoutAdVideoIdsArr) {
             for (String videoId : withoutAdVideoIdsArr) {
@@ -145,7 +157,6 @@ public class PredictModelServiceImpl implements PredictModelService {
                 return result;
                 return result;
             }
             }
 
 
-
             if (AbUtil.isInAbExp(expCodes, requestParam.getAppType(), requestParam.getNewExpGroup(), "713")){
             if (AbUtil.isInAbExp(expCodes, requestParam.getAppType(), requestParam.getNewExpGroup(), "713")){
                 return predictServiceV2.adPredict(ConvertUtil.predictParam2Context(requestParam));
                 return predictServiceV2.adPredict(ConvertUtil.predictParam2Context(requestParam));
             }
             }

+ 2 - 0
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/predict/param/request/ThresholdPredictModelRequestParam.java

@@ -27,6 +27,8 @@ public class ThresholdPredictModelRequestParam {
     String pqtId;
     String pqtId;
     MachineInfoParam machineInfo = new MachineInfoParam();
     MachineInfoParam machineInfo = new MachineInfoParam();
 
 
+    private String adPlatformType;
+
     private String userExternalSource;
     private String userExternalSource;
 
 
     /**
     /**