Explorar o código

Merge branch 'feature_gufengshou_20240524_exp_667' into pre-master

gufengshou1 hai 11 meses
pai
achega
5d0175cda1

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