Bladeren bron

Merge branch 'feature_gufengshou_20240107_predict_abInfo'

# Conflicts:
#	ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/predict/container/AbTestConfigContainer.java
#	ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/predict/impl/PredictModelServiceImpl.java
gufengshou1 1 jaar geleden
bovenliggende
commit
212eb5f25b

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

@@ -19,7 +19,7 @@ public class AbTestConfigContainer {
     @Value("${ad.abtest.time.plan.code:555}")
     String adTestCode;
 
-//List<Tuple<Integer>>
+    //List<Tuple<Integer>>
     Map<String,List<JSONObject>> adTimePlanMap=new HashMap<>();
     @PostConstruct
     public void initContainer(){
@@ -71,8 +71,13 @@ public class AbTestConfigContainer {
         return flag;
     }
 
-    public Boolean inAbTest(JSONObject abExpInfo){
-
+    public Boolean inAdTimeTest(JSONObject abExpInfo){
+        List<Map<String,Object>> mapList=(List)abExpInfo.get("ab_test002");
+        for(Map<String,Object> map:mapList){
+            if(adTestCode.equals(map.getOrDefault("abExpCode",""))){
+                return true;
+            }
+        }
         return false;
     }
 

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

@@ -11,8 +11,8 @@ import com.tzld.piaoquan.ad.engine.service.predict.PredictModelService;
 import com.tzld.piaoquan.ad.engine.service.predict.config.AbConfig;
 import com.tzld.piaoquan.ad.engine.service.predict.container.AbTestConfigContainer;
 import com.tzld.piaoquan.ad.engine.service.predict.container.ThresholdModelContainer;
-import com.tzld.piaoquan.ad.engine.service.predict.container.TopOneVideoContainer;
 import com.tzld.piaoquan.ad.engine.service.predict.param.RoiThresholdPredictModelParam;
+import com.tzld.piaoquan.ad.engine.service.predict.param.RuleParamHelper;
 import com.tzld.piaoquan.ad.engine.service.predict.param.ThresholdPredictModelParam;
 import com.tzld.piaoquan.ad.engine.service.predict.param.request.RoiPredictModelRequestParam;
 import com.tzld.piaoquan.ad.engine.service.predict.param.request.ThresholdPredictModelRequestParam;
@@ -50,13 +50,17 @@ public class PredictModelServiceImpl implements PredictModelService {
         //先判断是否开启实验 和是否不出广告时间 而后判断默认0-8
         Map<String,Object> result=new HashMap<>();
         int hourOfDay= DateUtils.getCurrentHour();
-        if(abTestConfigContainer.containsCode(requestParam.getAbTestCode())
+        Boolean condition1=container.inAdTimeTest(requestParam.getAbExpInfo());
+        Boolean condition2=container.containsCode(requestParam.getAbTestCode());
+        if(condition1
                 &&
-                abTestConfigContainer.inWithoutAdTime(requestParam.getAbTestCode(),hourOfDay)){
+                condition2
+                &&
+                container.inWithoutAdTime(requestParam.getAbTestCode(),hourOfDay)){
             result.put("ad_predict", 1);
             result.put("no_ad_strategy","no_ad_time");
             return result;
-        }else  if(!abTestConfigContainer.containsCode(requestParam.getAbTestCode())&&(hourOfDay<8&&hourOfDay>=0)){
+        }else  if((!condition1||(condition1&&!condition2))&&(hourOfDay<8&&hourOfDay>=0)){
             result.put("ad_predict", 1);
             result.put("no_ad_strategy","no_ad_time");
             return result;