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