|
@@ -4,14 +4,15 @@ import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.alibaba.fastjson.TypeReference;
|
|
|
import com.tzld.piaoquan.ad.engine.commons.enums.AppTypeEnum;
|
|
|
+import com.tzld.piaoquan.ad.engine.commons.enums.RedisPrefixEnum;
|
|
|
+import com.tzld.piaoquan.ad.engine.commons.redis.AdRedisHelper;
|
|
|
import com.tzld.piaoquan.ad.engine.commons.redis.AlgorithmRedisHelper;
|
|
|
import com.tzld.piaoquan.ad.engine.commons.util.DateUtils;
|
|
|
-import com.tzld.piaoquan.ad.engine.commons.util.JSONUtils;
|
|
|
+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.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;
|
|
|
-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;
|
|
@@ -20,6 +21,7 @@ import com.tzld.piaoquan.ad.engine.service.predict.param.RoiThresholdPredictMode
|
|
|
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;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -27,6 +29,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
|
|
|
//
|
|
@@ -54,8 +58,6 @@ public class PredictModelServiceImpl implements PredictModelService {
|
|
|
@Value("${ad.predict.share0.exp.code:000}")
|
|
|
private String adPredictNoShareUserExpCode;
|
|
|
|
|
|
-// @Value("${ad.predict.90d.share0.exp.code:612}")
|
|
|
-// private String adPredict90DNoShareUserExpCode;
|
|
|
|
|
|
@Value("${ad.predict.immersion.exp.code:607}")
|
|
|
private String adPredictImmersionExpCode;
|
|
@@ -70,6 +72,9 @@ public class PredictModelServiceImpl implements PredictModelService {
|
|
|
@Value("${user.source.layer.ad.rate.exp.ids:673,676}")
|
|
|
private String userSourceLayerAdRateExpIds;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private AdRedisHelper adRedisHelper;
|
|
|
+
|
|
|
List<Integer> appIdArr = Arrays.asList(new Integer[]{0, 3, 4, 5, 6, 17, 18, 19, 21, 22});
|
|
|
|
|
|
|
|
@@ -121,13 +126,17 @@ public class PredictModelServiceImpl implements PredictModelService {
|
|
|
result.put("no_ad_strategy", "no_ad_time_with_time_plan");
|
|
|
return result;
|
|
|
} else if (
|
|
|
- (!condition1 || (condition1 && !condition2))
|
|
|
- &&
|
|
|
- (0 <= hourOfDay && hourOfDay < 8)) {
|
|
|
- // 0点到8点 && (未开启555 || 555配置不包含abcode)
|
|
|
- result.put("ad_predict", 1);
|
|
|
- result.put("no_ad_strategy", "no_ad_time_with_fixed_time");
|
|
|
- return result;
|
|
|
+ (!condition1 || !condition2) && 0 <= hourOfDay && hourOfDay < 8) {
|
|
|
+
|
|
|
+ String day = DateTimeFormatter.ofPattern("yyyyMMdd").format(LocalDateTime.now());
|
|
|
+ String redisKey = String.format(RedisPrefixEnum.ADVANCE_SHOW_AD_FLAG.getPrefix(), day);
|
|
|
+ String flag = adRedisHelper.get(redisKey);
|
|
|
+ if (StringUtils.equals("0", flag)) {
|
|
|
+ // 0点到8点 && (未开启555 || 555配置不包含abcode)
|
|
|
+ result.put("ad_predict", 1);
|
|
|
+ result.put("no_ad_strategy", "no_ad_time_with_fixed_time");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
}
|
|
|
String abtestId = null;
|
|
|
String abTestConfigTag = null;
|