2aacd8a25d
- PLAN-008/PLAN-009 计划(已完成) - 迭代 07/08 四件套(目标/技术方案/验收标准/复盘) - 设计约束:数据存储设计 §10/§10.1、技术约束-012/013、产品约束-008 - R-009/R-010 需求归档(含二次定稿:手动归属、Q4 成本价/成交价) - 需求池索引同步
27 lines
2.4 KiB
Markdown
27 lines
2.4 KiB
Markdown
# 验收标准:07-交易记录本地存储(SQLite)+ 策略关联
|
||
|
||
## 验收标准线
|
||
|
||
1. **两表落地**:store.db 存在 trade_orders(order_id 主键 + insert_ts 派生列)+ trade_fills(trade_id 主键、order_id 关联委托)两表;**两表均无 strategy_id / holding_id 列**(零冗余,Q3 老师定稿);
|
||
2. **同步落库**:启动预热 + 60s 定时同步今日 orders+trades 入库;UPSERT 幂等(重复同步不产生重复行、已存在委托状态/成交量覆盖更新);
|
||
3. **策略归属推导(FK 链)**:查询时委托时间 join strategy_holdings 生命周期窗口(created_at ≤ t < closed_at)得到策略/持仓归属;一码多策略取份额最大;无命中=未关联;历史委托归属稳定(清仓/删策略转历史不删行);
|
||
4. **本地历史查询**:trades/history 端点按 { start, end, code, strategyId, direction } 过滤返回 { orders, fills }(策略过滤走 FK 链 join);
|
||
5. **前端**:交易记录 tab 加策略过滤下拉(全部/各策略/未关联);历史范围展示本地库数据(不再「接口开发中」占位);今日仍走 QMT 实时 + 写穿本地;
|
||
6. **不回归**:今日实时展示(单表合并/费用/排序/展开)与持仓/策略/行情/连接配置功能正常;
|
||
7. **测试隔离**:回归测试在独立数据目录(ODL_TEST_DATA_DIR)执行,真实数据目录无写操作(技术约束-011)。
|
||
|
||
## 验收方法
|
||
|
||
- 独立数据目录(ODL_TEST_DATA_DIR)构造今日委托/成交样例 → 启动插件 → 确认同步落库、UPSERT 幂等(重复同步行数不变、状态覆盖);
|
||
- 构造持仓生命周期样例(当前持仓 + 已清仓)→ 确认策略归属推导正确(时间窗口命中、一码多策略取份额最大、未关联兜底);
|
||
- API 实测:trades/history 按时间段/code/策略/方向过滤返回正确;
|
||
- 前端:策略过滤下拉生效(今日实时 + 历史本地);历史范围展示本地数据;
|
||
- 回归:今日实时展示与现有功能正常;
|
||
- 手动核对真实数据目录:store.db 中 trade_orders/trade_fills 持续积累,无 JSON 文件新生。
|
||
|
||
## 验收目标
|
||
|
||
- 交易记录本地持久化闭环:当日实时 + 跨日历史本地可查;
|
||
- 外键链策略关联正确:按策略过滤 / 复盘交易就绪(R-007 Q10 落地);
|
||
- 设计约束同步落地:数据存储设计.md §10 + 技术方案约束新增条目。
|