|
@@ -41,10 +41,13 @@ public class WeComMessageDataJob {
|
|
|
@Autowired
|
|
|
private MessageService messageService;
|
|
|
|
|
|
- private static final int sum = 3;
|
|
|
+ private static final int MAX_VIDEO_NUM = 3;
|
|
|
|
|
|
- List<PushMessage> goodList = new ArrayList<>();
|
|
|
- List<Long> saveList = new ArrayList<>();
|
|
|
+ //历史优质视频可推送用户列表
|
|
|
+ List<PushMessage> goodHistoryPushList = new ArrayList<>();
|
|
|
+
|
|
|
+ //保底视频列表
|
|
|
+ List<Long> guaranteedVideoIdList = new ArrayList<>();
|
|
|
|
|
|
//初始化操作
|
|
|
void init() {
|
|
@@ -62,7 +65,7 @@ public class WeComMessageDataJob {
|
|
|
pushMessage.setUserIds(userIds);
|
|
|
list.add(pushMessage);
|
|
|
}
|
|
|
- goodList = list;
|
|
|
+ goodHistoryPushList = list;
|
|
|
List<Long> saveVideoIds = Objects.requireNonNull(redisTemplate.opsForList().range(GUARANTEED_MINIPROGRAM_KEY, 0, 2))
|
|
|
.stream().map(o -> (Integer) o).map(String::valueOf).map(Long::parseLong).collect(Collectors.toList());
|
|
|
if (CollectionUtils.isEmpty(saveVideoIds)) {
|
|
@@ -79,7 +82,7 @@ public class WeComMessageDataJob {
|
|
|
throw new RuntimeException("保底数据不是最新的");
|
|
|
}
|
|
|
}
|
|
|
- saveList = saveVideoIds;
|
|
|
+ guaranteedVideoIdList = saveVideoIds;
|
|
|
}
|
|
|
|
|
|
public void assemble() {
|
|
@@ -112,7 +115,7 @@ public class WeComMessageDataJob {
|
|
|
public String getPushKey(User user) {
|
|
|
int n = 0;
|
|
|
StringBuilder key = new StringBuilder();
|
|
|
- for (PushMessage pushMessage : goodList) {
|
|
|
+ for (PushMessage pushMessage : goodHistoryPushList) {
|
|
|
if (pushMessage.getUserIds().contains(user.getId())) {
|
|
|
if (key.length() == 0) {
|
|
|
key.append(pushMessage.getVideoId());
|
|
@@ -122,12 +125,12 @@ public class WeComMessageDataJob {
|
|
|
key.append(pushMessage.getVideoId());
|
|
|
}
|
|
|
n++;
|
|
|
- if (n > sum) {
|
|
|
+ if (n > MAX_VIDEO_NUM) {
|
|
|
return key.toString();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- for (Long videoId : saveList) {
|
|
|
+ for (Long videoId : guaranteedVideoIdList) {
|
|
|
if (key.length() == 0) {
|
|
|
key.append(videoId);
|
|
|
n++;
|
|
@@ -136,7 +139,7 @@ public class WeComMessageDataJob {
|
|
|
key.append(videoId);
|
|
|
}
|
|
|
n++;
|
|
|
- if (n > sum) {
|
|
|
+ if (n > MAX_VIDEO_NUM) {
|
|
|
return key.toString();
|
|
|
}
|
|
|
}
|