增加健壮性
This commit is contained in:
@ -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<BaseUserPO> 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);
|
||||
|
||||
Reference in New Issue
Block a user