feat(登录): 实现用户登录功能及相关模块
- 添加LoginController处理登录请求 - 实现UserLoginService登录逻辑,包括角色和权限验证 - 新增LoginRequest和LoginUser DTO - 在UsersService中添加登录方法 - 添加RoleInitializer初始化系统角色 - 更新项目结构文档 - 临时禁用Spring Security配置
This commit is contained in:
63
src/main/java/com/qf/backend/config/RoleInitializer.java
Normal file
63
src/main/java/com/qf/backend/config/RoleInitializer.java
Normal file
@@ -0,0 +1,63 @@
|
||||
package com.qf.backend.config;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.qf.backend.entity.Roles;
|
||||
import com.qf.backend.service.RolesService;
|
||||
|
||||
import jakarta.annotation.PostConstruct;
|
||||
|
||||
/**
|
||||
* 角色初始化配置类,用于在系统启动时创建内置角色
|
||||
* @author 30803
|
||||
*/
|
||||
@Component
|
||||
public class RoleInitializer {
|
||||
private static final Logger logger = LoggerFactory.getLogger(RoleInitializer.class);
|
||||
|
||||
@Autowired
|
||||
private RolesService rolesService;
|
||||
|
||||
/**
|
||||
* 系统启动时初始化内置角色
|
||||
*/
|
||||
@PostConstruct
|
||||
public void initRoles() {
|
||||
logger.info("开始初始化内置角色...");
|
||||
|
||||
// 定义内置角色信息
|
||||
String[][] roleInfos = {
|
||||
{"用户", "默认用户角色", "0"}, // roleType: 0-默认用户
|
||||
{"店主", "店铺管理员角色", "1"}, // roleType: 1-店主
|
||||
{"管理员", "系统管理员角色", "2"} // roleType: 2-管理员
|
||||
};
|
||||
|
||||
for (String[] roleInfo : roleInfos) {
|
||||
String roleName = roleInfo[0];
|
||||
String description = roleInfo[1];
|
||||
Integer roleType = Integer.parseInt(roleInfo[2]);
|
||||
|
||||
// 检查角色是否已存在
|
||||
Roles existingRole = rolesService.getOne(new QueryWrapper<Roles>().eq("role_name", roleName));
|
||||
if (existingRole == null) {
|
||||
// 创建新角色
|
||||
Roles role = new Roles();
|
||||
role.setRoleName(roleName);
|
||||
role.setDescription(description);
|
||||
role.setRoleType(roleType);
|
||||
role.setStatus(1); // 启用状态
|
||||
|
||||
rolesService.save(role);
|
||||
logger.info("成功创建内置角色: {}", roleName);
|
||||
} else {
|
||||
logger.info("内置角色 {} 已存在,跳过创建", roleName);
|
||||
}
|
||||
}
|
||||
|
||||
logger.info("内置角色初始化完成");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user