Files
group_xinghuo_jinrong/app/service/convert/__init__.py
T

13 lines
720 B
Python
Raw Normal View History

"""基金转换(convert)纯函数包(架构设计-基金转换交易 §2/§7)。
**本包硬约束**:只做金额/费率/份额/日期口径的计算与规则判定,
**不查库、不碰 SQL、不读 settings、不写日志**——所有输入由调用方
(`repository` 取数后)显式传入,输出为不可变 dataclass。
这样做的目的:
1. 金额链路最易错,纯函数才能**穷举单测**(D1);
2. `plan_lots()` 必须"先规划再判上限",不能在事务里半途失败(§8.3 `TOO_MANY_LOTS`);
3. `lot_bootstrap.bootstrap_lots()` 被 `trade_gateway` 兜底补建与
`scripts/core/rebuild_lots.py` **同调**(D18),必须与 IO 解耦才能两侧一致。
"""