Commit a6e8cb20 authored by zhouxudong's avatar zhouxudong

手机号登录自动注册

parent f283d9b9
...@@ -53,7 +53,7 @@ public class GlobalExceptionHandler { ...@@ -53,7 +53,7 @@ public class GlobalExceptionHandler {
@ExceptionHandler(value = Exception.class) @ExceptionHandler(value = Exception.class)
public AjaxResult handlerException(Exception e){ public AjaxResult handlerException(Exception e){
log.error("发生异常Exception:",e); log.error("发生异常Exception:",e);
return AjaxResult.error(e.getMessage()); return AjaxResult.error("发生未知异常,请稍后重试");
} }
......
...@@ -106,7 +106,8 @@ public class SysUserInfoServiceImpl extends ServiceImpl<SysUserInfoMapper, SysUs ...@@ -106,7 +106,8 @@ public class SysUserInfoServiceImpl extends ServiceImpl<SysUserInfoMapper, SysUs
String token = JwtTokenUtil.createToken(sysUserInfo, null); String token = JwtTokenUtil.createToken(sysUserInfo, null);
RedisUtil.set( RedisUtil.set(
RedisConstants.token + sysUserInfo.getPhonenumber(), RedisConstants.token + sysUserInfo.getPhonenumber(),
token, Constants.sevenTime, token,
Constants.sevenTime,
TimeUnit.SECONDS); TimeUnit.SECONDS);
// 将用户基本信息一起返回 // 将用户基本信息一起返回
...@@ -130,9 +131,7 @@ public class SysUserInfoServiceImpl extends ServiceImpl<SysUserInfoMapper, SysUs ...@@ -130,9 +131,7 @@ public class SysUserInfoServiceImpl extends ServiceImpl<SysUserInfoMapper, SysUs
LambdaQueryWrapper<SysUserInfo> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysUserInfo> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SysUserInfo::getPhonenumber, phoneLoginVo.getPhone()); lambdaQueryWrapper.eq(SysUserInfo::getPhonenumber, phoneLoginVo.getPhone());
SysUserInfo sysUserInfo = this.getOne(lambdaQueryWrapper); SysUserInfo sysUserInfo = this.getOne(lambdaQueryWrapper);
if (ObjectUtils.isEmpty(sysUserInfo)) {
throw new ServiceException("手机号未注册,请先注册");
}
String phone = phoneLoginVo.getPhone(); String phone = phoneLoginVo.getPhone();
String code = phoneLoginVo.getCode(); String code = phoneLoginVo.getCode();
Object msgCode = getPhoneKey(phone, SendMsgTypeEnum.LOGIN.getCode()); Object msgCode = getPhoneKey(phone, SendMsgTypeEnum.LOGIN.getCode());
...@@ -142,13 +141,16 @@ public class SysUserInfoServiceImpl extends ServiceImpl<SysUserInfoMapper, SysUs ...@@ -142,13 +141,16 @@ public class SysUserInfoServiceImpl extends ServiceImpl<SysUserInfoMapper, SysUs
if (!code.equals(msgCode)) { if (!code.equals(msgCode)) {
throw new ServiceException(MsgConstants.codeError); throw new ServiceException(MsgConstants.codeError);
} }
if (ObjectUtils.isEmpty(sysUserInfo)) {
sysUserInfo = saveUser(phone, null);
this.save(sysUserInfo);
}
String token = JwtTokenUtil.createToken(sysUserInfo, null); String token = JwtTokenUtil.createToken(sysUserInfo, null);
RedisUtil.set( RedisUtil.set(
RedisConstants.token + sysUserInfo.getPhonenumber(), RedisConstants.token + sysUserInfo.getPhonenumber(),
token, Constants.sevenTime, token,
Constants.sevenTime,
TimeUnit.SECONDS); TimeUnit.SECONDS);
// 将用户基本信息一起返回 // 将用户基本信息一起返回
UserInfoVo userInfoVo = UserInfoVo userInfoVo =
new UserInfoVo() new UserInfoVo()
...@@ -278,16 +280,22 @@ public class SysUserInfoServiceImpl extends ServiceImpl<SysUserInfoMapper, SysUs ...@@ -278,16 +280,22 @@ public class SysUserInfoServiceImpl extends ServiceImpl<SysUserInfoMapper, SysUs
if (!registerVo.getCode().equals(code)) { if (!registerVo.getCode().equals(code)) {
throw new ServiceException(MsgConstants.codeError); throw new ServiceException(MsgConstants.codeError);
} }
SysUserInfo sysUserInfo = saveUser(phone, registerVo.getPassword());
return this.save(sysUserInfo);
}
private SysUserInfo saveUser(String phone, String password) {
SysUserInfo userInfo = new SysUserInfo(); SysUserInfo userInfo = new SysUserInfo();
userInfo.setLoginName(phone); userInfo.setLoginName(phone);
userInfo.setUserName(phone); userInfo.setUserName(phone);
userInfo.setUserType("00"); userInfo.setUserType("00");
userInfo.setPhonenumber(phone); userInfo.setPhonenumber(phone);
userInfo.setSex("0"); userInfo.setSex("0");
if (StringUtils.isNotBlank(password)) {
userInfo.setPassword( userInfo.setPassword(
DigestUtils.md5DigestAsHex( DigestUtils.md5DigestAsHex((password + lyyConfig.getPasswordSalt()).getBytes()));
(registerVo.getPassword() + lyyConfig.getPasswordSalt()).getBytes()));
userInfo.setSalt(lyyConfig.getPasswordSalt()); userInfo.setSalt(lyyConfig.getPasswordSalt());
}
// 给当前用户存储 解锁次数 // 给当前用户存储 解锁次数
RedisUtil.hPut( RedisUtil.hPut(
RedisConstants.LIMIT_NUM, RedisConstants.LIMIT_NUM,
...@@ -304,9 +312,9 @@ public class SysUserInfoServiceImpl extends ServiceImpl<SysUserInfoMapper, SysUs ...@@ -304,9 +312,9 @@ public class SysUserInfoServiceImpl extends ServiceImpl<SysUserInfoMapper, SysUs
saveThread.put("createTime", DateUtil.date()); saveThread.put("createTime", DateUtil.date());
CompletableFuture.runAsync(() -> businessService.savThread(saveThread)); CompletableFuture.runAsync(() -> businessService.savThread(saveThread));
return userInfo;
return this.save(userInfo);
} }
/** /**
* @description: 忘记密码 * @description: 忘记密码
* @date: 2023/11/23 10:21 * @date: 2023/11/23 10:21
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment