diff options
Diffstat (limited to 'src/FundLab.Domain')
| -rw-r--r-- | src/FundLab.Domain/Dividend.fs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/FundLab.Domain/Dividend.fs b/src/FundLab.Domain/Dividend.fs index 005a1c5..5a4259b 100644 --- a/src/FundLab.Domain/Dividend.fs +++ b/src/FundLab.Domain/Dividend.fs @@ -15,6 +15,11 @@ module DividendPolicy = | Cash -> "cash" | Reinvest -> "reinvest" + /// Deterministic provenance key of a booked scheme. Shared by the writer (idempotency + /// identity) and the read model (历史列表的“来源 schema key”), so both stay in lockstep. + let schemeKey (fundId: Guid) (instrumentCode: string) (navDate: DateOnly) (mode: DividendMode) : string = + sprintf "dividend-scheme:%O:%s:%s:%s" fundId instrumentCode (navDate.ToString("yyyy-MM-dd")) (modeText mode) + let parseMode (text: string) : DividendMode option = match text with | null -> None |
