7 Commits aadbe6ff44 ... 5d0175cda1

Tác giả SHA1 Thông báo Ngày
  gufengshou1 5d0175cda1 Merge branch 'feature_gufengshou_20240524_exp_667' into pre-master 11 tháng trước cách đây
  gufengshou1 318b8ee01b 新增667实验代码逻辑(同599) 对比实验 11 tháng trước cách đây
  gufengshou1 382db2965c 新增667实验代码逻辑(同599) 对比实验 11 tháng trước cách đây
  gufengshou1 2ea7fa354c 新增667实验代码逻辑(同599) 对比实验 11 tháng trước cách đây
  gufengshou1 856ed33e4a Merge branch 'feature_gufengshou_20240515_video_ad_thompson' 11 tháng trước cách đây
  gufengshou1 da99973bed Merge branch 'feature_gufengshou_20240407_new_exp_sys' 11 tháng trước cách đây
  gufengshou1 f2ca07a782 allEnter字段修改为基础类型并设定默认为false 11 tháng trước cách đây

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