|
@@ -15,7 +15,6 @@ import com.tzld.piaoquan.ad.engine.service.score.FeatureRemoteService;
|
|
|
import com.tzld.piaoquan.ad.engine.service.score.RankService;
|
|
|
import com.tzld.piaoquan.ad.engine.service.score.convert.RequestConvert;
|
|
|
import com.tzld.piaoquan.ad.engine.service.score.param.RankRecommendRequestParam;
|
|
|
-import org.joda.time.LocalTime;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -23,9 +22,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
-import java.time.DayOfWeek;
|
|
|
-import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -33,7 +31,8 @@ import java.util.stream.Collectors;
|
|
|
public class RankServiceImpl implements RankService {
|
|
|
|
|
|
private final static Logger log = LoggerFactory.getLogger(RankServiceImpl.class);
|
|
|
-
|
|
|
+ DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd");
|
|
|
+ DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss");
|
|
|
@Autowired
|
|
|
FeatureRemoteService featureRemoteService;
|
|
|
|
|
@@ -41,13 +40,15 @@ public class RankServiceImpl implements RankService {
|
|
|
RankServiceThompsonImpl rankServiceThompson;
|
|
|
|
|
|
public AdRankItem adItemRank(RankRecommendRequestParam 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){
|
|
@@ -82,8 +83,13 @@ public class RankServiceImpl implements RankService {
|
|
|
|
|
|
rankResult=rank(param, userAdFeature, rankItems,ScorerUtils.BASE_CONF);
|
|
|
}
|
|
|
- log.info("svc=adItemRank rankResult={}", JSONObject.toJSONString(rankResult));
|
|
|
+ JSONObject object=new JSONObject();
|
|
|
+ object.put("request",request);
|
|
|
+ object.put("rankResult",rankResult.get(0));
|
|
|
+ object.put("dataTime",currentTime.format(timeFormatter));
|
|
|
if (!CollectionUtils.isEmpty(rankResult)) {
|
|
|
+
|
|
|
+ log.info("svc=adItemRank {}", JSONObject.toJSONString(object));
|
|
|
return rankResult.get(0);
|
|
|
}else {
|
|
|
|