fix(system): 当用户没有绑定微信小程序时获取到socialUser为null,会导致发货失败

- 在发送订阅消息前增加社交用户空值判断
- 避免因社交用户信息缺失导致的空指针异常
- 完善日志记录,提高问题排查效率
This commit is contained in:
wuKong
2025-12-15 18:55:08 +08:00
parent ec8577bdd9
commit 13a1993dd2

View File

@@ -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);
}