|
@@ -102,6 +102,16 @@ public class RankServiceImpl implements RankService {
|
|
|
public AdPlatformBidCreativeDTO adBidRank(BidRankRecommendRequestParam request) {
|
|
|
|
|
|
ScoreParam param= RequestConvert.requestConvert(request);
|
|
|
+
|
|
|
+ LocalDateTime currentTime = LocalDateTime.now();
|
|
|
+ int currentHour = currentTime.getHour();
|
|
|
+ int dayOfWeek = currentTime.getDayOfWeek().getValue();
|
|
|
+ param.getRequestContext().setHour(currentHour+"");
|
|
|
+ param.getRequestContext().setWeek(dayOfWeek+"");
|
|
|
+ param.getRequestContext().setRegion(request.getRegion().replace("省",""));
|
|
|
+ param.getRequestContext().setCity(request.getCity().replace("市",""));
|
|
|
+ param.getRequestContext().setDay(currentTime.format(dateFormatter));
|
|
|
+
|
|
|
UserAdFeature userAdFeature=featureRemoteService.getUserAdFeature(request.getMid());
|
|
|
if(userAdFeature==null){
|
|
|
userAdFeature=new UserAdFeature();
|
|
@@ -126,8 +136,6 @@ public class RankServiceImpl implements RankService {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
- log.info("svc=adItemRank param={} userAdFeature={} rankItems={}",
|
|
|
- JSONObject.toJSONString(param),JSONObject.toJSONString(userAdFeature),JSONObject.toJSONString(rankItems));
|
|
|
List<AdRankItem> rankResult;
|
|
|
if(rankItems==null|| rankItems.size()==0){
|
|
|
rankItems=new LinkedList<>();
|
|
@@ -144,7 +152,6 @@ public class RankServiceImpl implements RankService {
|
|
|
}else {
|
|
|
rankResult=rank(param, userAdFeature, rankItems,ScorerUtils.BASE_CONF);
|
|
|
}
|
|
|
- log.info("svc=adBidRank rankResult={}", JSONObject.toJSONString(rankResult));
|
|
|
|
|
|
AdRankItem topItem=rankResult.get(0);
|
|
|
|
|
@@ -157,11 +164,17 @@ public class RankServiceImpl implements RankService {
|
|
|
result.setPcvr(topItem.getCvr());
|
|
|
result.setCreativeCode(groupMap.get(topItem.getAdId()+"").get(0).getCreativeCode());
|
|
|
if(rankResult.size()<=1){
|
|
|
+
|
|
|
//经验值 待定
|
|
|
result.setEcpm2(topItem.getEcpm1()*0.9);
|
|
|
}else {
|
|
|
result.setEcpm2(rankResult.get(1).getEcpm1());
|
|
|
}
|
|
|
+ JSONObject object=new JSONObject();
|
|
|
+ object.put("request",request);
|
|
|
+ object.put("rankResult",result);
|
|
|
+ object.put("dataTime",currentTime.format(timeFormatter));
|
|
|
+ log.info("svc=adBidRank {}", JSONObject.toJSONString(object));
|
|
|
return result;
|
|
|
}
|
|
|
|