# app-backend **Repository Path**: kikolove/app-backend ## Basic Information - **Project Name**: app-backend - **Description**: app-backend - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-28 - **Last Updated**: 2026-01-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # app-backend 基于 RuoYi 框架开发的应用程序后端服务。本项目是一个成熟的企业级权限管理系统,集成了用户管理、角色管理、系统监控等核心功能,并扩展了订单管理、支付管理和优惠券管理等业务模块。 ## 项目简介 app-backend 是一个基于 Spring Boot 2.7 构建的现代化后台管理系统。它在 RuoYi 框架的基础上,扩展了针对特定业务场景(如司机订单、支付流水、优惠券)的管理能力。系统采用了前后端分离的架构,后端提供 RESTful API,前端使用 Vue.js 构建(配套前端项目为 ruoyi-ui)。 ### 核心特性 * **完善的权限管理**:基于 RBAC (Role-Based Access Control) 模型,支持用户、角色、菜单、按钮权限的动态管理。 * **丰富的业务模块**:内置用户管理、角色管理、部门管理、字典管理等系统功能,并扩展了订单、支付、优惠券等业务模块。 * **系统监控与日志**:提供操作日志、登录日志、服务监控、在线用户、缓存监控等运维功能。 * **代码生成器**:支持根据数据库表结构自动生成前后端代码,提高开发效率。 * **安全机制**:集成 Spring Security 与 JWT Token,支持验证码、密码加密、登录限制等安全策略。 ## 技术栈 * **核心框架**:Spring Boot 2.7 * **安全框架**:Spring Security 5 & JWT * **持久层**:MyBatis Plus (兼容 MyBatis) * **连接池**:Alibaba Druid * **缓存**:Redis * **数据库**:MySQL (支持多种数据库) * **定时任务**:Quartz * **接口文档**:Swagger (Knife4j) ## 项目结构 ``` app-backend ├── ruoyi-admin # 后台管理应用入口,包含核心控制器和视图控制器 ├── ruoyi-common # 公共模块,封装工具类、注解、异常处理、通用对象等 ├── ruoyi-framework # 框架核心模块,包含安全配置、数据源配置、AOP切面等 ├── ruoyi-quartz # 定时任务模块 ├── ruoyi-generator # 代码生成器模块 ├── ruoyi-system # 系统业务模块,包含用户、角色、订单、支付等核心业务逻辑 └── ruoyi-ui # 前端 Vue 项目 (独立目录) ``` ### 模块详解 * **ruoyi-admin**: 项目的启动类 (`RuoYiApplication`) 所在模块,包含 REST 控制器,处理前端 HTTP 请求。 * **ruoyi-system**: 核心业务服务层。 * **系统管理**:用户 (`SysUser`)、角色 (`SysRole`)、部门 (`SysDept`)、菜单 (`SysMenu`)、配置 (`SysConfig`)、字典 (`SysDict`)、公告 (`SysNotice`)。 * **业务扩展**: * **司机订单** (`SysDriverOrder`): 管理订单全生命周期。 * **支付管理** (`SysPayment`): 处理支付流水与状态。 * **优惠券** (`SysCoupon`): 发放与管理优惠券。 * **ruoyi-framework**: * **安全服务**: `TokenService` (JWT 令牌服务), `SysLoginService` (登录服务), `PermissionService` (权限校验)。 * **数据源**: `DynamicDataSource` (支持主从数据库切换)。 * **切面**: `LogAspect` (操作日志记录), `DataScopeAspect` (数据权限拦截)。 ## 快速开始 ### 环境要求 * JDK 1.8+ * Maven 3.0+ * MySQL 5.7+ / 8.0+ * Redis 3.0+ ### 数据库配置 1. 创建数据库 `ry-vue` 或自定义名称。 2. 执行 SQL 脚本初始化数据库(通常位于 `sql/` 目录下,包含 `quartz.sql`, `ry_2022xxxx.sql` 等)。 3. 修改 `ruoyi-admin/src/main/resources/application-druid.yml` 中的数据库连接配置。 ### Redis 配置 确保本地或服务器已启动 Redis 服务,并修改配置文件中的 Redis 连接地址。 ### 编译与运行 ```bash # 1. 克隆项目 (如果尚未克隆) git clone https://gitee.com/kikolove/app-backend.git # 2. 进入项目目录 cd app-backend # 3. 编译项目 mvn clean install -DskipTests # 4. 启动服务 (ruoyi-admin 为启动入口) # 方式一:直接运行 main 方法 # 在 IDE 中运行 RuoYiApplication.main() # 方式二:打包后运行 cd ruoyi-admin/target java -jar ruoyi-admin.jar ``` ### 访问系统 服务启动后,访问 `http://localhost:8080` (默认端口) 进入登录页。 * **默认账号**:admin / 123456 (首次登录后建议立即修改) * **Swagger 接口文档**:`http://localhost:8080/swagger-ui.html` ## 主要功能说明 ### 系统管理 * **用户管理**:管理系统用户账号,支持增删改查、重置密码、分配角色。 * **角色管理**:配置角色权限,支持数据权限范围配置(如:所在部门及子部门)。 * **菜单管理**:配置系统路由、按钮权限标识。 * **部门管理**:配置组织架构(公司、部门)。 * **参数配置**:动态配置系统参数(如:验证码开关、文件上传限制)。 ### 业务管理 (扩展模块) * **订单管理**:提供 `api/order` 接口,用于查询、导出、增删改司机订单信息。 * **支付管理**:提供 `api/payment` 接口,管理支付单据、支付金额及支付状态。 * **优惠券管理**:提供 `api/coupon` 接口,管理优惠券的发放与核销。 ### 监控运维 * **操作日志**:记录用户关键操作。 * **登录日志**:记录登录 IP、时间、浏览器等信息。 * **服务监控**:查看服务器 CPU、内存、磁盘、JVM 使用情况。 * **在线用户**:查看当前登录用户,支持强制下线。 ## 许可证 本项目基于 [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0) 协议开源。 ## 致谢 感谢 RuoYi 框架提供的优秀底层架构支持。