feat: 初始化 Spring Boot 项目模板,搭建完整的用户认证与管理系统
- 新增项目基础配置:pom.xml 依赖管理、多环境配置(dev/prod)、Dockerfile、.env.example - 新增安全认证模块:JWT 工具类、JWT 过滤器、Spring Security 配置、自定义 UserDetails - 新增用户管理功能:注册/登录/查询/修改、角色管理(USER/ADMIN/ROOT)、分页查询、状态启禁用 - 新增密码重置功能:邮箱验证码发送、验证码校验重置、频率限制与过期机制 - 新增基础架构层:统一响应体 RestBean、全局异常处理、日志拦截器、Redis 工具类、JPA 配置 - 新增 Swagger/OpenAPI 文档配置与完整的 API 接口文档(API_DOCUMENT.md) - 新增数据库初始化 SQL 脚本(init.sql)
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
package com.aisi.template.service.impl;
|
||||
|
||||
import com.aisi.template.service.EmailService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.mail.SimpleMailMessage;
|
||||
import org.springframework.mail.javamail.JavaMailSender;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class EmailServiceImpl implements EmailService {
|
||||
|
||||
private final JavaMailSender mailSender;
|
||||
|
||||
@Value("${spring.mail.username}")
|
||||
private String from;
|
||||
|
||||
@Value("${app.password-reset.code-expire-minutes:10}")
|
||||
private Integer expireMinutes;
|
||||
|
||||
@Override
|
||||
public void sendPasswordResetCode(String email, String code) {
|
||||
SimpleMailMessage message = new SimpleMailMessage();
|
||||
message.setFrom(from);
|
||||
message.setTo(email);
|
||||
message.setSubject("密码找回验证码");
|
||||
message.setText("""
|
||||
您正在进行密码找回操作。
|
||||
|
||||
验证码:%s
|
||||
有效期:%d 分钟
|
||||
|
||||
如果这不是您的操作,请忽略此邮件。
|
||||
""".formatted(code, expireMinutes));
|
||||
mailSender.send(message);
|
||||
log.info("已发送密码找回验证码到邮箱: {}", email);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user