6 Commits

Author SHA1 Message Date
2624f9189b feat(dayend): 切日端点改 catch-up 语义——循环三步(日结余额快照→总账→日期+1)直至追平今天,停机多日/cron漏跑一次调用补齐不漏日;同日重放0步跳过;business_date超前今天拒绝;_MAX_CATCHUP=400防御异常配置(达上限时已推进天数完整生效,报错要求人工核查续跑) 2026-09-09 14:43:49 +08:00
c40f7f665a fix(businessdate): 修 dayend_balance/ledger 错误 import accounting.businessdate(实际在 appbase)——导入即 ModuleNotFoundError,切日/日结链路从未可用;dayend_balance 支持注入 sor 复用调用方事务上下文+返回快照日;新增 wwwroot/api/dayend.dspy 切日端点(localhost 门禁+当日幂等守卫,三步:日结余额快照→总账→business_date+1)供生产 cron 调用(2026-09-09 生产增量部署前置) 2026-09-09 13:46:13 +08:00
311753689a security: fetch_forex_rates.dspy 加 localhost 校验(定时任务入口)
该端点授权给 any 且无任何鉴权,会发起外网抓取(BOC 页面)并写 exchange_rate 表,
匿名可反复触发 → 外部请求放大 + 脏数据写入 + DoS。改为仅本机可调(client_ip)。
build.sh 的 crontab 本就是 curl localhost:9090,不影响定时任务。
2026-08-25 15:01:21 +08:00
8f09fc43df fix: remove updated_at from exchange_rate INSERT — column not yet added 2026-07-09 11:49:10 +08:00
5f752a6287 feat: BOC forex rate fetcher — /api/fetch_forex_rates.dspy 2026-07-09 11:46:35 +08:00
3f6c71b4d5 feat: multi-currency support — currency/exchange_rate tables + migration 2026-07-07 15:43:01 +08:00