Explorar el Código

Merge branch 'feature_gufengshou_20240407_new_exp_sys' into pre-master

gufengshou1 hace 1 año
padre
commit
d1877b9c89

+ 26 - 0
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/predict/config/NewExpUserGroupConfig.java

@@ -0,0 +1,26 @@
+package com.tzld.piaoquan.ad.engine.service.predict.config;
+
+import com.google.common.reflect.TypeToken;
+import com.tzld.piaoquan.ad.engine.commons.util.JSONUtils;
+import com.tzld.piaoquan.ad.engine.service.predict.helper.NewExpInfoHelper;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import java.util.*;
+
+@Component
+public class NewExpUserGroupConfig {
+
+    public static Map<String,String[]> newExpUserGroupMap=new HashMap<>();
+
+    @Value("${new.exp.user.group:{}}")
+    private void setNewExpInfo(String str){
+        Map<String,String[]> expConfigs= JSONUtils.fromJson(str, new TypeToken< Map<String,String[]>>() {
+        }, Collections.emptyMap());
+        for (Map.Entry<String, String[]> entry : expConfigs.entrySet()) {
+            newExpUserGroupMap.put(entry.getKey(),entry.getValue());
+        }
+    }
+
+
+}

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

@@ -64,6 +64,8 @@ public class NewExpInfoHelper {
             return false;
         }
     }
+
+
     public static class ExpConfig {
         private String appType;
         private List<Layer> layers;

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

@@ -6,6 +6,7 @@ import com.alibaba.fastjson.TypeReference;
 import com.tzld.piaoquan.ad.engine.commons.enums.AppTypeEnum;
 import com.tzld.piaoquan.ad.engine.commons.redis.AlgorithmRedisHelper;
 import com.tzld.piaoquan.ad.engine.commons.util.DateUtils;
+import com.tzld.piaoquan.ad.engine.service.predict.config.NewExpUserGroupConfig;
 import com.tzld.piaoquan.ad.engine.service.predict.config.RoiModelConfig;
 import com.tzld.piaoquan.ad.engine.service.predict.constant.RuleRedisKeyConst;
 import com.tzld.piaoquan.ad.engine.service.predict.PredictModelService;
@@ -117,8 +118,11 @@ public class PredictModelServiceImpl implements PredictModelService {
 
         String[] abParamArr = abConfig.getAbParams(requestParam.getAbTestCode(), requestParam.getAbExpInfo());
         if (abParamArr == null) {
-            result.put("msg", "abConfig_error");
-            return result;
+            abParamArr= NewExpUserGroupConfig.newExpUserGroupMap.get(requestParam.getAppType().toString());
+            if (abParamArr == null) {
+                result.put("msg", "abConfig_error");
+                return result;
+            }
         }
         String abtestId = abParamArr[0];
         String abTestConfigTag = abParamArr[1];
@@ -192,7 +196,8 @@ public class PredictModelServiceImpl implements PredictModelService {
         modelParam.addUserExtraFuture("shareType",shareType);
         setExtraParam(modelParam);
 
-          if(expCodes.contains("599")){
+          if(expCodes.contains("599")|| NewExpInfoHelper.checkInNewExpGroupAndSetParamIfIn(
+                  requestParam.getAppType().toString(),requestParam.getNewExpGroup(),"599",modelParam)){
 //        if(randomModelExpCode!=null){
 //            modelParam.addUserExtraFuture("randomModelKey",ExpCodeEnum.valueOfExpCode(randomModelExpCode).getRandomModelKey());
             result = ThresholdModelContainer.

+ 1 - 1
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/predict/model/threshold/RandomImmersionPredictModel.java

@@ -36,7 +36,7 @@ public class RandomImmersionPredictModel extends ThresholdPredictModel {
         result.put("ad_predict", score<threshold?2:1);
         result.put("score", score);
         result.put("threshold", threshold);
-        result.put("model", "random");
+        result.put("model", "immersion");
 
         return result;
     }