|
|
## 数据库设计文档
|
|
|
|
|
|
| 序号 | 数据表名 | 中文名称 |
|
|
|
| ---- | ------------- | -------------- |
|
|
|
| 1 | employee | 员工表 |
|
|
|
| 2 | category | 分类表 |
|
|
|
| 3 | dish | 菜品表 |
|
|
|
| 4 | dish_flavor | 菜品口味表 |
|
|
|
| 5 | setmeal | 套餐表 |
|
|
|
| 6 | setmeal_dish | 套餐菜品关系表 |
|
|
|
| 7 | user | 用户表 |
|
|
|
| 8 | address_book | 地址表 |
|
|
|
| 9 | shopping_cart | 购物车表 |
|
|
|
| 10 | orders | 订单表 |
|
|
|
| 11 | order_detail | 订单明细表 |
|
|
|
|
|
|
### 1. employee
|
|
|
|
|
|
employee表为员工表,用于存储商家内部的员工信息。具体表结构如下:
|
|
|
|
|
|
| 字段名 | 数据类型 | 说明 | 备注 |
|
|
|
| ----------- | ----------- | ------------ | ----------- |
|
|
|
| id | bigint | 主键 | 自增 |
|
|
|
| name | varchar(32) | 姓名 | |
|
|
|
| username | varchar(32) | 用户名 | 唯一 |
|
|
|
| password | varchar(64) | 密码 | |
|
|
|
| phone | varchar(11) | 手机号 | |
|
|
|
| sex | varchar(2) | 性别 | |
|
|
|
| id_number | varchar(18) | 身份证号 | |
|
|
|
| status | int | 账号状态 | 1正常 0锁定 |
|
|
|
| create_time | datetime | 创建时间 | |
|
|
|
| update_time | datetime | 最后修改时间 | |
|
|
|
| create_user | bigint | 创建人id | |
|
|
|
| update_user | bigint | 最后修改人id | |
|
|
|
|
|
|
### 2. category
|
|
|
|
|
|
category表为分类表,用于存储商品的分类信息。具体表结构如下:
|
|
|
|
|
|
| 字段名 | 数据类型 | 说明 | 备注 |
|
|
|
| ----------- | ----------- | ------------ | -------------------- |
|
|
|
| id | bigint | 主键 | 自增 |
|
|
|
| name | varchar(32) | 分类名称 | 唯一 |
|
|
|
| type | int | 分类类型 | 1菜品分类 2套餐分类 |
|
|
|
| sort | int | 排序字段 | 用于分类数据的排序 |
|
|
|
| status | int | 状态 | 1启用 0禁用 |
|
|
|
| create_time | datetime | 创建时间 | |
|
|
|
| update_time | datetime | 最后修改时间 | |
|
|
|
| create_user | bigint | 创建人id | |
|
|
|
| update_user | bigint | 最后修改人id | |
|
|
|
|
|
|
### 3. dish
|
|
|
|
|
|
dish表为菜品表,用于存储菜品的信息。具体表结构如下:
|
|
|
|
|
|
| 字段名 | 数据类型 | 说明 | 备注 |
|
|
|
| ----------- | ------------- | ------------ | ----------- |
|
|
|
| id | bigint | 主键 | 自增 |
|
|
|
| name | varchar(32) | 菜品名称 | 唯一 |
|
|
|
| category_id | bigint | 分类id | 逻辑外键 |
|
|
|
| price | decimal(10,2) | 菜品价格 | |
|
|
|
| image | varchar(255) | 图片路径 | |
|
|
|
| description | varchar(255) | 菜品描述 | |
|
|
|
| status | int | 售卖状态 | 1起售 0停售 |
|
|
|
| create_time | datetime | 创建时间 | |
|
|
|
| update_time | datetime | 最后修改时间 | |
|
|
|
| create_user | bigint | 创建人id | |
|
|
|
| update_user | bigint | 最后修改人id | |
|
|
|
|
|
|
### 4. dish_flavor
|
|
|
|
|
|
dish_flavor表为菜品口味表,用于存储菜品的口味信息。具体表结构如下:
|
|
|
|
|
|
| 字段名 | 数据类型 | 说明 | 备注 |
|
|
|
| ------- | ------------ | -------- | -------- |
|
|
|
| id | bigint | 主键 | 自增 |
|
|
|
| dish_id | bigint | 菜品id | 逻辑外键 |
|
|
|
| name | varchar(32) | 口味名称 | |
|
|
|
| value | varchar(255) | 口味值 | |
|
|
|
|
|
|
### 5. setmeal
|
|
|
|
|
|
setmeal表为套餐表,用于存储套餐的信息。具体表结构如下:
|
|
|
|
|
|
| 字段名 | 数据类型 | 说明 | 备注 |
|
|
|
| ----------- | ------------- | ------------ | ----------- |
|
|
|
| id | bigint | 主键 | 自增 |
|
|
|
| name | varchar(32) | 套餐名称 | 唯一 |
|
|
|
| category_id | bigint | 分类id | 逻辑外键 |
|
|
|
| price | decimal(10,2) | 套餐价格 | |
|
|
|
| image | varchar(255) | 图片路径 | |
|
|
|
| description | varchar(255) | 套餐描述 | |
|
|
|
| status | int | 售卖状态 | 1起售 0停售 |
|
|
|
| create_time | datetime | 创建时间 | |
|
|
|
| update_time | datetime | 最后修改时间 | |
|
|
|
| create_user | bigint | 创建人id | |
|
|
|
| update_user | bigint | 最后修改人id | |
|
|
|
|
|
|
### 6. setmeal_dish
|
|
|
|
|
|
setmeal_dish表为套餐菜品关系表,用于存储套餐和菜品的关联关系。具体表结构如下:
|
|
|
|
|
|
| 字段名 | 数据类型 | 说明 | 备注 |
|
|
|
| ---------- | ------------- | -------- | -------- |
|
|
|
| id | bigint | 主键 | 自增 |
|
|
|
| setmeal_id | bigint | 套餐id | 逻辑外键 |
|
|
|
| dish_id | bigint | 菜品id | 逻辑外键 |
|
|
|
| name | varchar(32) | 菜品名称 | 冗余字段 |
|
|
|
| price | decimal(10,2) | 菜品单价 | 冗余字段 |
|
|
|
| copies | int | 菜品份数 | |
|
|
|
|
|
|
### 7. user
|
|
|
|
|
|
user表为用户表,用于存储C端用户的信息。具体表结构如下:
|
|
|
|
|
|
| 字段名 | 数据类型 | 说明 | 备注 |
|
|
|
| ----------- | ------------ | ------------------ | ---- |
|
|
|
| id | bigint | 主键 | 自增 |
|
|
|
| openid | varchar(45) | 微信用户的唯一标识 | |
|
|
|
| name | varchar(32) | 用户姓名 | |
|
|
|
| phone | varchar(11) | 手机号 | |
|
|
|
| sex | varchar(2) | 性别 | |
|
|
|
| id_number | varchar(18) | 身份证号 | |
|
|
|
| avatar | varchar(500) | 微信用户头像路径 | |
|
|
|
| create_time | datetime | 注册时间 | |
|
|
|
|
|
|
### 8. address_book
|
|
|
|
|
|
address_book表为地址表,用于存储C端用户的收货地址信息。具体表结构如下:
|
|
|
|
|
|
| 字段名 | 数据类型 | 说明 | 备注 |
|
|
|
| ------------- | ------------ | ------------ | -------------- |
|
|
|
| id | bigint | 主键 | 自增 |
|
|
|
| user_id | bigint | 用户id | 逻辑外键 |
|
|
|
| consignee | varchar(50) | 收货人 | |
|
|
|
| sex | varchar(2) | 性别 | |
|
|
|
| phone | varchar(11) | 手机号 | |
|
|
|
| province_code | varchar(12) | 省份编码 | |
|
|
|
| province_name | varchar(32) | 省份名称 | |
|
|
|
| city_code | varchar(12) | 城市编码 | |
|
|
|
| city_name | varchar(32) | 城市名称 | |
|
|
|
| district_code | varchar(12) | 区县编码 | |
|
|
|
| district_name | varchar(32) | 区县名称 | |
|
|
|
| detail | varchar(200) | 详细地址信息 | 具体到门牌号 |
|
|
|
| label | varchar(100) | 标签 | 公司、家、学校 |
|
|
|
| is_default | tinyint(1) | 是否默认地址 | 1是 0否 |
|
|
|
|
|
|
### 9. shopping_cart
|
|
|
|
|
|
shopping_cart表为购物车表,用于存储C端用户的购物车信息。具体表结构如下:
|
|
|
|
|
|
| 字段名 | 数据类型 | 说明 | 备注 |
|
|
|
| ----------- | ------------- | ------------ | -------- |
|
|
|
| id | bigint | 主键 | 自增 |
|
|
|
| name | varchar(32) | 商品名称 | |
|
|
|
| image | varchar(255) | 商品图片路径 | |
|
|
|
| user_id | bigint | 用户id | 逻辑外键 |
|
|
|
| dish_id | bigint | 菜品id | 逻辑外键 |
|
|
|
| setmeal_id | bigint | 套餐id | 逻辑外键 |
|
|
|
| dish_flavor | varchar(50) | 菜品口味 | |
|
|
|
| number | int | 商品数量 | |
|
|
|
| amount | decimal(10,2) | 商品单价 | |
|
|
|
| create_time | datetime | 创建时间 | |
|
|
|
|
|
|
### 10. orders
|
|
|
|
|
|
orders表为订单表,用于存储C端用户的订单数据。具体表结构如下:
|
|
|
|
|
|
| 字段名 | 数据类型 | 说明 | 备注 |
|
|
|
| ----------------------- | ------------- | ------------ | ----------------------------------------------- |
|
|
|
| id | bigint | 主键 | 自增 |
|
|
|
| number | varchar(50) | 订单号 | |
|
|
|
| status | int | 订单状态 | 1待付款 2待接单 3已接单 4派送中 5已完成 6已取消 |
|
|
|
| user_id | bigint | 用户id | 逻辑外键 |
|
|
|
| address_book_id | bigint | 地址id | 逻辑外键 |
|
|
|
| order_time | datetime | 下单时间 | |
|
|
|
| checkout_time | datetime | 付款时间 | |
|
|
|
| pay_method | int | 支付方式 | 1微信支付 2支付宝支付 |
|
|
|
| pay_status | tinyint | 支付状态 | 0未支付 1已支付 2退款 |
|
|
|
| amount | decimal(10,2) | 订单金额 | |
|
|
|
| remark | varchar(100) | 备注信息 | |
|
|
|
| phone | varchar(11) | 手机号 | |
|
|
|
| address | varchar(255) | 详细地址信息 | |
|
|
|
| user_name | varchar(32) | 用户姓名 | |
|
|
|
| consignee | varchar(32) | 收货人 | |
|
|
|
| cancel_reason | varchar(255) | 订单取消原因 | |
|
|
|
| rejection_reason | varchar(255) | 拒单原因 | |
|
|
|
| cancel_time | datetime | 订单取消时间 | |
|
|
|
| estimated_delivery_time | datetime | 预计送达时间 | |
|
|
|
| delivery_status | tinyint | 配送状态 | 1立即送出 0选择具体时间 |
|
|
|
| delivery_time | datetime | 送达时间 | |
|
|
|
| pack_amount | int | 打包费 | |
|
|
|
| tableware_number | int | 餐具数量 | |
|
|
|
| tableware_status | tinyint | 餐具数量状态 | 1按餐量提供 0选择具体数量 |
|
|
|
|
|
|
### 11. order_detail
|
|
|
|
|
|
order_detail表为订单明细表,用于存储C端用户的订单明细数据。具体表结构如下:
|
|
|
|
|
|
| 字段名 | 数据类型 | 说明 | 备注 |
|
|
|
| ----------- | ------------- | ------------ | -------- |
|
|
|
| id | bigint | 主键 | 自增 |
|
|
|
| name | varchar(32) | 商品名称 | |
|
|
|
| image | varchar(255) | 商品图片路径 | |
|
|
|
| order_id | bigint | 订单id | 逻辑外键 |
|
|
|
| dish_id | bigint | 菜品id | 逻辑外键 |
|
|
|
| setmeal_id | bigint | 套餐id | 逻辑外键 |
|
|
|
| dish_flavor | varchar(50) | 菜品口味 | |
|
|
|
| number | int | 商品数量 | |
|
|
|
| amount | decimal(10,2) | 商品单价 | |
|
|
|
|