Files
one_divine_lot/docs/05-需求池/R-017.md
T
kyugao 22ec732607 迭代15: 委托归属候选纳入近期清仓持仓(R-017)
- 交易记录 tab 归属候选只回当前持仓 → 清仓后当日委托失去下拉锚点无法补关联
  (2026-09-07 大连热电实际发生: 盘中归属后被清为未关联,下拉已无做T候选)
- SqliteStore.getAttributionCandidates: 候选 = 该 code 当前持仓 + 近 7 天清仓的持仓
  (closed 标记 + closedAt,排序 当前持仓在前 → 清仓行 closed_at DESC)
- AttributionSelect: 下拉 value 改 holdingId 键控(同策略多轮持仓不撞值)、
  清仓选项「(已清仓 MM-DD)」后缀、已归属但候选缺失显示「当前归属」占位
- 回归: test-r017-candidates 12/12 + 存量回归全绿
2026-09-07 18:15:20 +08:00

2.3 KiB
Raw Blame History

需求:R-017 委托归属候选纳入近期清仓持仓

登记:2026-09-07 来源:老师指令(2026-09-07「处理一下,今天大连热电的交易记录,我没办法关联到手动做T持仓的大连热电上」)| 状态:已定稿 归属:迭代 15 | 计划:PLAN-016 | 实现状态:已实现(2026-09-07,待老师人工验收) 前置:R-016「关联观察」所列问题的正式立项(清仓后当日委托无法通过下拉关联到对应 holding,2026-09-07 大连热电实际发生——盘中手动归属后又被清为未关联,下拉已无手动做T候选)。

需求描述

交易记录 tab 的归属候选(orders/attribution-candidates)只回当前持仓——清仓后(幽灵清仓最快约 30s 转历史)当日委托在下拉中失去对应策略/持仓锚点,无法补关联。本轮:候选 = 该 code 的当前持仓 + 近 7 天清仓的持仓,清仓行带标记供 UI 区分展示。

讨论记录(2026-09-07

# 决策点 结论
1 立项与方向 老师指令确认(对 R-016 关联观察修复方案的采纳)
2 候选窗口 近 7 天清仓(与 R-016 默认范围一致,AI 定;覆盖「当日做T当日盘后补关联」场景足够)
3 锚点键 下拉 value 改用 holdingId(同策略可有多轮持仓行,strategyId 会撞值;holding_id 本就是归属锚点,R-009 定稿语义)
4 标记展示 清仓候选在选项文本加「(已清仓 MM-DD)」后缀;已归属但候选列表缺失的委托显示「当前归属」占位选项(避免 select 空白)
5 排序 当前持仓在前,清仓行按 closed_at DESC 追加
6 归属写入 不变:orders/set-attribution 无候选限制(本次数据修复即经此通道完成)

边界

getAttributionCandidates 纳入近 7 天清仓行(附 closed/closedAt);AttributionSelect 改 holdingId 键控 + 已清仓后缀 + 当前归属占位;回归脚本。

不做:候选窗口可配置;自动归属(Q3 手动原则不变);交易记录 tab 之外的候选消费方调整;历史数据修复工具(本次一次性修复经 set-attribution 完成,不固化成功能)。

验收

docs/04-迭代记录/15-归属候选纳入清仓持仓/验收标准.md