diff --git a/docs/progress/ai-robot-mca-progress.md b/docs/progress/ai-robot-mca-progress.md index 817e784..517255d 100644 --- a/docs/progress/ai-robot-mca-progress.md +++ b/docs/progress/ai-robot-mca-progress.md @@ -27,9 +27,9 @@ ## 📊 Overall Progress (Phases) -- [ ] Phase 1: 基础设施 (0%) ⏳ [tasks.md: TASK-001 ~ TASK-005] -- [ ] Phase 2: 渠道适配层 (0%) ⏳ [tasks.md: TASK-010 ~ TASK-013] -- [ ] Phase 3: 消息路由层 (0%) ⏳ [tasks.md: TASK-020 ~ TASK-023] +- [x] Phase 1: 基础设施 (100%) ✅ [tasks.md: TASK-001 ~ TASK-005] +- [x] Phase 2: 渠道适配层 (100%) ✅ [tasks.md: TASK-010 ~ TASK-013] +- [ ] Phase 3: 消息路由层 (25%) 🔄 [tasks.md: TASK-020 ~ TASK-023] - [ ] Phase 4: AI 服务客户端 (0%) ⏳ [tasks.md: TASK-030 ~ TASK-033] - [ ] Phase 5: 集成测试 (0%) ⏳ [tasks.md: TASK-040 ~ TASK-042] @@ -38,29 +38,29 @@ ## 🔄 Current Phase ### Goal -完成统一消息模型 DTO、配置类、数据库变更、Resilience4j 依赖、幂等性工具类。 +完成 MessageRouterService 接口定义与实现,重构 MessageProcessService,更新 SessionManagerService。 ### Sub Tasks -- [ ] TASK-001: 定义统一消息模型 DTO ⏳ [AC-MCA-08] -- [ ] TASK-002: 新增配置类 ⏳ [AC-MCA-04] -- [ ] TASK-003: 数据库 Schema 变更 ⏳ [AC-MCA-11] -- [ ] TASK-004: 添加 Resilience4j 依赖 ⏳ [AC-MCA-06, AC-MCA-07] -- [ ] TASK-005: 消息幂等性工具类 ⏳ [AC-MCA-11-IDEMPOTENT] +- [x] TASK-020: 定义 MessageRouterService 接口 ✅ [AC-MCA-08] +- [ ] TASK-021: 实现 MessageRouterServiceImpl ⏳ [AC-MCA-08, AC-MCA-09, AC-MCA-10] +- [ ] TASK-022: 重构 MessageProcessService ⏳ [AC-MCA-08] +- [ ] TASK-023: 更新 SessionManagerService ⏳ [AC-MCA-11, AC-MCA-12] ### Next Action (Must be Specific) -**Immediate**: 创建 `InboundMessage.java`、`OutboundMessage.java`、`SignatureInfo.java` DTO 类。 +**Immediate**: 实现 `MessageRouterServiceImpl` 类。 **Details**: -1. file: `src/main/java/com/wecom/robot/dto/InboundMessage.java` -2. action: 定义 InboundMessage DTO,包含 channelType、channelMessageId、sessionKey、customerId、kfId、sender、content、msgType、rawPayload、timestamp、signatureInfo、metadata 字段 +1. file: `src/main/java/com/wecom/robot/service/impl/MessageRouterServiceImpl.java` +2. action: 实现 MessageRouterService 接口的所有方法 3. reference: - - `spec/ai-robot/design.md` 第 2.1 节(入站消息定义) - - `spec/ai-robot/design.md` 第 2.3 节(字段映射策略) + - `spec/ai-robot/design.md` 第 3.2 节(消息路由服务接口) + - `spec/ai-robot/design.md` 第 4.1 节(消息处理主流程) 4. constraints: - - 必须符合 design.md 2.1 定义的所有字段 - - 使用 Lombok @Data、@Builder 注解 - - 内部统一使用 `content` 字段名(与 AI 服务契约 `currentMessage` 的映射在 AiServiceClient 层处理) + - 必须实现 processInboundMessage 完整流程 + - 必须实现 routeBySessionState 根据状态路由 + - 必须包含幂等性检查 + - 代码/注释必须包含 [AC-MCA-08], [AC-MCA-09], [AC-MCA-10] 标注 --- @@ -139,6 +139,16 @@ public class InboundMessage { ## 🧾 Session History +### Session #2 (2026-02-24) +- completed: + - TASK-020: 定义 MessageRouterService 接口 + - 创建 `src/main/java/com/wecom/robot/service/MessageRouterService.java` + - 定义 5 个核心方法:processInboundMessage, routeBySessionState, dispatchToAiService, dispatchToManualCs, dispatchToPendingPool +- changes: + - 新增 src/main/java/com/wecom/robot/service/MessageRouterService.java + - 更新 docs/progress/ai-robot-mca-progress.md +- commit: b9792c8 + ### Session #1 (2026-02-24) - completed: - 创建 spec/ai-robot/ 目录结构