From 30964f3b0d0c03c8d41b2940db54bf369ac5dd75 Mon Sep 17 00:00:00 2001 From: zhangli <123879394@qq.com> Date: Mon, 4 Aug 2025 11:30:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=81=A5=E5=A3=AE=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/service/impl/UserServiceImpl.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/sczx/user/service/impl/UserServiceImpl.java b/src/main/java/com/sczx/user/service/impl/UserServiceImpl.java index 7f0e4d0..5418b35 100644 --- a/src/main/java/com/sczx/user/service/impl/UserServiceImpl.java +++ b/src/main/java/com/sczx/user/service/impl/UserServiceImpl.java @@ -27,6 +27,7 @@ import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.Optional; /** * @Author: 张黎 @@ -90,7 +91,10 @@ public class UserServiceImpl implements IUserService { phoneInfo = weichatInteg.decryptPhoneNumber(sessionKey, wxMiniProgramRegRequest.getPhoneEncryptedData(), wxMiniProgramRegRequest.getPhoneIv()); log.info("解密手机号信息:{}", phoneInfo); } - + String phoneNumber = Optional.ofNullable(phoneInfo).map(WechatDecryptedPhoneInfo::getPurePhoneNumber).orElse(null); + if(StringUtils.isBlank(phoneNumber)){ + throw new BizException("微信小程序注册失败,无法获取用户真实手机号"); + } // // 3. 解密用户基本信息(昵称、头像等) // WechatDecryptedUserInfo userInfo = null; // if (StringUtils.isNotBlank(wxMiniProgramRegRequest.getUserEncryptedData()) && StringUtils.isNotBlank(wxMiniProgramRegRequest.getUserIv()) @@ -100,22 +104,22 @@ public class UserServiceImpl implements IUserService { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(BaseUserPO::getPhoneNumber, phoneInfo.getPurePhoneNumber()); + queryWrapper.eq(BaseUserPO::getPhoneNumber, phoneNumber); BaseUserPO baseUserPO = baseUserRepo.getOne(queryWrapper); BaseUserPO newUserPO = new BaseUserPO(); if(Objects.isNull(baseUserPO)){ newUserPO.setWechatOpenid(openid); - newUserPO.setUserName(phoneInfo.getPurePhoneNumber()); - newUserPO.setPhoneNumber(phoneInfo.getPurePhoneNumber()); - newUserPO.setPassword(MD5Utils.md5Hex(phoneInfo.getPurePhoneNumber(), StandardCharsets.UTF_8.name())); + newUserPO.setUserName(phoneNumber); + newUserPO.setPhoneNumber(phoneNumber); + newUserPO.setPassword(MD5Utils.md5Hex(phoneNumber, StandardCharsets.UTF_8.name())); - newUserPO.setNickName(phoneInfo.getPurePhoneNumber()); + newUserPO.setNickName(phoneNumber); // newUserPO.setAvatarUrl(Optional.ofNullable(userInfo).map(WechatDecryptedUserInfo::getAvatarUrl).orElse(null)); newUserPO.setRoleId(1); }else { newUserPO.setId(baseUserPO.getId()); newUserPO.setWechatOpenid(openid); - newUserPO.setNickName(phoneInfo.getPurePhoneNumber()); + newUserPO.setNickName(phoneNumber); // newUserPO.setAvatarUrl(Optional.ofNullable(userInfo).map(WechatDecryptedUserInfo::getAvatarUrl).orElse(null)); } baseUserRepo.saveOrUpdate(newUserPO);