# 移除秒杀功能 按业务调整下线限时秒杀活动。前后端代码、共享类型、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` 重新初始化数据库。