Draft
As a 商家用户 I want 订单支付成功后自动打印小票 so that 及时处理订单
根据史诗005的技术设计部分:
防退款延迟打印流程(支付成功后):
DELAYED,设置scheduled_at为当前时间+延迟时间CANCELLED,原因REFUND)PRINTING → 记录飞鹅任务IDSUCCESS → 更新订单备注数据库表结构:
feie_print_task_mt表已包含防退款延迟相关字段:
print_status: 打印状态(PENDING, DELAYED, PRINTING, SUCCESS, FAILED, CANCELLED)scheduled_at: 计划打印时间(用于延迟打印)cancelled_at: 取消时间cancel_reason: 取消原因(REFUND, MANUAL, TIMEOUT)retry_count: 重试次数max_retries: 最大重试次数配置管理:
feie_config_mt表中:
feie.anti_refund_delay: 防退款延迟时间(秒,默认120秒/2分钟)feie.retry_max_count: 最大重试次数feie.retry_interval: 重试间隔(秒)feie.auto_print_on_payment: 支付成功时自动打印开关模块结构:
@d8d/feie-printer-module-mt@d8d/feie-printer-management-ui-mtAPI设计:
POST /api/feie/print - 提交打印任务(支持延迟打印)POST /api/feie/tasks/{taskId}/cancel - 取消打印任务GET /api/feie/config - 查询打印配置根据史诗005的模块结构部分:
packages/
├── @d8d/feie-printer-module-mt/ # 飞鹅打印模块(故事005.001已创建)
│ ├── src/
│ │ ├── services/
│ │ │ ├── feie-api.service.ts # 飞鹅API客户端(小票打印)
│ │ │ ├── printer.service.ts # 打印机管理服务
│ │ │ ├── print-task.service.ts # 打印任务服务
│ │ │ ├── delay-scheduler.service.ts # 延迟打印调度器
│ │ │ └── index.ts
│ │ └── index.ts # 主入口文件
└── @d8d/feie-printer-management-ui-mt/ # 打印管理UI模块(故事005.002已创建)
根据史诗005的集成点部分:
订单模块集成:
事件系统集成:
根据史诗005的测试策略部分:
集成测试:
E2E测试:
-mt后缀和租户ID隔离tests/目录下tests/e2e/目录下防退款延迟打印测试:
重试机制测试:
状态同步测试:
| Date | Version | Description | Author |
|---|---|---|---|
| 2025-12-06 | 1.0 | 初始创建故事文档 | Scrum Master |