fix(notification): 解决下载通知任务中用户信息为空的问题

- 添加了对用户信息和微信openId的空值检查
- 当用户不存在或未绑定微信时跳过处理并记录调试日志
- 防止因空指针异常导致的通知发送失败
This commit is contained in:
2026-02-12 21:01:14 +08:00
parent 9cfb366839
commit 0cfa871e86

View File

@@ -66,6 +66,10 @@ public class DownloadNotificationTasker {
}
MemberRespVO member = memberMapper.getById(item.getMemberId());
if (member == null || member.getOpenId() == null) {
log.debug("用户[memberId={}]不存在或未绑定微信,跳过", item.getMemberId());
return;
}
// 发送模板消息
HashMap<String, Object> variables = new HashMap<>();
ScenicV2DTO scenic = scenicRepository.getScenicBasic(item.getScenicId());
@@ -111,6 +115,10 @@ public class DownloadNotificationTasker {
sentMemberIds.add(item.getMemberId());
MemberRespVO member = memberMapper.getById(item.getMemberId());
if (member == null || member.getOpenId() == null) {
log.debug("用户[memberId={}]不存在或未绑定微信,跳过", item.getMemberId());
return;
}
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(item.getScenicId());
Integer videoStoreDay = scenicConfig.getInteger("video_store_day");
if (videoStoreDay == null) {
@@ -161,6 +169,10 @@ public class DownloadNotificationTasker {
sentMemberIds.add(item.getMemberId());
MemberRespVO member = memberMapper.getById(item.getMemberId());
if (member == null || member.getOpenId() == null) {
log.debug("用户[memberId={}]不存在或未绑定微信,跳过", item.getMemberId());
return;
}
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(item.getScenicId());
Integer videoStoreDay = scenicConfig.getInteger("video_store_day");
if (videoStoreDay == null) {
@@ -237,6 +249,10 @@ public class DownloadNotificationTasker {
}
MemberRespVO member = memberMapper.getById(item.getMemberId());
if (member == null || member.getOpenId() == null) {
log.debug("用户[memberId={}]不存在或未绑定微信,跳过", item.getMemberId());
return;
}
// 发送模板消息
HashMap<String, Object> variables = new HashMap<>();
variables.put("scenicName", scenic.getName());