添加手机号注册和邮箱注册
This commit is contained in:
parent
de3a02b439
commit
e17d9f4618
@ -6,9 +6,11 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import com.ruoyi.common.annotation.Anonymous;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.core.domain.model.LoginBody;
|
import com.ruoyi.common.core.domain.model.LoginBody;
|
||||||
|
import com.ruoyi.common.core.domain.model.RegisterBody;
|
||||||
import com.ruoyi.tfa.email.service.impl.MailServiceImpl;
|
import com.ruoyi.tfa.email.service.impl.MailServiceImpl;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@ -29,4 +31,18 @@ public class MailAuthController extends BaseController {
|
|||||||
serviceImpl.doBindVerify(loginBody);
|
serviceImpl.doBindVerify(loginBody);
|
||||||
return success();
|
return success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/send/register")
|
||||||
|
@Anonymous
|
||||||
|
public AjaxResult sendRegister(@RequestBody RegisterBody registerBody) {
|
||||||
|
serviceImpl.doRegister(registerBody);
|
||||||
|
return success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/verify/register")
|
||||||
|
@Anonymous
|
||||||
|
public AjaxResult verifyRegister(@RequestBody RegisterBody registerBody) {
|
||||||
|
serviceImpl.doRegisterVerify(registerBody);
|
||||||
|
return success();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -57,8 +57,10 @@ public class MailServiceImpl implements IMailService {
|
|||||||
if (StringUtils.isEmpty(code))
|
if (StringUtils.isEmpty(code))
|
||||||
return false;
|
return false;
|
||||||
String cachedCode = CacheUtils.get(CacheConstants.EMAIL_CODES, use.getValue() + email, String.class); // 从缓存中获取验证码
|
String cachedCode = CacheUtils.get(CacheConstants.EMAIL_CODES, use.getValue() + email, String.class); // 从缓存中获取验证码
|
||||||
|
boolean isValid = code.equals(cachedCode);
|
||||||
|
if (isValid)
|
||||||
CacheUtils.remove(CacheConstants.EMAIL_CODES, use.getValue() + email);
|
CacheUtils.remove(CacheConstants.EMAIL_CODES, use.getValue() + email);
|
||||||
return code.equals(cachedCode);
|
return isValid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void doLogin(LoginBody loginBody, boolean isRegister) {
|
public void doLogin(LoginBody loginBody, boolean isRegister) {
|
||||||
@ -104,6 +106,7 @@ public class MailServiceImpl implements IMailService {
|
|||||||
if (checkCode(registerBody.getEmail(), registerBody.getCode(), OauthVerificationUse.REGISTER)) {
|
if (checkCode(registerBody.getEmail(), registerBody.getCode(), OauthVerificationUse.REGISTER)) {
|
||||||
SysUser sysUser = new SysUser();
|
SysUser sysUser = new SysUser();
|
||||||
sysUser.setUserName(registerBody.getEmail());
|
sysUser.setUserName(registerBody.getEmail());
|
||||||
|
sysUser.setNickName(registerBody.getEmail());
|
||||||
sysUser.setPassword(SecurityUtils.encryptPassword(registerBody.getPassword()));
|
sysUser.setPassword(SecurityUtils.encryptPassword(registerBody.getPassword()));
|
||||||
sysUser.setEmail(registerBody.getEmail());
|
sysUser.setEmail(registerBody.getEmail());
|
||||||
userService.registerUser(sysUser);
|
userService.registerUser(sysUser);
|
||||||
|
@ -6,9 +6,11 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import com.ruoyi.common.annotation.Anonymous;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.core.domain.model.LoginBody;
|
import com.ruoyi.common.core.domain.model.LoginBody;
|
||||||
|
import com.ruoyi.common.core.domain.model.RegisterBody;
|
||||||
import com.ruoyi.tfa.phone.service.Impl.DySmsServiceImpl;
|
import com.ruoyi.tfa.phone.service.Impl.DySmsServiceImpl;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -18,7 +20,7 @@ import com.ruoyi.tfa.phone.service.Impl.DySmsServiceImpl;
|
|||||||
* @date 2024-04-16
|
* @date 2024-04-16
|
||||||
*/
|
*/
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/tfa/phone")
|
@RequestMapping("/auth/phone")
|
||||||
public class DySmsAuthController extends BaseController {
|
public class DySmsAuthController extends BaseController {
|
||||||
@Autowired
|
@Autowired
|
||||||
public DySmsServiceImpl dySmsService;
|
public DySmsServiceImpl dySmsService;
|
||||||
@ -34,4 +36,18 @@ public class DySmsAuthController extends BaseController {
|
|||||||
dySmsService.doBindVerify(loginBody);
|
dySmsService.doBindVerify(loginBody);
|
||||||
return success();
|
return success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/send/register")
|
||||||
|
@Anonymous
|
||||||
|
public AjaxResult sendRegister(@RequestBody RegisterBody registerBody) {
|
||||||
|
dySmsService.doRegister(registerBody);
|
||||||
|
return success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/verify/register")
|
||||||
|
@Anonymous
|
||||||
|
public AjaxResult verifyRegister(@RequestBody RegisterBody registerBody) {
|
||||||
|
dySmsService.doRegisterVerify(registerBody);
|
||||||
|
return success();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -43,6 +43,7 @@ public class DySmsServiceImpl implements DySmsService {
|
|||||||
private TokenService tokenService;
|
private TokenService tokenService;
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(DySmsServiceImpl.class);
|
private static final Logger log = LoggerFactory.getLogger(DySmsServiceImpl.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean sendCode(String phone, String code, OauthVerificationUse use) {
|
public boolean sendCode(String phone, String code, OauthVerificationUse use) {
|
||||||
if (CacheUtils.hasKey(CacheConstants.PHONE_CODES, use.getValue() + phone)) {
|
if (CacheUtils.hasKey(CacheConstants.PHONE_CODES, use.getValue() + phone)) {
|
||||||
@ -66,8 +67,10 @@ public class DySmsServiceImpl implements DySmsService {
|
|||||||
if (StringUtils.isEmpty(code))
|
if (StringUtils.isEmpty(code))
|
||||||
return false;
|
return false;
|
||||||
String cachedCode = CacheUtils.get(CacheConstants.PHONE_CODES, use.getValue() + phone, String.class); // 从缓存中获取验证码
|
String cachedCode = CacheUtils.get(CacheConstants.PHONE_CODES, use.getValue() + phone, String.class); // 从缓存中获取验证码
|
||||||
|
boolean isValid = code.equals(cachedCode);
|
||||||
|
if (isValid)
|
||||||
CacheUtils.remove(CacheConstants.PHONE_CODES, use.getValue() + phone);
|
CacheUtils.remove(CacheConstants.PHONE_CODES, use.getValue() + phone);
|
||||||
return code.equals(cachedCode);
|
return isValid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void doLogin(LoginBody loginBody, boolean isRegister) {
|
public void doLogin(LoginBody loginBody, boolean isRegister) {
|
||||||
@ -113,6 +116,7 @@ public class DySmsServiceImpl implements DySmsService {
|
|||||||
if (checkCode(registerBody.getPhonenumber(), registerBody.getCode(), OauthVerificationUse.REGISTER)) {
|
if (checkCode(registerBody.getPhonenumber(), registerBody.getCode(), OauthVerificationUse.REGISTER)) {
|
||||||
SysUser sysUser = new SysUser();
|
SysUser sysUser = new SysUser();
|
||||||
sysUser.setUserName(registerBody.getPhonenumber());
|
sysUser.setUserName(registerBody.getPhonenumber());
|
||||||
|
sysUser.setNickName(registerBody.getUsername());
|
||||||
sysUser.setPassword(SecurityUtils.encryptPassword(registerBody.getPassword()));
|
sysUser.setPassword(SecurityUtils.encryptPassword(registerBody.getPassword()));
|
||||||
sysUser.setPhonenumber(registerBody.getPhonenumber());
|
sysUser.setPhonenumber(registerBody.getPhonenumber());
|
||||||
return userService.registerUser(sysUser);
|
return userService.registerUser(sysUser);
|
||||||
|
@ -11,6 +11,7 @@ import com.aliyun.tea.TeaException;
|
|||||||
import com.aliyun.teaopenapi.models.Config;
|
import com.aliyun.teaopenapi.models.Config;
|
||||||
import com.aliyun.teautil.Common;
|
import com.aliyun.teautil.Common;
|
||||||
import com.aliyun.teautil.models.RuntimeOptions;
|
import com.aliyun.teautil.models.RuntimeOptions;
|
||||||
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||||
import com.ruoyi.tfa.phone.config.DySmsConfig;
|
import com.ruoyi.tfa.phone.config.DySmsConfig;
|
||||||
import com.ruoyi.tfa.phone.enums.DySmsTemplate;
|
import com.ruoyi.tfa.phone.enums.DySmsTemplate;
|
||||||
@ -67,9 +68,10 @@ public class DySmsUtil {
|
|||||||
// 复制代码运行请自行打印 API 的返回值
|
// 复制代码运行请自行打印 API 的返回值
|
||||||
SendSmsResponse sendSmsResponse = client.sendSmsWithOptions(sendSmsRequest, new RuntimeOptions());
|
SendSmsResponse sendSmsResponse = client.sendSmsWithOptions(sendSmsRequest, new RuntimeOptions());
|
||||||
if (sendSmsResponse.getBody().getCode().equals("OK")) {
|
if (sendSmsResponse.getBody().getCode().equals("OK")) {
|
||||||
logger.info("短信接口返回的数据---", sendSmsResponse.getBody().getMessage());
|
logger.info("短信接口返回的数据--- {}", sendSmsResponse.getBody().getMessage());
|
||||||
} else {
|
} else {
|
||||||
logger.error("短信接口返回的数据---", sendSmsResponse.getBody().getMessage());
|
logger.error("短信接口返回的数据--- {}", sendSmsResponse.getBody().getMessage());
|
||||||
|
throw new ServiceException(sendSmsResponse.getBody().getMessage());
|
||||||
}
|
}
|
||||||
} catch (TeaException error) {
|
} catch (TeaException error) {
|
||||||
// 错误 message
|
// 错误 message
|
||||||
@ -77,13 +79,6 @@ public class DySmsUtil {
|
|||||||
// 诊断地址
|
// 诊断地址
|
||||||
System.out.println(error.getData().get("Recommend"));
|
System.out.println(error.getData().get("Recommend"));
|
||||||
Common.assertAsString(error.message);
|
Common.assertAsString(error.message);
|
||||||
} catch (Exception _error) {
|
|
||||||
TeaException error = new TeaException(_error.getMessage(), _error);
|
|
||||||
// 错误 message
|
|
||||||
System.out.println(error.getMessage());
|
|
||||||
// 诊断地址
|
|
||||||
System.out.println(error.getData().get("Recommend"));
|
|
||||||
Common.assertAsString(error.message);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user