|
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.tzld.piaoquan.ad.engine.commons.score.ScoreParam;
|
|
import com.tzld.piaoquan.ad.engine.commons.score.ScoreParam;
|
|
import com.tzld.piaoquan.ad.engine.commons.score.ScorerUtils;
|
|
import com.tzld.piaoquan.ad.engine.commons.score.ScorerUtils;
|
|
|
|
+import com.tzld.piaoquan.ad.engine.commons.util.AbUtil;
|
|
import com.tzld.piaoquan.ad.engine.service.log.LogHubService;
|
|
import com.tzld.piaoquan.ad.engine.service.log.LogHubService;
|
|
import com.tzld.piaoquan.ad.engine.service.predict.helper.NewExpInfoHelper;
|
|
import com.tzld.piaoquan.ad.engine.service.predict.helper.NewExpInfoHelper;
|
|
import com.tzld.piaoquan.ad.engine.service.predict.param.ThresholdPredictModelParam;
|
|
import com.tzld.piaoquan.ad.engine.service.predict.param.ThresholdPredictModelParam;
|
|
@@ -21,6 +22,7 @@ import com.tzld.piaoquan.ad.engine.service.score.param.RankRecommendRequestParam
|
|
import com.tzld.piaoquan.recommend.feature.domain.ad.base.AdItemFeature;
|
|
import com.tzld.piaoquan.recommend.feature.domain.ad.base.AdItemFeature;
|
|
import com.tzld.piaoquan.recommend.feature.domain.ad.base.AdRankItem;
|
|
import com.tzld.piaoquan.recommend.feature.domain.ad.base.AdRankItem;
|
|
import com.tzld.piaoquan.recommend.feature.domain.ad.base.UserAdFeature;
|
|
import com.tzld.piaoquan.recommend.feature.domain.ad.base.UserAdFeature;
|
|
|
|
+import net.sf.jsqlparser.statement.select.Pivot;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
@@ -38,19 +40,22 @@ import java.util.stream.Collectors;
|
|
public class RankServiceImpl implements RankService {
|
|
public class RankServiceImpl implements RankService {
|
|
|
|
|
|
private final static Logger log = LoggerFactory.getLogger(RankServiceImpl.class);
|
|
private final static Logger log = LoggerFactory.getLogger(RankServiceImpl.class);
|
|
- DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd");
|
|
|
|
- DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss");
|
|
|
|
|
|
+ private static final DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd");
|
|
|
|
+ private static final DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss");
|
|
|
|
+
|
|
|
|
+
|
|
@Autowired
|
|
@Autowired
|
|
- FeatureRemoteService featureRemoteService;
|
|
|
|
|
|
+ private FeatureRemoteService featureRemoteService;
|
|
@Autowired
|
|
@Autowired
|
|
- RankServiceThompsonImpl rankServiceThompson;
|
|
|
|
|
|
+ private RankServiceThompsonImpl rankServiceThompson;
|
|
@Autowired
|
|
@Autowired
|
|
- VideoAdThompsonScorerV2 videoAdThompsonScorerV2;
|
|
|
|
|
|
+ private VideoAdThompsonScorerV2 videoAdThompsonScorerV2;
|
|
@Autowired
|
|
@Autowired
|
|
private LogHubService logHubService;
|
|
private LogHubService logHubService;
|
|
-
|
|
|
|
@Autowired
|
|
@Autowired
|
|
- AdCreativeFeatureContainer adCreativeFeatureContainer;
|
|
|
|
|
|
+ private AdCreativeFeatureContainer adCreativeFeatureContainer;
|
|
|
|
+
|
|
|
|
+
|
|
@Value("${ad.model.cpm.max:200}")
|
|
@Value("${ad.model.cpm.max:200}")
|
|
Double cpmMax = 200d;
|
|
Double cpmMax = 200d;
|
|
@Value("${ad.model.cpm.min:30}")
|
|
@Value("${ad.model.cpm.min:30}")
|
|
@@ -60,7 +65,19 @@ public class RankServiceImpl implements RankService {
|
|
@Value("${ad.cvr.adjusting.exp:652}")
|
|
@Value("${ad.cvr.adjusting.exp:652}")
|
|
private String cvrAdjustingExpCode;
|
|
private String cvrAdjustingExpCode;
|
|
|
|
|
|
|
|
+ @Value("${fm.model.score.exp.code:680}")
|
|
|
|
+ private String fmModelScoreExpCode;
|
|
|
|
+
|
|
|
|
+ @Value("${tactics.fm.mode.score.exp.code:679}")
|
|
|
|
+ private String tacticsAndFmModelScoreExpCode;
|
|
|
|
+
|
|
public AdRankItem adItemRank(RankRecommendRequestParam requestParam) {
|
|
public AdRankItem adItemRank(RankRecommendRequestParam requestParam) {
|
|
|
|
+
|
|
|
|
+ Set<String> expCodeSet = AbUtil.unfoldAllExpCode(requestParam.getAdAbExpArr());
|
|
|
|
+ if (expCodeSet.contains(fmModelScoreExpCode)){
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
return adItemRankOld(requestParam);
|
|
return adItemRankOld(requestParam);
|
|
}
|
|
}
|
|
|
|
|