snack-mall/db
Yuhang Wu 7c483840b6 ```
feat(order): 添加订单模块完整功能

- 新增订单数据库表结构,包含支付渠道、交易号、退款信息等字段
- 添加订单相关实体类、枚举、常量定义
- 实现订单提交、查询、支付、取消、退款等核心业务逻辑
- 创建用户端和管理端订单控制器API接口
- 实现支付回调处理功能用于支付宝/微信支付集成
- 添加订单状态机管理和物流处理功能
```
2026-06-02 17:59:57 +08:00
..
BUSINESS_DESIGN.md ``` 2026-06-02 17:23:50 +08:00
README.md ``` 2026-06-02 17:23:50 +08:00
schema.sql ``` 2026-06-02 17:59:57 +08:00
seed.sql ``` 2026-06-02 17:23:50 +08:00

README.md

数据库初始化说明

本目录包含 snack_mall 数据库的完整脚本。

文件清单

文件 用途 建议时机
schema.sql 建库 + 21 张业务表的 DDL 第一次部署时执行
seed.sql 基础测试数据(管理员、用户、商品、优惠券、活动、客服消息等) 联调 / 演示前执行
BUSINESS_DESIGN.md 核心业务设计WebSocket 客服 + Redis 防超卖 开发前必读

执行顺序

# 方式一:命令行
mysql -u root -p < schema.sql
mysql -u root -p < seed.sql

# 方式二:登录后 source
mysql -u root -p
> source /path/to/schema.sql
> source /path/to/seed.sql

# 方式三Navicat / DBeaver 直接打开执行

表清单(共 21 张)

# 表名 说明
1 user 用户表
2 admin 管理员表
3 category 商品分类(多级)
4 product 商品 SPU
5 product_sku 商品 SKU
6 address 收货地址
7 cart 购物车
8 orders 订单主表
9 order_item 订单明细
10 favorite 收藏
11 banner 轮播图
12 chat_session 客服会话
13 chat_message 客服消息
14 quick_reply 客服快捷回复
15 notice 系统公告
16 coupon 优惠券模板
17 user_coupon 用户优惠券
18 seckill_activity 限时抢购活动
19 seckill_product 抢购活动商品
20 seckill_order 抢购订单(防超卖)
21 upload_file 文件上传记录

默认账号

角色 用户名 密码
管理员 admin 123456
管理员 manager 123456
管理员 operator 123456
普通用户 user001 ~ user005 123456

密码均使用 BCrypt 加密hash 值在 seed.sql 中。

字符集

  • 库 / 表utf8mb4
  • 排序规则utf8mb4_unicode_ci
  • 存储 emoji 等四字节字符无压力

注意事项

  1. 不要在生产环境执行 seed.sql —— 仅用于本地开发与演示。
  2. 真实部署时建议关闭 notice 等富文本字段的 XSS 过滤,由前端做 HTML 转义。
  3. 抢购库存的并发安全由 Redis 原子操作 + 数据库兜底双重保障,详见功能设计文档。