增加健壮性
This commit is contained in:
@ -27,6 +27,7 @@ import java.nio.charset.StandardCharsets;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: 张黎
|
* @Author: 张黎
|
||||||
@ -90,7 +91,10 @@ public class UserServiceImpl implements IUserService {
|
|||||||
phoneInfo = weichatInteg.decryptPhoneNumber(sessionKey, wxMiniProgramRegRequest.getPhoneEncryptedData(), wxMiniProgramRegRequest.getPhoneIv());
|
phoneInfo = weichatInteg.decryptPhoneNumber(sessionKey, wxMiniProgramRegRequest.getPhoneEncryptedData(), wxMiniProgramRegRequest.getPhoneIv());
|
||||||
log.info("解密手机号信息:{}", phoneInfo);
|
log.info("解密手机号信息:{}", phoneInfo);
|
||||||
}
|
}
|
||||||
|
String phoneNumber = Optional.ofNullable(phoneInfo).map(WechatDecryptedPhoneInfo::getPurePhoneNumber).orElse(null);
|
||||||
|
if(StringUtils.isBlank(phoneNumber)){
|
||||||
|
throw new BizException("微信小程序注册失败,无法获取用户真实手机号");
|
||||||
|
}
|
||||||
// // 3. 解密用户基本信息(昵称、头像等)
|
// // 3. 解密用户基本信息(昵称、头像等)
|
||||||
// WechatDecryptedUserInfo userInfo = null;
|
// WechatDecryptedUserInfo userInfo = null;
|
||||||
// if (StringUtils.isNotBlank(wxMiniProgramRegRequest.getUserEncryptedData()) && StringUtils.isNotBlank(wxMiniProgramRegRequest.getUserIv())
|
// if (StringUtils.isNotBlank(wxMiniProgramRegRequest.getUserEncryptedData()) && StringUtils.isNotBlank(wxMiniProgramRegRequest.getUserIv())
|
||||||
@ -100,22 +104,22 @@ public class UserServiceImpl implements IUserService {
|
|||||||
|
|
||||||
|
|
||||||
LambdaQueryWrapper<BaseUserPO> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<BaseUserPO> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq(BaseUserPO::getPhoneNumber, phoneInfo.getPurePhoneNumber());
|
queryWrapper.eq(BaseUserPO::getPhoneNumber, phoneNumber);
|
||||||
BaseUserPO baseUserPO = baseUserRepo.getOne(queryWrapper);
|
BaseUserPO baseUserPO = baseUserRepo.getOne(queryWrapper);
|
||||||
BaseUserPO newUserPO = new BaseUserPO();
|
BaseUserPO newUserPO = new BaseUserPO();
|
||||||
if(Objects.isNull(baseUserPO)){
|
if(Objects.isNull(baseUserPO)){
|
||||||
newUserPO.setWechatOpenid(openid);
|
newUserPO.setWechatOpenid(openid);
|
||||||
newUserPO.setUserName(phoneInfo.getPurePhoneNumber());
|
newUserPO.setUserName(phoneNumber);
|
||||||
newUserPO.setPhoneNumber(phoneInfo.getPurePhoneNumber());
|
newUserPO.setPhoneNumber(phoneNumber);
|
||||||
newUserPO.setPassword(MD5Utils.md5Hex(phoneInfo.getPurePhoneNumber(), StandardCharsets.UTF_8.name()));
|
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.setAvatarUrl(Optional.ofNullable(userInfo).map(WechatDecryptedUserInfo::getAvatarUrl).orElse(null));
|
||||||
newUserPO.setRoleId(1);
|
newUserPO.setRoleId(1);
|
||||||
}else {
|
}else {
|
||||||
newUserPO.setId(baseUserPO.getId());
|
newUserPO.setId(baseUserPO.getId());
|
||||||
newUserPO.setWechatOpenid(openid);
|
newUserPO.setWechatOpenid(openid);
|
||||||
newUserPO.setNickName(phoneInfo.getPurePhoneNumber());
|
newUserPO.setNickName(phoneNumber);
|
||||||
// newUserPO.setAvatarUrl(Optional.ofNullable(userInfo).map(WechatDecryptedUserInfo::getAvatarUrl).orElse(null));
|
// newUserPO.setAvatarUrl(Optional.ofNullable(userInfo).map(WechatDecryptedUserInfo::getAvatarUrl).orElse(null));
|
||||||
}
|
}
|
||||||
baseUserRepo.saveOrUpdate(newUserPO);
|
baseUserRepo.saveOrUpdate(newUserPO);
|
||||||
|
|||||||
Reference in New Issue
Block a user