You've already forked FrameTour-BE
fix(notification): 解决下载通知任务中用户信息为空的问题
- 添加了对用户信息和微信openId的空值检查 - 当用户不存在或未绑定微信时跳过处理并记录调试日志 - 防止因空指针异常导致的通知发送失败
This commit is contained in:
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user