# take-out-manage **Repository Path**: sduwmj/take-out-manage ## Basic Information - **Project Name**: take-out-manage - **Description**: 外卖管理系统。有web应用和小程序两个版本。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-29 - **Last Updated**: 2025-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 外卖管理平台 ## 项目简介 这是一个基于Spring Boot的外卖管理平台,包含商家后台管理和用户端功能。系统实现了菜品管理、套餐管理、订单处理、用户管理、数据统计等外卖平台核心功能。 开发这个项目的目的是熟悉Java开发流程,并且掌握基本的项目优化和测试方法。 ## 技术架构 - 基础框架:Spring Boot - 数据访问:MyBatis + MySQL - 安全认证:JWT - 文件存储:阿里云OSS - 支付集成:微信支付 - 异常处理:全局异常处理器 - 数据格式:统一返回结果封装 ## 主要模块 ### 管理端功能 - **员工管理**:包括员工登录、权限管理、信息维护 - **菜品管理**:菜品分类、菜品信息维护、上下架管理 - **套餐管理**:套餐配置、关联菜品、状态管理 - **订单处理**:订单状态更新、订单详情查看、订单统计 - **数据统计**:营业额统计、订单分析、销售排行 ### 用户端功能 - **用户登录**:微信授权登录 - **购物车**:菜品/套餐加入购物车 - **下单支付**:订单提交、微信支付集成 - **订单追踪**:订单状态查看 ## 核心技术点 - 统一结果返回封装(Result类) - 全局异常处理(GlobalExceptionHandler) - JWT权限验证(JwtTokenAdminInterceptor) - 数据自动填充(AutoFillConstant) - 微信支付集成(WeChatPayUtil) - 阿里云OSS文件上传(AliOssUtil) ## 开发规范 - 统一使用Lombok简化POJO代码 - 使用Swagger2生成API文档 - 所有数据库操作使用MyBatis XML映射 - 业务异常统一继承BaseException - 数据传输对象(DTO)与实体对象(Entity)分离 ## 部署要求 - JDK 1.8+ - MySQL 5.7+ - Redis 3.0+ - Maven 3.0+ ## 项目结构 ``` sky-server ├── controller # 控制器层 ├── service # 服务接口 ├── service.impl # 服务实现 ├── mapper # 数据访问接口 ├── handler # 异常处理器 ├── interceptor # 拦截器 ├── config # 配置类 └── entity # 实体类 ``` ## 使用说明 1. 配置application.yml数据库连接信息 2. 初始化sky.sql数据库脚本 3. 启动SkyApplication 4. 通过/swagger-ui.html访问API文档 ## 注意事项 - 敏感信息(如微信支付密钥)需要根据实际环境配置 - 文件上传功能需要配置阿里云OSS参数 - JWT令牌有效期可在配置文件中调整 - 生产环境需要关闭dev profile配置 ## 许可证 本项目采用Apache 2.0许可证,详情请参阅LICENSE文件。