| 
					
				 | 
			
			
				@@ -56,6 +56,9 @@ public class PredictModelServiceImpl implements PredictModelService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Value("${ad.predict.share0.exp.code:000}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private String adPredictNoShareUserExpCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Value("${ad.predict.90d.share0.exp.code:000}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private String adPredict90DNoShareUserExpCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Value("${ad.predict.immersion.exp.code:607}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private String adPredictImmersionExpCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -89,7 +92,6 @@ public class PredictModelServiceImpl implements PredictModelService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //该用户所有实验合集 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Set<String> expCodes=new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         boolean isHit = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        String randomModelExpCode=null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for(Map<String,Object> map:mapList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String expCode=map.getOrDefault("abExpCode","").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             expCodes.add(expCode); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -100,9 +102,6 @@ public class PredictModelServiceImpl implements PredictModelService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (StringUtils.equals(expCode, adPredictBreakExpCode)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 isHit = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            if(ExpCodeEnum.EXP_599.getCode().equals(expCode)||ExpCodeEnum.EXP_600.getCode().equals(expCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                randomModelExpCode=expCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int hourOfDay= DateUtils.getCurrentHour(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -132,12 +131,6 @@ public class PredictModelServiceImpl implements PredictModelService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String abtestId = abParamArr[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String abTestConfigTag = abParamArr[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        if("173".equals(abtestId)&&(requestParam.getAbTestCode().equals("ab3")||requestParam.getAbTestCode().equals("ab4"))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            requestParam.setAbTestCode("ab5"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        if("243".equals(abtestId)&&(requestParam.getAbTestCode().equals("ab1")||requestParam.getAbTestCode().equals("ab2")||requestParam.getAbTestCode().equals("ab3"))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            requestParam.setAbTestCode("ab5"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         HashMap<String, Map<String, Object>> abConfigMap = abConfig.getAbConfigMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<String, Object> abtestParam = abConfigMap.getOrDefault(abtestId + "-" + abTestConfigTag, null); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -145,21 +138,23 @@ public class PredictModelServiceImpl implements PredictModelService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result.put("msg", "abConfig_error"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //市-中文 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        requestParam.setRegion(requestParam.getRegion().replace("省", "")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        requestParam.setCity(requestParam.getCity().replace("市", "")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Determine the group to which mid belongs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String groupClassKey = (String) abtestParam.get("group_class_key"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String midGroupKeyName = RuleRedisKeyConst.KEY_NAME_PREFIX_MID_GROUP + groupClassKey + ":" + requestParam.getMid(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String midGroup=null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(expCodes.contains(adPredict90DNoShareUserExpCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            midGroup = redisHelper.getString(RuleRedisKeyConst.KEY_NAME_PREFIX_90_SHARE_TYPE+requestParam.getMid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            midGroup = redisHelper.getString(midGroupKeyName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //没有时为新用户或者无分享用户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String midGroup = redisHelper.getString(midGroupKeyName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String shareType =midGroup; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (midGroup == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             midGroup = "mean_group"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             shareType="noShare"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String[] noAdMidGroupList = new String[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         noAdMidGroupList = ((JSONArray) abtestParam.get("no_ad_mid_group_list")).toArray(noAdMidGroupList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -190,7 +185,9 @@ public class PredictModelServiceImpl implements PredictModelService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result.put("no_ad_strategy", "no_ad_mid_group_with_video"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //市-中文 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        requestParam.setRegion(requestParam.getRegion().replace("省", "")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        requestParam.setCity(requestParam.getCity().replace("市", "")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //设置信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ThresholdPredictModelParam modelParam = ThresholdPredictModelParam.builder() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .build(); 
			 |