7 Commits 5ebe42fcf1 ... 7c25904242

Author SHA1 Message Date
  gufengshou1 7c25904242 Merge branch 'feature_gufengshou_20240524_exp_667' into test 11 months ago
  gufengshou1 318b8ee01b 新增667实验代码逻辑(同599) 对比实验 11 months ago
  gufengshou1 382db2965c 新增667实验代码逻辑(同599) 对比实验 11 months ago
  gufengshou1 2ea7fa354c 新增667实验代码逻辑(同599) 对比实验 11 months ago
  gufengshou1 856ed33e4a Merge branch 'feature_gufengshou_20240515_video_ad_thompson' 11 months ago
  gufengshou1 da99973bed Merge branch 'feature_gufengshou_20240407_new_exp_sys' 11 months ago
  gufengshou1 f2ca07a782 allEnter字段修改为基础类型并设定默认为false 11 months ago

+ 1 - 1
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/predict/helper/NewExpInfoHelper.java

@@ -145,7 +145,7 @@ public class NewExpInfoHelper {
             this.allEnter = allEnter;
         }
 
-        private Boolean allEnter;
+        private boolean allEnter =false;
         private Map<String,Object> param;
 
         public String getExpId() {

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

@@ -231,6 +231,13 @@ public class PredictModelServiceImpl implements PredictModelService {
                 result = ThresholdModelContainer.
                         getThresholdPredictModel("random")
                         .predict(modelParam);
+            }else if(expCodes.contains("667")||
+                    (expCodes.contains(NewExpInfoHelper.flagId)&&NewExpInfoHelper.checkInNewExpGroupAndSetParamIfIn(
+                            requestParam.getAppType().toString(),requestParam.getNewExpGroup(),"667",modelParam))){
+                // NewExpInfoHelper.flagId   647
+                result = ThresholdModelContainer.
+                        getThresholdPredictModel("random667")
+                        .predict(modelParam);
             }else if(inExpList(expCodes,adPredictImmersionExpCode)
                     ||
                     (expCodes.contains(NewExpInfoHelper.flagId)&&NewExpInfoHelper.checkInNewExpGroupAndSetParamIfIn(

+ 45 - 0
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/predict/model/threshold/RandomPredict667Model.java

@@ -0,0 +1,45 @@
+package com.tzld.piaoquan.ad.engine.service.predict.model.threshold;
+
+import com.tzld.piaoquan.ad.engine.commons.util.DateUtils;
+import com.tzld.piaoquan.ad.engine.service.predict.container.RandWContainer;
+import com.tzld.piaoquan.ad.engine.service.predict.param.ThresholdPredictModelParam;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@Component
+public class RandomPredict667Model extends ThresholdPredictModel {
+    private final static Logger log = LoggerFactory.getLogger(RandomPredict667Model.class);
+
+    @Override
+    String initName() {
+        return "random667";
+    }
+
+
+    @Override
+    public Map<String, Object> predict(ThresholdPredictModelParam modelParam) {
+        int hash=modelParam.getMid().hashCode();
+        hash=hash<0?-hash:hash;
+        double score=(hash+ RandWContainer.getRandW())%100/100d;
+        double threshold=Double.parseDouble(
+                modelParam.getExtraParam().getOrDefault(modelParam.getAppType()+"_"+modelParam.getUserExtraFuture("shareType").toString().replace("return","").replace("mids",""),-1
+                ).toString());
+        if(threshold<0d){
+            threshold=Double.parseDouble(
+                    modelParam.getExtraParam().getOrDefault("default_threshold","0.5")
+                    .toString());
+        }
+        Map<String, Object> result = new HashMap<>();
+        result.put("ad_predict", score<threshold?2:1);
+        result.put("score", score);
+        result.put("threshold", threshold);
+        result.put("model", initName());
+
+        return result;
+    }
+
+}