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:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
Reference in New Issue
Block a user