41 lines
1.8 KiB
Markdown
41 lines
1.8 KiB
Markdown
# 移除秒杀功能
|
|
|
|
按业务调整下线限时秒杀活动。前后端代码、共享类型、Prisma schema 与迁移均已同步清理。
|
|
|
|
## 清理范围
|
|
|
|
| 层 | 内容 |
|
|
| --- | --- |
|
|
| 后端模块 | `packages/server/src/flash-sale/`(service、controller、admin controller、dto、测试) |
|
|
| 调度任务 | `SchedulerService.handleExpireFlashSaleReservations` 及其依赖注入 |
|
|
| 支付流程 | `PaymentService` 中 `flashSaleOrder` 标记为 PAID 的分支 |
|
|
| 前端页面 | `pages/flash-sale/detail.vue`、`pages/admin/flash-sales.vue` |
|
|
| 前端组件 | `components/FlashSaleSection.vue` |
|
|
| 前端状态 | `stores/flash-sale.ts` |
|
|
| 前端入口 | `pages/admin/index.vue` 秒杀管理菜单与对应样式 |
|
|
| 首页 | `pages/home/index.vue` 中 `FlashSaleSection` 引用 |
|
|
| 共享类型 | `shared/src/types/flash-sale.ts`,`enums.ts` 中 `FlashSaleStatus`、`FlashSaleOrderStatus`,以及 `index.ts` 的 re-export |
|
|
| 数据库 | Prisma 删除 `FlashSale`、`FlashSaleOrder` 模型、相关枚举与 `Order.flash_sale_id` 字段 |
|
|
|
|
## 数据库迁移
|
|
|
|
新增 `packages/server/prisma/migrations/20260910030338_drop_flash_sale/migration.sql`。
|
|
执行 `pnpm prisma migrate deploy` 后以下内容会被移除:
|
|
|
|
- `flash_sales`、`flash_sale_orders` 两张表
|
|
- `orders.flash_sale_id` 列与外键
|
|
- `FlashSaleStatus`、`FlashSaleOrderStatus` 枚举
|
|
|
|
迁移以 MySQL 方言编写;SQLite 开发环境由 Prisma shadow database 自动重建。
|
|
|
|
## 验证
|
|
|
|
```bash
|
|
pnpm build:shared
|
|
pnpm build:server
|
|
pnpm test # 包含 payment / scheduler 套件
|
|
```
|
|
|
|
## 回退说明
|
|
|
|
回退需要还原 schema 与源码,本项目不保留 git 自动恢复外的额外兜底。如需重新启用秒杀,按 git 历史恢复即可,并运行 `pnpm prisma migrate reset` 重新初始化数据库。 |