You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.6 KiB
1.6 KiB
Context
当前 trade_parser.py 在 save_to_db 中对本次导入的数据做了文件内和跨文件去重,且会根据交易时间重新计算 trade_date(21:00 之后归属下一交易日)。
业务要求:
- 同一委托拆单成交的数据应全部导入,不应去重。
- 导入时保留结算单原始日期。
- 统计分析时按夜盘规则重新归集交易日,但展示日期仍用原始日期。
Goals / Non-Goals
Goals:
- 移除导入时对本次导入数据的去重逻辑。
- 导入时直接使用结算单原始日期作为
trade_date。 - 统计分析查询时,新增一个统计用交易日字段,将 21:00 之后的数据归集到下一交易日。
- 前端统计表格的日期列仍显示原始成交日期。
Non-Goals:
- 不修改数据库 schema。
- 不修改单条导入接口路径和返回结构。
Decisions
- 去重策略:仅保留与数据库已有记录的去重,移除
batch_existing_keys和new_keys_in_batch逻辑。 - 交易日计算:导入时不再调用
recalculate_trade_date;在trade_review_service.py查询统计时,使用recalculate_trade_date(trade_date, trade_time)生成统计用交易日,但原始trade_date字段保留用于展示。 - 前端展示:表格中继续使用原始
trade_date,统计分组使用后端返回的统计用交易日字段(或在后端完成分组后直接返回)。
Risks / Trade-offs
- 如果用户重复导入同一文件,会产生重复数据。需要通过业务提示引导用户,本次变更不再自动去重。