|
@@ -17,6 +17,7 @@ import com.tzld.piaoquan.recommend.server.service.flowpool.FlowPoolService;
|
|
|
import com.tzld.piaoquan.recommend.server.service.rank.RankParam;
|
|
|
import com.tzld.piaoquan.recommend.server.service.rank.RankResult;
|
|
|
import com.tzld.piaoquan.recommend.server.service.rank.RankRouter;
|
|
|
+import com.tzld.piaoquan.recommend.server.service.rank.bo.UserShareReturnProfile;
|
|
|
import com.tzld.piaoquan.recommend.server.service.recall.RecallParam;
|
|
|
import com.tzld.piaoquan.recommend.server.service.recall.RecallResult;
|
|
|
import com.tzld.piaoquan.recommend.server.service.recall.RecallService;
|
|
@@ -67,6 +68,8 @@ public class RecommendService {
|
|
|
private StatisticsLogService statisticsLogService;
|
|
|
@Autowired
|
|
|
private TimerLogService timerLogService;
|
|
|
+ @Autowired
|
|
|
+ private FeatureService featureService;
|
|
|
|
|
|
private ThreadLocal<Map<String, Object>> timerLogMapTL = ThreadLocal.withInitial(HashMap::new);
|
|
|
|
|
@@ -365,14 +368,27 @@ public class RecommendService {
|
|
|
|
|
|
private List<Video> videoRecommend(RecommendParam param) {
|
|
|
Stopwatch stopwatch = Stopwatch.createStarted();
|
|
|
- RecallResult recallResult = recallService.recall(convertToRecallParam(param));
|
|
|
+ String vid = String.valueOf(param.getVideoId());
|
|
|
+ UserShareReturnProfile userProfile = featureService.getUserProfile(param.getUid(), param.getMid());
|
|
|
+ Map<String, String> headVideoInfo = featureService.getHeadVideoInfo(vid);
|
|
|
+ // long infoTime = stopwatch.elapsed(TimeUnit.MILLISECONDS);
|
|
|
+ // timerLogMapTL.get().put("infoTime", infoTime);
|
|
|
+ stopwatch.reset().start();
|
|
|
+
|
|
|
+ RecallParam recallParam = convertToRecallParam(param);
|
|
|
+ recallParam.setUserProfile(userProfile);
|
|
|
+ recallParam.setHeadInfo(headVideoInfo);
|
|
|
+ RecallResult recallResult = recallService.recall(recallParam);
|
|
|
|
|
|
long recallTime = stopwatch.elapsed(TimeUnit.MILLISECONDS);
|
|
|
timerLogMapTL.get().put("recallTime", recallTime);
|
|
|
// log.info("recallResult={}, videoRecommend recallResult cost={}", recallResult, recallTime);
|
|
|
stopwatch.reset().start();
|
|
|
|
|
|
- RankResult rankResult = rankRouter.rank(convertToRankParam(param, recallResult));
|
|
|
+ RankParam rankParam = convertToRankParam(param, recallResult);
|
|
|
+ rankParam.setUserProfile(userProfile);
|
|
|
+ rankParam.setHeadInfo(headVideoInfo);
|
|
|
+ RankResult rankResult = rankRouter.rank(rankParam);
|
|
|
|
|
|
long rankTime = stopwatch.elapsed(TimeUnit.MILLISECONDS);
|
|
|
timerLogMapTL.get().put("rankTime", rankTime);
|