# 开发任务列表: 004 - 系统能力与集成 基于实施计划,为“系统能力与集成”功能分解出以下开发任务。 ## 后端 (Backend) ### 核心服务与数据库 - [ ] **BE-DB-08**: 创建 `processed_callbacks` 表的数据库迁移脚本。 - [ ] **BE-DB-09**: 更新 `invitations` 表的迁移脚本,增加 `ip_address` 和 `user_agent` 字段。 - [ ] **BE-DB-10**: 创建 `failed_reward_jobs` 表的数据库迁移脚本。 - [ ] **BE-SETUP-01**: 在项目中安装、配置并初始化消息队列服务(如 RabbitMQ 或 BullMQ)。 - [ ] **BE-WORKER-01**: 创建奖励发放Worker服务的基本结构,并连接到消息队列。 ### API & 业务逻辑 - [ ] **BE-API-14**: 开发一个可重用的 `X-API-Key` 认证中间件。 - [ ] **BE-API-15**: 开发一个可重用的、基于Redis的可配置速率限制中间件。 - [ ] **BE-API-16**: 实现 `POST /api/v1/callback/register` 接口的完整逻辑,包括认证、速率限制、幂等性检查和向队列分发任务。 - [ ] **BE-TEST-04**: 为回调API编写完整的测试用例,特别是要覆盖幂等性和速率限制的场景。 ### 异步任务 Worker - [ ] **BE-WORKER-02**: 在Worker中实现调用外部奖励API的逻辑(使用适配器模式)。 - [ ] **BE-WORKER-03**: 在Worker中实现任务失败后的重试逻辑(指数退避延迟)。 - [ ] **BE-WORKER-04**: 在Worker中实现任务重试耗尽后,将任务存入 `failed_reward_jobs` 表的逻辑。 - [ ] **BE-ALERT-01**: 实现一个简单的通知服务,当有新条目写入 `failed_reward_jobs` 时,向管理员发送警报。 ## 前端 (Frontend) - [ ] **FE-UI-16**: (可选)在管理后台创建一个简单的页面,用于展示和管理失败的奖励发放任务。 - [ ] **FE-API-04**: (可选)为上述页面开发一个获取失败任务列表的API请求函数。