功能(auth):实现用户注册并分配默认角色

- 添加AppConfig类以启用事务管理
- 在application.yaml中配置默认角色代码
- 在AuthServiceImpl中注入RoleMapper和defRoleCode
- 在注册过程中为新用户分配默认角色
- 添加用户注册和登录事件的日志记录
- 在登录过程中处理异常并进行适当的错误日志记录
- 创建用户、角色、权限及关联关系的数据库表
- 添加用户角色实体类和用户-角色关系映射器
- 实现用户角色服务以管理用户角色分配
- 添加通过SetUserRoleRequest设置用户角色的API端点
- 更新用户实体类并添加适当的字段和注解
- 实现包含角色信息的用户信息查询方法
- 将用户转换逻辑重构为可复用方法
- 为SetUserRoleRequest DTO添加校验约束}```
This commit is contained in:
Chaos
2025-11-20 17:19:52 +08:00
parent f3f92b52b8
commit e46b820fca
18 changed files with 411 additions and 34 deletions

View File

@@ -32,6 +32,8 @@ public enum ErrorCode {
USER_UPDATE_USERNAME_FAILED(400,"USER-111" , "用户名更新失败"),
ROLE_ID_INVALID(400, "ROLE-100" , "角色ID无效" ),
// ================== 论坛内容相关 (200-299) ==================
POST_NOT_FOUND(404, "POST-201", "帖子不存在"),
POST_DELETED(410, "POST-202", "帖子已被删除"),
@@ -45,7 +47,7 @@ public enum ErrorCode {
CAPTCHA_ERROR(400, "SYS-301", "验证码错误"),
SMS_SEND_FAILED(500, "SYS-302", "短信发送失败"),
FILE_UPLOAD_FAILED(500, "SYS-303", "文件上传失败"),
RATE_LIMIT_EXCEEDED(429, "SYS-304", "操作过于频繁");
RATE_LIMIT_EXCEEDED(429, "SYS-304", "操作过于频繁"),;
private final int httpStatus;
private final String code; // 业务错误码(领域-编号)

View File

@@ -15,8 +15,6 @@ public class UserConverter {
user.setAccountNonExpired(true);
user.setCredentialsNonExpired(true);
user.setAccountNonLocked(true);
user.setCreateTime(java.time.LocalDateTime.now());
user.setUpdateTime(java.time.LocalDateTime.now());
return user;
}
}