forked from qq1244/java-beta
This branch is 1 commit behind qq1244/java-beta:master
…
…
…
智慧餐厅管理系统后端
这是一个基于Spring Boot + MyBatis-Plus构建的智慧餐厅管理系统后端API,为餐厅提供了包括用户端、分店端和管理后台在内的全方位解决方案。项目采用前后端分离的设计思想,后端负责提供统一的RESTful API接口。
主要功能
- 用户端: 浏览分店、在线点餐、扫码支付、发表评价。
- 分店端: 菜品管理、订单处理、数据统计、评论管理、实时聊天。
- 管理后台: 账户管理、分店信息管理、全局菜品信息管理。
技术栈
技术 | 说明 | 版本 |
---|---|---|
Spring Boot | 核心框架 | 3.5.0 |
Spring Security | 认证和授权框架 | (随Spring Boot) |
Spring WebFlux | 反应式Web框架 | (随Spring Boot) |
Spring WebSocket | WebSocket支持 | (随Spring Boot) |
MyBatis-Plus | 数据持久层框架 | 3.5.12 |
MySQL | 关系型数据库 | 8.0.26 |
Druid | 数据库连接池 | 1.2.18 |
JWT (jjwt) | Token认证 | 0.12.6 |
Lombok | 简化Java代码 | 1.18.36 |
Alipay SDK | 支付宝支付集成 | 4.39.40.ALL |
Apache POI | Excel文件操作 | 5.2.3 |
FastJSON | JSON处理库 | 2.0.31 |
Google Guava | Google核心库 | 31.1-jre |
Apache Commons Lang3 | 常用工具类 | 3.12.0 |
Amap Web API | 高德地图Web服务 | v3 |
Maven | 项目构建和管理 | 3.6+ |
项目结构
src/
├── main/
│ ├── java/com/example/javatest/
│ │ ├── JavaTestApplication.java # 主启动类
│ │ ├── config/ # 系统配置 (Security, Mybatis, CORS, WebSocket等)
│ │ ├── Controller/
│ │ │ ├── admin/ # 管理后台接口
│ │ │ ├── branch/ # 分店端接口
│ │ │ ├── login/ # 登录注册接口
│ │ │ └── user/ # 用户端接口
│ │ ├── Entity/ # 实体类
│ │ ├── Mapper/ # MyBatis Mapper接口
│ │ ├── Service/ # 业务逻辑服务
│ │ └── util/ # 工具类 (如JwtUtil)
│ └── resources/
│ ├── application.yml # 应用主配置文件
│ └── mapper/ # MyBatis XML映射文件
└── test/ # 测试代码
快速开始
1. 环境要求
- JDK 17+
- MySQL 8.0+
- Maven 3.6+
2. 数据库配置
- 在你的MySQL中创建一个名为
cg
的数据库 (或你偏好的其他名称)。 - 执行项目根目录下的
cg.sql
脚本,创建所需的表结构和初始化数据。 - 修改
src/main/resources/application.yml
中的数据库连接信息,确保与你的本地环境一致:
spring:
datasource:
url: jdbc:mysql://localhost:3306/cg # 替换为你的数据库URL
username: root # 替换为你的数据库用户名
password: 123456 # 替换为你的数据库密码
3. 运行项目
# 克隆项目
git clone <your-repo-url>
# 进入项目目录
cd java-beta
# 使用Maven安装依赖并运行 (推荐)
./mvnw spring-boot:run
项目成功启动后,默认服务端口为 8080
。
API接口文档
详细的API接口说明请参考项目中的文档:
餐厅管理系统实体类设计文档.md
- 暂未提供在线API文档,请参考Controller层代码。
功能特性
- ✅ 多角色支持: 内置用户、分店、管理员三种角色,权限分明。
- ✅ 认证授权: 基于Spring Security和JWT,保障接口安全。
- ✅ 实时通信: 集成WebSocket,支持分店与用户间的实时消息传递。
- ✅ CRUD操作: 提供完整的增删改查接口。
- ✅ 分页与筛选: 支持对列表数据进行分页和多条件查询。
- ✅ 在线支付: 集成支付宝SDK,支持在线下单支付。
- ✅ 数据统计: 为分店提供营业数据统计与分析功能。
- ✅ 逻辑删除: 关键数据使用逻辑删除,保证数据安全。
- ✅ 统一响应与异常处理: 全局统一的响应格式和异常处理机制。
Description
Languages
Java
100%