# chowNowtest **Repository Path**: xgyharmony/chowNowtest ## Basic Information - **Project Name**: chowNowtest - **Description**: 测试......... - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-23 - **Last Updated**: 2026-02-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ChowNow 订餐管理系统 ## 项目简介 ChowNow 是一个基于 Spring Boot 的订餐管理系统,提供完整的餐厅订餐管理功能,包括用户管理、菜品管理、座位管理、订单管理等模块。 ## 技术栈 - **后端框架**: Spring Boot 3.5.6 - **数据库**: MySQL 8.0+ - **ORM框架**: MyBatis 3.0.3 - **安全认证**: JWT Token - **构建工具**: Maven - **Java版本**: 17 ## 功能模块 ### 1. 用户管理模块 - 用户注册/登录 - 用户信息管理 - 角色权限控制 ### 2. 菜品管理模块 - 菜品分类管理 - 菜品信息管理 - 菜品推荐功能 ### 3. 座位管理模块 - 座位信息管理 - 座位状态管理 - 座位区域划分 ### 4. 订单管理模块 - 订单创建 - 订单状态管理 - 支付状态管理 - 订单统计 ## 快速开始 ### 环境要求 - JDK 17+ - MySQL 8.0+ - Maven 3.6+ ### 数据库配置 1. 创建数据库: ```sql CREATE DATABASE chownow DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 2. 执行初始化脚本: ```sql source src/main/resources/schema.sql ``` ### 配置文件 修改 `src/main/resources/application.properties` 中的数据库连接信息: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/chownow?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 spring.datasource.username=your_username spring.datasource.password=your_password ``` ### 运行项目 1. 使用 Maven 编译项目: ```bash mvn clean compile ``` 2. 运行项目: ```bash mvn spring-boot:run ``` 3. 访问应用: ``` http://localhost:8080 ``` ## API 接口文档 详细的API接口文档请参考 [API接口文档.md](API接口文档.md) 文件。 ### 接口架构说明 本系统采用用户端和商家端分离的API架构: - **用户端接口**:以 `/api/user/` 开头,供普通用户使用 - **商家端接口**:以 `/api/merchant/` 开头,供商家管理员使用 - **公共接口**:以 `/api/` 开头,无需认证或两端通用 ### 主要接口分类 #### 认证接口 - **用户登录**: POST `/api/auth/login` - **用户注册**: POST `/api/auth/register` - **商家注册申请**: POST `/api/auth/merchant-register` #### 用户端接口 - **用户信息管理**: `/api/user/profile` - **菜品浏览**: `/api/user/dishes` - **座位预订**: `/api/user/seats` - **订单管理**: `/api/user/orders` #### 商家端接口 - **商家信息管理**: `/api/merchant/profile` - **菜品管理**: `/api/merchant/dishes` - **座位管理**: `/api/merchant/seats` - **订单管理**: `/api/merchant/orders` - **数据统计**: `/api/merchant/statistics` ## 项目结构 ``` src/main/java/com/xgy/chownow/ ├── ChowNowApplication.java # 应用启动类 ├── common/ # 通用组件 │ ├── GlobalExceptionHandler.java # 全局异常处理 │ └── Result.java # 统一返回结果 ├── config/ # 配置类 │ ├── JwtInterceptor.java # JWT拦截器 │ └── WebConfig.java # Web配置 ├── controller/ # 控制器层 │ ├── AuthController.java # 认证控制器 │ ├── CategoryController.java # 分类控制器 │ ├── DishController.java # 菜品控制器 │ ├── OrderController.java # 订单控制器 │ └── SeatController.java # 座位控制器 ├── dto/ # 数据传输对象 │ ├── UserLoginDTO.java # 用户登录DTO │ └── UserRegisterDTO.java # 用户注册DTO ├── entity/ # 实体类 │ ├── Category.java # 分类实体 │ ├── Dish.java # 菜品实体 │ ├── Order.java # 订单实体 │ ├── OrderItem.java # 订单项实体 │ ├── Seat.java # 座位实体 │ └── User.java # 用户实体 ├── mapper/ # 数据访问层 │ ├── CategoryMapper.java # 分类Mapper │ ├── DishMapper.java # 菜品Mapper │ ├── OrderMapper.java # 订单Mapper │ ├── OrderItemMapper.java # 订单项Mapper │ ├── SeatMapper.java # 座位Mapper │ └── UserMapper.java # 用户Mapper ├── service/ # 业务逻辑层 │ ├── CategoryService.java # 分类服务 │ ├── DishService.java # 菜品服务 │ ├── OrderService.java # 订单服务 │ ├── SeatService.java # 座位服务 │ └── UserService.java # 用户服务 └── util/ # 工具类 ├── JwtUtil.java # JWT工具 └── PasswordUtil.java # 密码工具 ``` ## 默认数据 系统初始化时会自动创建以下默认数据: ### 商家管理员账户 - 用户名: `merchant` - 密码: `123456` - 邮箱: `merchant@chownow.com` ### 菜品分类 - 热菜、凉菜、汤类、主食、饮品 ### 默认菜品 - 宫保鸡丁、麻婆豆腐、凉拌黄瓜、西红柿鸡蛋汤、扬州炒饭、可乐 ### 默认座位 - A01、A02、B01、B02、C01 ## 开发说明 ### 代码规范 - 使用 Lombok 减少样板代码 - 统一使用 Result 类作为 API 返回格式 - 使用 JWT 进行身份认证 - 使用 MyBatis 注解方式编写 SQL ### 异常处理 系统使用全局异常处理器 `GlobalExceptionHandler` 统一处理异常,返回统一的错误格式。 ### 安全配置 - 使用 JWT Token 进行身份认证 - 配置 CORS 跨域支持 - 密码使用 BCrypt 加密存储 ## 许可证 本项目仅用于学习交流,请勿用于商业用途。