refactor(auth):重构认证模块并增强验证机制

- 重命名并调整 DTO 类结构,将 LoginRequest 和 RegisterRequest 迁移至 request 包- 引入 AuthLoginRequest 和 AuthRegisterRequest 并添加字段验证注解
- 更新 AuthController 使用新的 DTO 并增加 @Valid 参数校验
- 修改 AuthService 接口及实现类,接收 User 实体而非 RegisterRequest
- 添加全局异常处理器 GlobalExceptionHandler 处理参数校验和业务异常
- 新增 ErrorCode 枚举统一管理错误码和消息
- 引入 UserConverter 组件用于 DTO 到实体的转换
- 增强用户注册与登录逻辑,完善异常处理和错误提示
- 移除旧的 BadCredentialsException 捕获逻辑
- 调整 pom.xml 添加 spring-boot-starter-validation 和相关依赖
- 更新 User 实体类,添加完整字段映射和角色关联配置
- 新增 UserInfoService 及其实现,提供用户管理和密码设置功能
-优化 UserMapper 查询方法,支持联表查询用户及其角色信息
- 删除无用的 HLSController 控制器
- 完善 ImageController 文件上传逻辑并更新响应结构
- 添加用户名和密码格式验证工具类 PasswordValidate 和 UsernameValidate
This commit is contained in:
Chaos
2025-11-18 16:44:43 +08:00
parent a22a369afa
commit 8fc7f6554d
33 changed files with 568 additions and 95 deletions

View File

@@ -1,6 +1,8 @@
package cn.nopj.chaos_api.service;
import cn.nopj.chaos_api.dto.response.FileUploadResponse;
import java.io.InputStream;
public interface ImageService {
@@ -11,5 +13,5 @@ public interface ImageService {
* @param content 文件内容
* @return 文件路径
*/
String uploadImage(String fileName, InputStream content);
FileUploadResponse uploadImage(String fileName, InputStream content);
}

View File

@@ -0,0 +1,37 @@
package cn.nopj.chaos_api.service;
import cn.nopj.chaos_api.dto.response.UserinfoResponse;
import jakarta.validation.constraints.Pattern;
import java.util.List;
/**
* 用户信息服务
*
* @author nopj
*/
public interface UserInfoService {
/**
* 设置用户密码
*
* @param id 用户id
* @param password 密码
*/
void setUserPassword(Long id, String password);
/**
* 获取所有用户信息
*
* @return 所有用户信息
*/
List<UserinfoResponse> getAllUsers();
/**
* 设置用户密码
*
* @param userId 用户id
* @param password 密码
*/
void setUserPassword(@Pattern(regexp = "^[0-9]+$", message = "用户id格式错误") String userId, @Pattern(regexp = "^.{8,16}$", message = "密码长度需为8-16位") String password);
}