datai/datai-scenes/datai-scene-salesforce/docs/sessions/2026-02-03-003-06-session.md

51 lines
1.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 会话记录:检索操作
## 元数据
- 需求编号003-06
- 需求名称:检索操作
- 创建时间2026-02-03
- 状态:进行中
- 当前阶段:阶段 5提示词生成
## 阶段记录
### 阶段 1需求定义 (2026-01-28)
- 状态:已完成
- 产物:[需求文档](../requirements/sub/2026-01-28-003-06-检索操作.md)
### 阶段 2方案设计 (2026-02-03)
- 状态:已完成
- 产物:[设计文档](../design/2026-02-03-003-06-检索操作-设计.md)
- 关键决策:
- 采用标准 Controller-Service-Repository 分层架构
- 使用 Salesforce Metadata API 的异步 `retrieve` 接口
- 配合轮询机制 (`checkRetrieveStatus`) 获取最终结果
- 创建 `datai_metadata_retrieve` 表记录检索请求和状态历史
- 不在数据库中持久化 ZIP 文件内容,仅返回给客户端
### 阶段 3方案决策 (2026-02-03)
- 状态:已完成
- 产物:[ADR 文档](../decisions/2026-02-03-003-06-ADR-检索操作技术选型.md)
- 关键决策:
- **ZIP 文件处理**:不入库,直接透传,避免数据库膨胀。
- **状态管理**:使用 `datai_metadata_retrieve` 表记录生命周期。
- **轮询策略**:复用服务端同步轮询策略。
### 阶段 4数据库结构生成 (2026-02-03)
- 状态:已完成
- 产物:[SQL 脚本](../sql/2026-02-03-003-06-retrieve-operation.sql)
- 关键变更:
- 创建 `datai_metadata_retrieve`
- 字段:`async_id`, `status`, `done`, `message`, `error_message`, `retrieve_time`, `user_id`
- 索引:`idx_async_id`, `idx_retrieve_time`
### 阶段 5提示词生成 (2026-02-03)
- 状态:已完成
- 产物:[提示词文档](../prompts/2026-02-03-003-06-prompt-检索操作.md)
- 内容摘要:
- 定义了检索操作的提示词
- 引用了需求、设计、ADR、SQL 文档
- 明确了 Controller-Service-Repository 架构
- 规定了 ZIP 文件不入库的约束
- 定义了输出文件列表和测试要求