feat(成就): 多了 9 个好拿的档和「挑战成功」一条线,比赛里做的题也算,这学期八成学生多拿到成就

- 补档:做对 20 道、第一道中等题、交满 30 次、5 天交过题、一次就对 5 道、错 3 次后做对、一天做对 5 道;
  新线「挑战成功」1 次 / 5 次
- 比赛里的提交也计入成就(比赛其实是单班测验,2612 班整班在比赛里做题,原来一个成就都没有);
  参加过几场比赛改成判题时就更新,以前只在后台重扫时刷新
- 奖杯收藏家从 15 个提到 20 个
- 0044 迁移:按新口径从提交记录重数指标,给达标的人补发(已经拿到的不收回)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
xuyueandClaude Opus 5.5 committed 2026-11-03 16:52:00 +08:00
1 parent 1fdee94812
commit cccf7a37be
7 files changed
+4356 -18

No files matched your search

+1 -1
View File
@@ -507,7 +507,7 @@ export const problemListSortSchema = z.enum(['', 'create_time', '-submission_num
* 离哪个成就最近;没做对的只给一个数(「有 n 道差一点」),不列出来。
*/
export const problemProgressSchema = z.object({
/** 做对的题数,和成就的「AC 题目数」同一个数(不含比赛),这样「再做对 n 道」加得上 */
/** 做对的题数,和成就的「AC 题目数」同一个数(含比赛题,2026-11-03 起),这样「再做对 n 道」加得上 */
solved: z.number().int(),
/** 本周(东八区周一起)新做对几道 */
weekSolved: z.number().int(),