fix: 修复第三方账号登录时,新用户昵称不符合规则的问题
This commit is contained in:
parent
f504a2800d
commit
063343565d
@ -93,14 +93,18 @@ public class LoginServiceImpl implements LoginService {
|
|||||||
UserDO user;
|
UserDO user;
|
||||||
if (null == userSocial) {
|
if (null == userSocial) {
|
||||||
String username = authUser.getUsername();
|
String username = authUser.getUsername();
|
||||||
boolean isMatch = ReUtil.isMatch(RegexConsts.USERNAME, username);
|
String nickname = authUser.getNickname();
|
||||||
UserDO existsUser = userService.getByUsername(username);
|
UserDO existsUser = userService.getByUsername(username);
|
||||||
if (null != existsUser || !isMatch) {
|
String randomStr = RandomUtil.randomString(RandomUtil.BASE_CHAR, 5);
|
||||||
username = RandomUtil.randomString(RandomUtil.BASE_CHAR, 5) + IdUtil.fastSimpleUUID();
|
if (null != existsUser || !ReUtil.isMatch(RegexConsts.USERNAME, username)) {
|
||||||
|
username = randomStr + IdUtil.fastSimpleUUID();
|
||||||
|
}
|
||||||
|
if (!ReUtil.isMatch(RegexConsts.GENERAL_NAME, nickname)) {
|
||||||
|
nickname = source.toLowerCase() + randomStr;
|
||||||
}
|
}
|
||||||
user = new UserDO();
|
user = new UserDO();
|
||||||
user.setUsername(username);
|
user.setUsername(username);
|
||||||
user.setNickname(authUser.getNickname());
|
user.setNickname(nickname);
|
||||||
user.setGender(GenderEnum.valueOf(authUser.getGender().name()));
|
user.setGender(GenderEnum.valueOf(authUser.getGender().name()));
|
||||||
user.setAvatar(authUser.getAvatar());
|
user.setAvatar(authUser.getAvatar());
|
||||||
user.setDeptId(SysConsts.SUPER_DEPT_ID);
|
user.setDeptId(SysConsts.SUPER_DEPT_ID);
|
||||||
|
Loading…
Reference in New Issue
Block a user