Commit a6e8cb20 authored by zhouxudong's avatar zhouxudong

手机号登录自动注册

parent f283d9b9
......@@ -53,7 +53,7 @@ public class GlobalExceptionHandler {
@ExceptionHandler(value = Exception.class)
public AjaxResult handlerException(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
String token = JwtTokenUtil.createToken(sysUserInfo, null);
RedisUtil.set(
RedisConstants.token + sysUserInfo.getPhonenumber(),
token, Constants.sevenTime,
token,
Constants.sevenTime,
TimeUnit.SECONDS);
// 将用户基本信息一起返回
......@@ -130,9 +131,7 @@ public class SysUserInfoServiceImpl extends ServiceImpl<SysUserInfoMapper, SysUs
LambdaQueryWrapper<SysUserInfo> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SysUserInfo::getPhonenumber, phoneLoginVo.getPhone());
SysUserInfo sysUserInfo = this.getOne(lambdaQueryWrapper);
if (ObjectUtils.isEmpty(sysUserInfo)) {
throw new ServiceException("手机号未注册,请先注册");
}
String phone = phoneLoginVo.getPhone();
String code = phoneLoginVo.getCode();
Object msgCode = getPhoneKey(phone, SendMsgTypeEnum.LOGIN.getCode());
......@@ -142,13 +141,16 @@ public class SysUserInfoServiceImpl extends ServiceImpl<SysUserInfoMapper, SysUs
if (!code.equals(msgCode)) {
throw new ServiceException(MsgConstants.codeError);
}
if (ObjectUtils.isEmpty(sysUserInfo)) {
sysUserInfo = saveUser(phone, null);
this.save(sysUserInfo);
}
String token = JwtTokenUtil.createToken(sysUserInfo, null);
RedisUtil.set(
RedisConstants.token + sysUserInfo.getPhonenumber(),
token, Constants.sevenTime,
token,
Constants.sevenTime,
TimeUnit.SECONDS);
// 将用户基本信息一起返回
UserInfoVo userInfoVo =
new UserInfoVo()
......@@ -278,16 +280,22 @@ public class SysUserInfoServiceImpl extends ServiceImpl<SysUserInfoMapper, SysUs
if (!registerVo.getCode().equals(code)) {
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();
userInfo.setLoginName(phone);
userInfo.setUserName(phone);
userInfo.setUserType("00");
userInfo.setPhonenumber(phone);
userInfo.setSex("0");
if (StringUtils.isNotBlank(password)) {
userInfo.setPassword(
DigestUtils.md5DigestAsHex(
(registerVo.getPassword() + lyyConfig.getPasswordSalt()).getBytes()));
DigestUtils.md5DigestAsHex((password + lyyConfig.getPasswordSalt()).getBytes()));
userInfo.setSalt(lyyConfig.getPasswordSalt());
}
// 给当前用户存储 解锁次数
RedisUtil.hPut(
RedisConstants.LIMIT_NUM,
......@@ -304,9 +312,9 @@ public class SysUserInfoServiceImpl extends ServiceImpl<SysUserInfoMapper, SysUs
saveThread.put("createTime", DateUtil.date());
CompletableFuture.runAsync(() -> businessService.savThread(saveThread));
return this.save(userInfo);
return userInfo;
}
/**
* @description: 忘记密码
* @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