fix(achievement): 重算时重建增量辅助键,避免指标回退

This commit is contained in:
2026-08-04 01:39:29 -06:00
parent 72fec2ca61
commit 1ef681d5e9
2 changed files with 39 additions and 0 deletions

View File

@@ -41,6 +41,9 @@ class Command(BaseCommand):
# None 表示该指标无有效值key 必须缺席而不是置 0
if value is not None:
metrics[key] = value
# 一并重建增量辅助键,否则重算后的第一次判题会把
# active_days / languages_used / max_ac_in_one_day 打回 1
metrics.update(m.recompute_state(user))
stat.metrics = metrics
stat.save(update_fields=["metrics", "update_time"])