|
@@ -84,35 +84,34 @@ public class WeComMessageDataJob {
|
|
|
String sql = String.format("SELECT * FROM loghubods.history_good_video_can_push_user_list where dt = %s;",
|
|
|
DateUtil.getBeforeDayDateString());
|
|
|
List<Record> recordList = OdpsUtil.getOdpsData(sql);
|
|
|
- if (CollectionUtils.isEmpty(recordList)) {
|
|
|
- return;
|
|
|
- }
|
|
|
- List<PushMessage> list = new ArrayList<>();
|
|
|
- for (Record record : recordList) {
|
|
|
- PushMessage pushMessage = new PushMessage();
|
|
|
- Long videoId = Long.parseLong((String) record.get(0));
|
|
|
- Set<Long> userIds = new HashSet<>(JSONObject.parseArray((String) record.get(1), Long.class));
|
|
|
- Long staffId = Long.parseLong((String) record.get(2));
|
|
|
- Double score = Double.parseDouble((String) record.get(3));
|
|
|
- pushMessage.setVideoId(videoId);
|
|
|
- pushMessage.setUserIds(userIds);
|
|
|
- pushMessage.setStaffId(staffId);
|
|
|
- pushMessage.setScore(score);
|
|
|
- list.add(pushMessage);
|
|
|
- }
|
|
|
- historicalTopMap = list.stream()
|
|
|
- .collect(Collectors.groupingBy(PushMessage::getStaffId,
|
|
|
- Collectors.mapping(pushMessage -> pushMessage,
|
|
|
- Collectors.toList())))
|
|
|
- .entrySet()
|
|
|
- .stream()
|
|
|
- .collect(Collectors.toMap(
|
|
|
- Map.Entry::getKey,
|
|
|
- entry -> entry.getValue().stream()
|
|
|
- .sorted(Comparator.comparing(PushMessage::getScore).reversed()) // 根据 score 降序排序
|
|
|
- .collect(Collectors.toList())
|
|
|
- ));
|
|
|
+ if (!CollectionUtils.isEmpty(recordList)) {
|
|
|
+ List<PushMessage> list = new ArrayList<>();
|
|
|
+ for (Record record : recordList) {
|
|
|
+ PushMessage pushMessage = new PushMessage();
|
|
|
+ Long videoId = Long.parseLong((String) record.get(0));
|
|
|
+ Set<Long> userIds = new HashSet<>(JSONObject.parseArray((String) record.get(1), Long.class));
|
|
|
+ Long staffId = Long.parseLong((String) record.get(2));
|
|
|
+ Double score = Double.parseDouble((String) record.get(3));
|
|
|
+ pushMessage.setVideoId(videoId);
|
|
|
+ pushMessage.setUserIds(userIds);
|
|
|
+ pushMessage.setStaffId(staffId);
|
|
|
+ pushMessage.setScore(score);
|
|
|
+ list.add(pushMessage);
|
|
|
+ }
|
|
|
+ historicalTopMap = list.stream()
|
|
|
+ .collect(Collectors.groupingBy(PushMessage::getStaffId,
|
|
|
+ Collectors.mapping(pushMessage -> pushMessage,
|
|
|
+ Collectors.toList())))
|
|
|
+ .entrySet()
|
|
|
+ .stream()
|
|
|
+ .collect(Collectors.toMap(
|
|
|
+ Map.Entry::getKey,
|
|
|
+ entry -> entry.getValue().stream()
|
|
|
+ .sorted(Comparator.comparing(PushMessage::getScore).reversed()) // 根据 score 降序排序
|
|
|
+ .collect(Collectors.toList())
|
|
|
+ ));
|
|
|
|
|
|
+ }
|
|
|
//保底视频获取
|
|
|
String key = String.format(GUARANTEED_MINI_PROGRAM_KEY, DateUtil.getThatDayDateString());
|
|
|
GuaranteedParam guaranteedParam = (GuaranteedParam) redisTemplate.opsForValue().get(key);
|