12
0

7 Commits aadbe6ff44 ... 5d0175cda1

Autor SHA1 Mensagem Data
  gufengshou1 5d0175cda1 Merge branch 'feature_gufengshou_20240524_exp_667' into pre-master há 11 meses atrás
  gufengshou1 318b8ee01b 新增667实验代码逻辑(同599) 对比实验 há 11 meses atrás
  gufengshou1 382db2965c 新增667实验代码逻辑(同599) 对比实验 há 11 meses atrás
  gufengshou1 2ea7fa354c 新增667实验代码逻辑(同599) 对比实验 há 11 meses atrás
  gufengshou1 856ed33e4a Merge branch 'feature_gufengshou_20240515_video_ad_thompson' há 11 meses atrás
  gufengshou1 da99973bed Merge branch 'feature_gufengshou_20240407_new_exp_sys' há 11 meses atrás
  gufengshou1 f2ca07a782 allEnter字段修改为基础类型并设定默认为false há 11 meses atrás

+ 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;
+    }
+
+}