feat/multi-channel-framework [AC-INIT]合并功能代码 #12

Merged
MerCry merged 37 commits from feat/multi-channel-framework into main 2026-02-24 03:55:00 +00:00
1 changed files with 48 additions and 14 deletions
Showing only changes of commit 339dccde43 - Show all commits

View File

@ -30,7 +30,7 @@
- [x] Phase 1: 基础设施 (100%) ✅ [tasks.md: TASK-001 ~ TASK-005] - [x] Phase 1: 基础设施 (100%) ✅ [tasks.md: TASK-001 ~ TASK-005]
- [x] Phase 2: 渠道适配层 (100%) ✅ [tasks.md: TASK-010 ~ TASK-013] - [x] Phase 2: 渠道适配层 (100%) ✅ [tasks.md: TASK-010 ~ TASK-013]
- [x] Phase 3: 消息路由层 (100%) ✅ [tasks.md: TASK-020 ~ TASK-023] - [x] Phase 3: 消息路由层 (100%) ✅ [tasks.md: TASK-020 ~ TASK-023]
- [ ] Phase 4: AI 服务客户端 (0%) ⏳ [tasks.md: TASK-030 ~ TASK-033] - [x] Phase 4: AI 服务客户端 (100%) ✅ [tasks.md: TASK-030 ~ TASK-033]
- [ ] Phase 5: 集成测试 (0%) ⏳ [tasks.md: TASK-040 ~ TASK-042] - [ ] Phase 5: 集成测试 (0%) ⏳ [tasks.md: TASK-040 ~ TASK-042]
--- ---
@ -38,28 +38,29 @@
## 🔄 Current Phase ## 🔄 Current Phase
### Goal ### Goal
完成 AI 服务 DTO 定义、AiServiceClient 实现、熔断与降级、清理旧代码 完成集成测试,验证多渠道适配框架的完整功能
### Sub Tasks ### Sub Tasks
- [ ] TASK-030: 定义 AI 服务 DTO ⏳ [AC-MCA-04-REQ, AC-MCA-05] - [x] TASK-030: 定义 AI 服务 DTO ✅ [AC-MCA-04-REQ, AC-MCA-05]
- [ ] TASK-031: 实现 AiServiceClient ⏳ [AC-MCA-04, AC-MCA-05] - [x] TASK-031: 实现 AiServiceClient ✅ [AC-MCA-04, AC-MCA-05]
- [ ] TASK-032: 实现熔断与降级 ⏳ [AC-MCA-06, AC-MCA-07] - [x] TASK-032: 实现熔断与降级 ✅ [AC-MCA-06, AC-MCA-07]
- [ ] TASK-033: 删除旧 AiService ⏳ - [x] TASK-033: 删除旧 AiService ✅
- [ ] TASK-040: 集成测试 ⏳
- [ ] TASK-041: 端到端测试 ⏳
- [ ] TASK-042: 性能测试 ⏳
### Next Action (Must be Specific) ### Next Action (Must be Specific)
**Immediate**: 创建 `ChatRequest.java`、`ChatResponse.java` AI 服务 DTO **Immediate**: 执行 Phase 5 集成测试任务
**Details**: **Details**:
1. file: `src/main/java/com/wecom/robot/dto/ai/ChatRequest.java` 1. task: TASK-040 集成测试
2. action: 定义 ChatRequest DTO包含 sessionId、currentMessage、channelType、history 字段 2. action: 编写集成测试验证消息路由流程
3. reference: 3. reference:
- `spec/ai-robot/design.md` 第 6.1 节AI 服务调用) - `spec/ai-robot/tasks.md` TASK-040 定义
- `spec/ai-robot/openapi.deps.yaml`AI 服务契约)
4. constraints: 4. constraints:
- 字段与 openapi.deps.yaml 一致 - 测试覆盖 InboundMessage → AI Service → OutboundMessage 完整流程
- 包含映射方法 (InboundMessage → ChatRequest) - 验证幂等性、熔断降级逻辑
- 代码/注释必须包含 [AC-MCA-04-REQ] 标注
--- ---
@ -139,6 +140,39 @@ public interface MessageRouterService {
## 🧾 Session History ## 🧾 Session History
### Session #4 (2026-02-24)
- completed:
- TASK-001: 定义统一消息模型 DTO ✅
- TASK-002: 新增配置类 ✅
- TASK-003: 数据库 Schema 变更 ✅
- TASK-004: 添加 Resilience4j 依赖 ✅
- TASK-005: 消息幂等性工具类 ✅
- TASK-030: 定义 AI 服务 DTO ✅
- TASK-031: 实现 AiServiceClient ✅
- TASK-032: 实现熔断与降级 ✅
- TASK-033: 删除旧 AiService ✅
- changes:
- 新增 src/main/java/com/wecom/robot/dto/InboundMessage.java
- 新增 src/main/java/com/wecom/robot/dto/OutboundMessage.java
- 新增 src/main/java/com/wecom/robot/dto/SignatureInfo.java
- 新增 src/main/java/com/wecom/robot/config/AiServiceConfig.java
- 新增 src/main/java/com/wecom/robot/config/ChannelConfig.java
- 新增 src/main/java/com/wecom/robot/config/RestTemplateConfig.java
- 新增 src/main/java/com/wecom/robot/util/IdempotentHelper.java
- 新增 src/main/java/com/wecom/robot/dto/ai/ChatRequest.java
- 新增 src/main/java/com/wecom/robot/dto/ai/ChatResponse.java
- 新增 src/main/java/com/wecom/robot/dto/ai/ChatMessage.java
- 新增 src/main/java/com/wecom/robot/service/AiServiceClient.java
- 新增 src/main/java/com/wecom/robot/service/impl/AiServiceClientImpl.java
- 新增 src/main/resources/db/migration/V1__add_channel_type.sql
- 删除 src/main/java/com/wecom/robot/service/AiService.java
- 删除 src/main/java/com/wecom/robot/config/AiConfig.java
- 更新 src/main/resources/application.yml (添加 ai-service, channel, resilience4j 配置)
- 更新 src/main/java/com/wecom/robot/service/impl/MessageRouterServiceImpl.java
- 更新 src/main/java/com/wecom/robot/controller/DebugController.java
- 更新 pom.xml (添加 Resilience4j 依赖)
- commits: 多个独立 commit
### Session #3 (2026-02-24) ### Session #3 (2026-02-24)
- completed: - completed:
- TASK-010: 定义 ChannelAdapter 接口 ✅ - TASK-010: 定义 ChannelAdapter 接口 ✅