From 0cfa871e86800c3518ecd56e9bd9e6b668958ed1 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Thu, 12 Feb 2026 21:01:14 +0800 Subject: [PATCH] =?UTF-8?q?fix(notification):=20=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E9=80=9A=E7=9F=A5=E4=BB=BB=E5=8A=A1=E4=B8=AD?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF=E4=B8=BA=E7=A9=BA=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加了对用户信息和微信openId的空值检查 - 当用户不存在或未绑定微信时跳过处理并记录调试日志 - 防止因空指针异常导致的通知发送失败 --- .../basic/task/DownloadNotificationTasker.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/com/ycwl/basic/task/DownloadNotificationTasker.java b/src/main/java/com/ycwl/basic/task/DownloadNotificationTasker.java index 4738b435..c005f973 100644 --- a/src/main/java/com/ycwl/basic/task/DownloadNotificationTasker.java +++ b/src/main/java/com/ycwl/basic/task/DownloadNotificationTasker.java @@ -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 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 variables = new HashMap<>(); variables.put("scenicName", scenic.getName());