Przeglądaj źródła

祝福小程序增加排序逻辑

zhangbo 1 rok temu
rodzic
commit
400da9e9fe

+ 11 - 0
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/rank/RankService.java

@@ -69,6 +69,17 @@ public class RankService {
         if (param.getAppType() == AppTypeEnum.PIAO_QUAN_ZHU_FU.getCode()){
             List<Video> results = new ArrayList<>();
             results.addAll(extractAndSort(param, FestivalRecallStrategyV1.PUSH_FORM));
+            List<String> videoIdKeys = results.stream()
+                    .map(t -> param.getRankKeyPrefix() + t.getVideoId())
+                    .collect(Collectors.toList());
+            List<String> videoScores = redisTemplate.opsForValue().multiGet(videoIdKeys);
+            if (CollectionUtils.isNotEmpty(videoScores)
+                    && videoScores.size() == results.size()) {
+                for (int i = 0; i < videoScores.size(); i++) {
+                    results.get(i).setSortScore(NumberUtils.toDouble(videoScores.get(i), 0.0));
+                }
+                Collections.sort(results, Comparator.comparingDouble(o -> -o.getSortScore()));
+            }
             results.addAll(extractAndSort(param, RegionRealtimeRecallStrategyV2.PUSH_FORM));
             results.addAll(extractAndSort(param, RegionRealtimeRecallStrategyV3.PUSH_FORM));
             removeDuplicate(results);