# fault-system **Repository Path**: xd_gitee/fault-system ## Basic Information - **Project Name**: fault-system - **Description**: 项目模板 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-10 - **Last Updated**: 2026-03-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Fault System - 系统权限管理 > 模板系统:easycode 生成模板 docs/EasyCodeConfig.json 基于 Spring Boot 4.x + MyBatis-Plus 的系统权限管理系统,提供用户管理、角色管理、权限管理等核心功能。 ## 📋 技术栈 ### 后端框架 - **Spring Boot**: 4.0.3 - **Java**: 17 - **MyBatis-Plus**: 3.5.15 - **MySQL**: 8.x - **Lombok**: 简化代码 - **SpringDoc OpenAPI**: 2.5.0 (Swagger UI) ### 主要依赖 - Spring Boot Starter WebMVC - Spring Boot Starter Validation - Spring Boot Starter JDBC - MySQL Connector J 8.3.0 - MyBatis-Plus Spring Boot 4 Starter ## 🚀 快速开始 ### 环境要求 - JDK 17+ - Maven 3.6+ - MySQL 8.0+ ### 数据库初始化 1. 创建数据库 ```sql CREATE DATABASE IF NOT EXISTS `fault-system` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 2. 执行初始化脚本 - 运行 `docs/init.sql` 创建表结构和初始数据 - 默认管理员账号:`admin` / 密码:`123456` ### 配置说明 编辑 `src/main/resources/application.yaml`: ```yaml spring: datasource: username: root # 修改为你的数据库用户名 password: 123456 # 修改为你的数据库密码 url: jdbc:mysql://localhost:3306/fault-system?useSSL=false&serverTimezone=Asia/Shanghai server: port: 8080 # 修改为需要的端口号 ``` ### 启动项目 ```bash # Windows mvnw.cmd spring-boot:run # Linux/Mac ./mvnw spring-boot:run # 或者打包后运行 mvn clean package java -jar target/fault-system-0.0.1-SNAPSHOT.jar ``` 启动成功后访问: - **应用接口**: http://localhost:8080 - **Swagger API 文档**: http://localhost:8080/swagger-ui.html ## 📁 项目结构 ``` fault-system/ ├── src/main/java/com/xd/faultsystem/ │ ├── common/ # 通用模块 │ │ ├── Result.java # 统一返回结果 │ │ ├── ResultCodeEnum.java # 响应状态码枚举 │ │ ├── IdListDto.java # ID 列表 DTO │ │ ├── PageDto.java # 分页请求 DTO │ │ ├── PageResult.java # 分页返回结果 │ │ ├── IstormBeanUtils.java # Bean 拷贝工具类 │ │ └── LocalDateTimeConverter # 时间转换器 │ ├── user/ # 用户模块 │ │ ├── controller/ │ │ ├── dto/ │ │ ├── mapper/ │ │ ├── po/ # 持久化对象 │ │ ├── service/ │ │ └── vo/ # 视图对象 │ ├── role/ # 角色模块 │ │ ├── controller/ │ │ ├── dto/ │ │ ├── mapper/ │ │ ├── po/ │ │ ├── service/ │ │ └── vo/ │ ├── permission/ # 权限模块(待完善) │ ├── config/ # 配置类 │ └── FaultSystemApplication.java # 启动类 ├── src/main/resources/ │ ├── mapper/ # MyBatis XML 映射文件 │ └── application.yaml # 配置文件 ├── docs/ │ ├── init.sql # 数据库初始化脚本 │ └── 项目缺陷.md # 项目说明文档 └── pom.xml # Maven 配置 ``` ## 🔑 核心功能 ### 1. 用户管理 - 用户增删改查 - 分页查询 - 批量删除 ### 2. 角色管理 - 角色增删改查 - 分页查询 - 批量删除(物理删除) ### 3. 权限管理 - 权限表设计完成(待实现业务逻辑) ### 4. 用户 - 角色关联 - 支持多角色绑定 - 批量解绑 ### 5. 角色 - 权限关联 - 动态分配权限 - 权限控制 ## 📊 数据库设计 ### 核心表 - `sys_user`: 系统用户表 - `sys_role`: 系统角色表 - `sys_permission`: 系统权限表 - `sys_user_role`: 用户 - 角色关联表 - `sys_role_permission`: 角色 - 权限关联表 详细表结构请查看 `docs/init.sql` ## 🔧 开发指南 ### 统一返回格式 所有接口使用 `Result` 统一返回: ```java { "code": 200, "msg": "操作成功", "data": { ... }, "timestamp": 1741567890000 } ``` ### 常用方法 ```java // 成功返回 Result.success(data); Result.success("消息", data); // 失败返回 Result.error("错误消息"); Result.error(400, "参数错误"); Result.error(ResultCodeEnum.PARAM_ERROR); ``` ### Swagger 注解规范 项目使用 SpringDoc OpenAPI 3.0,替换规则: swagger地址: [Swagger UI](http://localhost:8080/swagger-ui/index.html) | 作用 | SpringDoc 注解 | 旧版 Springfox | |------|---------------|---------------| | 标记控制器 | `@Tag(name="", description="")` | `@Api(tags="")` | | 标记方法 | `@Operation(summary="", description="")` | `@ApiOperation(value="", notes="")` | | 标记参数 | `@Parameter(description="")` | `@ApiParam(value="")` | | 标记响应 | `@ApiResponses({@ApiResponse(...)})` | `@ApiResponses` | ## ⚠️ 注意事项 1. **时间格式**: 全局使用 `yyyy-MM-dd HH:mm:ss` 格式 2. **时区**: 已配置为 `GMT+8`(亚洲/上海) 3. **数据库**: 必须使用 MySQL 8.0+ 4. **编码**: 数据库字符集为 `utf8mb4` 5. **删除方式**: 角色管理使用物理删除(直接删除数据) ## 📝 待完善功能 根据 `docs/项目缺陷.md` 记录: - [ ] 统一异常处理机制 - [ ] Permission 模块业务实现 - [ ] 用户 - 角色绑定接口 - [ ] 角色 - 权限分配接口 - [ ] 登录认证与授权 ## 📄 License 本项目仅供学习和内部使用 ## 👨‍💻 开发者 XD - 系统管理员