JAVA全系列 教程
3762个小节阅读:7090.8k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
接下来我们修改注册方法,注册成功后,发送激活邮件:
在yml中配置项目路径
xxxxxxxxxx
# 项目路径
project:
path: http://localhost
修改MemberService
xxxxxxxxxx
// 注册
public Result register(Member member){
// 1.保存用户
// 验证用户名是否重复
QueryWrapper<Member> queryWrapper = new QueryWrapper();
queryWrapper.eq("username",member.getUsername());
List<Member> members = memberMapper.selectList(queryWrapper);
if (members.size() > 0){
return new Result(false,"用户名已存在");
}
// 验证手机是否重复
QueryWrapper<Member> queryWrapper1 = new QueryWrapper();
queryWrapper1.eq("phoneNum",member.getPhoneNum());
List<Member> members1 = memberMapper.selectList(queryWrapper1);
if (members1.size() > 0){
return new Result(false,"手机已存在");
}
// 验证邮箱是否重复
QueryWrapper<Member> queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("email",member.getEmail());
List<Member> members2 = memberMapper.selectList(queryWrapper2);
if (members2.size() > 0){
return new Result(false,"邮箱已存在");
}
// 加密密码
String password = member.getPassword();
password = encoder.encode(password);
member.setPassword(password);
// 设置用户状态为false
member.setActive(false);
// 2.发送激活邮件
// 生成激活码
String activeCode = UUID.randomUUID().toString();
// 给用户的邮箱发送一封邮件,该邮件包含一个链接,链接中包含激活码
String activeUrl = projectPath+"/frontdesk/member/active?activeCode="+activeCode;
String text = "恭喜您注册成功!<a href = '"+activeUrl+"'>点击激活</a>完成账号认证";
mailUtils.sendMail(member.getEmail(),text,"旅游网激活邮件");
// 保存激活码,激活时比对
member.setActiveCode(activeCode);
// 保存用户
memberMapper.insert(member);
return new Result(true,"注册成功!");
}
测试注册方法