功能(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

@@ -42,4 +42,12 @@ public interface UserInfoService {
* @param newUsername 新用户名
*/
void updateUsername(String username, String newUsername);
/**
* 根据用户名查询用户信息
*
* @param username 用户名
* @return 用户信息
*/
UserinfoResponse findUserWithRoles(String username);
}

View File

@@ -0,0 +1,23 @@
package cn.nopj.chaos_api.service;
import cn.nopj.chaos_api.dto.request.SetUserRoleRequest;
import java.util.List;
/**
* 用户角色服务
*/
public interface UserRoleService {
/**
* 为用户设置角色
* @param userId 用户id
* @param roles_id 角色id组
*/
void setUserRole(Long userId, List<Long> roles_id);
/**
* 为用户设置角色
* @param request 请求参数
*/
void setUserRole(SetUserRoleRequest request);
}