note/work/教育E卡通/数币应用/详细设计.md
2025-11-19 10:16:05 +08:00

173 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### 立达中学食堂系统详细设计
#### 一、系统架构设计
1. **整体架构**
- 系统采用B/S架构分为前端、后端和数据库三层结构。
- 前端负责用户界面的展示和交互,后端负责业务逻辑的处理和数据存储。
2. **技术选型**
- 前端Vue.jsHTML5CSS3JavaScript
- 后端Spring BootJava
- 数据库MySQL
- 服务器LinuxNginx
#### 二、数据库设计
1. **数据库选型**
- 采用MySQL数据库具有高效性、可靠性和可扩展性。
2. **数据库表设计**
**用户表users**
- id主键自增
- username用户名唯一
- password密码哈希加密
- role角色学生、教职工、管理员
- email邮箱地址
- phone联系电话
**菜品表dishes**
- id主键自增
- name菜品名称
- price价格
- description描述
- image_url图片地址
**库存表inventory**
- id主键自增
- item_name食材名称
- quantity数量
- unit单位
- threshold预警阈值
**订单表orders**
- id主键自增
- user_id用户ID外键
- dish_id菜品ID外键
- quantity数量
- total_price总价
- order_date订单日期
**采购表purchases**
- id主键自增
- item_name食材名称
- quantity数量
- unit_price单价
- supplier供应商
- purchase_date采购日期
#### 三、前端设计
1. **用户界面**
- **首页**:显示系统简介、导航栏,登录/注册按钮。
- **菜品列表**:展示每日菜品,包含名称、价格、图片等信息。
- **订单管理**:用户查看历史订单、当前订单状态。
- **个人信息**:用户查看和修改个人信息。
2. **管理员界面**
- **用户管理**:管理员查看、添加、修改、删除用户信息。
- **菜品管理**:管理员管理菜品信息,包括添加、修改、删除。
- **库存管理**:管理员查看库存情况,管理食材信息。
- **订单管理**:管理员查看订单详情,处理订单。
- **报表管理**:生成并查看销售报表、库存报表、用户报表。
#### 四、后端设计
1. **业务逻辑层**
- **用户管理服务**:处理用户注册、登录、信息管理等逻辑。
- **菜品管理服务**:处理菜品的增删改查业务逻辑。
- **库存管理服务**:处理库存信息的记录、预警、更新等逻辑。
- **订单管理服务**:处理订单的创建、查询、统计等逻辑。
- **报表管理服务**:生成销售报表、库存报表、用户报表等。
2. **数据访问层**
- 通过DAOData Access Object模式与数据库交互提供数据的增删改查接口。
3. **接口设计**
- **用户管理接口**
- 注册接口:`POST /api/users/register`
- 登录接口:`POST /api/users/login`
- 获取用户信息接口:`GET /api/users/{id}`
- 更新用户信息接口:`PUT /api/users/{id}`
- **菜品管理接口**
- 获取菜品列表接口:`GET /api/dishes`
- 添加菜品接口:`POST /api/dishes`
- 修改菜品接口:`PUT /api/dishes/{id}`
- 删除菜品接口:`DELETE /api/dishes/{id}`
- **库存管理接口**
- 获取库存列表接口:`GET /api/inventory`
- 添加库存接口:`POST /api/inventory`
- 修改库存接口:`PUT /api/inventory/{id}`
- 删除库存接口:`DELETE /api/inventory/{id}`
- **订单管理接口**
- 创建订单接口:`POST /api/orders`
- 获取订单列表接口:`GET /api/orders`
- 获取订单详情接口:`GET /api/orders/{id}`
- **报表管理接口**
- 获取销售报表接口:`GET /api/reports/sales`
- 获取库存报表接口:`GET /api/reports/inventory`
- 获取用户报表接口:`GET /api/reports/users`
#### 五、系统流程设计
1. **用户注册与登录**
- 用户通过前端界面填写注册信息,提交至`/api/users/register`接口。
- 系统验证信息有效性后,保存用户信息至数据库,并返回注册成功。
- 用户登录时,提交用户名和密码至`/api/users/login`接口,系统验证后返回登录状态。
2. **菜品管理**
- 管理员登录后,通过菜品管理界面操作。
- 添加新菜品时,填写菜品信息,提交至`/api/dishes`接口。
- 修改或删除菜品,通过对应接口更新数据库信息。
3. **库存管理**
- 管理员通过库存管理界面查看和管理库存。
- 添加新库存记录,提交至`/api/inventory`接口。
- 修改或删除库存信息,通过对应接口更新数据库。
4. **订单管理**
- 用户通过前端界面选择菜品并提交订单,系统生成订单记录。
- 用户可以在订单管理界面查看历史订单和当前订单状态。
- 管理员通过后台查看并处理订单,确保订单信息准确。
5. **报表生成**
- 管理员通过报表管理界面选择报表类型,系统生成相应报表。
- 报表数据通过各个管理接口的统计结果生成,并展示在前端界面。
#### 六、界面设计
1. **用户界面**
- **首页**:简洁明了的导航栏,登录和注册入口。
- **菜品列表**:卡片式布局,每个菜品显示图片、名称、价格,用户可以点击查看详情。
- **订单管理**:表格布局,显示订单编号、菜品名称、数量、总价、订单状态等信息。
- **个人信息**:表单布局,用户可以修改个人信息,点击保存更新。
2. **管理员界面**
- **用户管理**:表格布局,显示用户列表,支持增删改查操作。
- **菜品管理**:卡片式布局,显示菜品列表,支持增删改查操作。
- **库存管理**:表格布局,显示库存列表,支持增删改查操作。
- **订单管理**:表格布局,显示订单列表,支持查询和处理操作。
- **报表管理**:图表展示销售、库存、用户数据,支持按时间段查询和导出。
#### 七、安全设计
1. **数据安全**
- 使用HTTPS协议保障数据传输的安全性。
- 用户密码采用哈希算法加密存储,防止泄露。
2. **权限管理**
- 根据用户角色分配不同的权限,确保数据的安全性和访问的合理性。
- 通过JWTJSON Web Token进行身份验证和权限校验。
3. **防火墙和入侵检测**
- 配置防火墙,防止外部攻击。
- 部署入侵检测系统,实时监控系统安全,发现异常及时处理。
#### 八、总结
本详细设计文档从系统架构、数据库设计、前后端设计、接口设计、系统流程、界面设计和安全设计等方面进行了详细描述,为系统的开发提供了完整的指导和参考。通过严格按照设计文档进行开发,确保系统高效、稳定、安全地运行,满足立达中学食堂管理和服务的需求。