From 13a1993dd27593a4649d71db9d3623c554ca501e Mon Sep 17 00:00:00 2001 From: wuKong Date: Mon, 15 Dec 2025 18:55:08 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(system):=20=E5=BD=93=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E7=BB=91=E5=AE=9A=E5=BE=AE=E4=BF=A1=E5=B0=8F?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E6=97=B6=E8=8E=B7=E5=8F=96=E5=88=B0socialUse?= =?UTF-8?q?r=E4=B8=BAnull,=E4=BC=9A=E5=AF=BC=E8=87=B4=E5=8F=91=E8=B4=A7?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在发送订阅消息前增加社交用户空值判断 - 避免因社交用户信息缺失导致的空指针异常 - 完善日志记录,提高问题排查效率 --- .../yudao/module/system/api/social/SocialClientApiImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApiImpl.java b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApiImpl.java index 30b0bb9a1..aeb7865cb 100644 --- a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApiImpl.java +++ b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApiImpl.java @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.system.api.social; import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; @@ -86,7 +87,7 @@ public class SocialClientApiImpl implements SocialClientApi { // 2. 获得社交用户 SocialUserRespDTO socialUser = socialUserService.getSocialUserByUserId(reqDTO.getUserType(), reqDTO.getUserId(), SocialTypeEnum.WECHAT_MINI_PROGRAM.getType()); - if (StrUtil.isBlankIfStr(socialUser.getOpenid())) { + if (ObjectUtil.isNull(socialUser) || StrUtil.isBlankIfStr(socialUser.getOpenid())) { log.warn("[sendWxaSubscribeMessage][reqDTO({}) 发送订阅消息失败,原因:会员 openid 缺失]", reqDTO); return success(false); } From e455572adbfffb7bbfcf5a5853fdc12c8d926f82 Mon Sep 17 00:00:00 2001 From: wuKong Date: Mon, 15 Dec 2025 18:58:13 +0800 Subject: [PATCH 2/2] =?UTF-8?q?refactor(system):=20=E6=9B=BF=E6=8D=A2=20Ob?= =?UTF-8?q?jectUtil=20=E4=B8=BA=20ObjUtil?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 SocialClientApiImpl 中的 ObjectUtil.isNull 替换为 ObjUtil.isNull - 移除未使用的 ObjectUtil 导入包 - 保持空值判断逻辑一致性 --- .../yudao/module/system/api/social/SocialClientApiImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApiImpl.java b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApiImpl.java index aeb7865cb..07ad265cb 100644 --- a/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApiImpl.java +++ b/yudao-module-system/yudao-module-system-server/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApiImpl.java @@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.system.api.social; import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjUtil; -import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; @@ -87,7 +86,7 @@ public class SocialClientApiImpl implements SocialClientApi { // 2. 获得社交用户 SocialUserRespDTO socialUser = socialUserService.getSocialUserByUserId(reqDTO.getUserType(), reqDTO.getUserId(), SocialTypeEnum.WECHAT_MINI_PROGRAM.getType()); - if (ObjectUtil.isNull(socialUser) || StrUtil.isBlankIfStr(socialUser.getOpenid())) { + if (ObjUtil.isNull(socialUser) || StrUtil.isBlankIfStr(socialUser.getOpenid())) { log.warn("[sendWxaSubscribeMessage][reqDTO({}) 发送订阅消息失败,原因:会员 openid 缺失]", reqDTO); return success(false); }