1.8 KiB
1.8 KiB
移除秒杀功能
按业务调整下线限时秒杀活动。前后端代码、共享类型、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 自动重建。
验证
pnpm build:shared
pnpm build:server
pnpm test # 包含 payment / scheduler 套件
回退说明
回退需要还原 schema 与源码,本项目不保留 git 自动恢复外的额外兜底。如需重新启用秒杀,按 git 历史恢复即可,并运行 pnpm prisma migrate reset 重新初始化数据库。