fix(auto-exchange): 「当天已兑」标记持久化到 app_config,防非0点重启重复补扫 #223

Merged
guke merged 2 commits from fix/auto-exchange-restart-resweep into main 2026-08-06 18:48:42 +08:00

2 Commits

Author SHA1 Message Date
guke d542a0b49e Merge branch 'main' of https://gitea.shaguabijia.com/WonderableAI/shaguabijia-app-server into fix/auto-exchange-restart-resweep 2026-08-06 17:54:35 +08:00
guke f25c2a0aa5 fix(auto-exchange): 「当天已兑」标记持久化到 app_config,防非0点重启重复补扫
worker 原用内存变量 last_run 记当天是否已兑,进程重启即归零;叠加「启动首轮无条件跑」,
导致每次非 0 点部署/重启都全量补扫一遍,把 0 点后才达标的用户(0 点是零头、白天攒够;
或 0 点后才赚到金币)在非 0 点兑成现金——即用户反馈的「非 0 点也出现金币转现金记录」。

改为把「上次成功兑换的北京日」持久化到 app_config(key=auto_exchange.last_run_date,仿
compare_alert 水位范式):当天已兑则同一北京日内重启/部署整轮跳过,不再补扫;真漏了 0 点
(标记<今天,如服务器宕机)才补跑一轮,保留原 Persistent 补跑语义。逐用户幂等保留做兜底。

新增 tests/test_daily_auto_exchange.py:首轮兑换+落库标记、同日重启不重复补扫(回归)、跨天补跑。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-06 17:49:58 +08:00