Commit Graph
48 Commits
Author SHA1 Message Date
xuyueandClaude Opus 5 8557f8a5f5 refactor: python-dateutil 换成标准库
- contest 后台创建/编辑:dateutil.parser.parse 换成
  datetime.fromisoformat。serializer 里 start_time/end_time 声明的是
  DateTimeField,而 validate_serializer 做的是 request.data = s.data,
  即重新序列化一遍,所以视图拿到的必定是 DRF 规范化后的 ISO 8601,
  dateutil 的宽容解析能力在这里从来没用上
- AI 学情统计:relativedelta 换成 shift_months 辅助函数,复刻月末
  收缩语义(1月31日 + 1个月 = 2月28/29日)。_parse_duration 的配置
  由 delta 对象改为 rewind/advance 可调用,周档和月档统一

删除依赖:python-dateutil、six

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 23:05:50 -06:00
xuyueandClaude Sonnet 5 3a9ab83ba5 style: ruff format 全仓库
行宽 180 下把历史遗留的折行表达式合并,无语义改动。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-05 04:45:26 -06:00
xuyue 95949e565c update 2026-06-09 05:04:43 -06:00
xuyue 84e972b174 update 2026-06-05 00:58:51 -06:00
xuyue 513743c767 update 2026-06-04 08:44:58 -06:00
xuyue 6a870875ee add ai report 2026-06-04 08:06:31 -06:00
xuyue 3d5ace65f2 feat: register ai admin URL routes 2026-06-04 07:31:14 -06:00
xuyue baed3b80f1 feat: add AIAnalysisAdminAPI for listing and reading reports 2026-06-04 07:27:24 -06:00
xuyue 39f1e8b35e fix: use utils.api serializers import instead of rest_framework directly 2026-06-04 07:26:08 -06:00
xuyue f8cbcf28c1 feat: add AIAnalysis serializers for admin list/detail 2026-06-04 07:25:45 -06:00
xuyue 59dbb6868f update 2026-06-03 00:01:29 -06:00
xuyueandClaude Opus 4.6 385d04505b feat: open teaching analytics to Teacher Admin
StuckProblems, TopACTrend, AI user analysis, and problemset user
progress are now accessible to Teacher Admin (previously super-only).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-02 18:17:26 -06:00
xuyue 125d57b123 update 2026-06-02 10:48:24 -06:00
xuyue fd7384980a update 2026-05-28 19:13:14 -06:00
xuyue 4187fe6891 feat: update ai/views/oj.py query filters to treat AST_CHECK_FAILED as accepted 2026-05-25 20:46:11 -06:00
xuyue 97a9269e2a fix 2026-05-09 01:38:24 -06:00
xuyue 031be90445 fix 2026-05-08 20:16:19 -06:00
xuyue 34f6a2e24a no thinking 2026-05-08 19:25:07 -06:00
xuyue b122c50780 update 2026-05-08 06:29:01 -06:00
xuyue 996f4ae242 fix 2026-05-07 08:20:45 -06:00
xuyue 400c24416f fix 2026-05-07 08:02:42 -06:00
xuyue 3c3fce81db update 2026-05-07 07:53:00 -06:00
xuyue 2e49291d84 add username for ai analysis 2026-05-07 07:34:23 -06:00
xuyue df097dd610 fix flowchart 2026-05-07 06:09:13 -06:00
xuyue c0c5be9420 change to v4 flash 2026-04-27 06:32:06 -06:00
xuyue 028ea6e5f9 fmt 2026-04-23 13:57:56 -06:00
xuyue a12a665fde update 2026-03-18 13:26:32 +08:00
xuyue 8a3a7e21cf refactor 2026-03-11 21:35:54 +08:00
xuyue 889380c58e add teaching feature 2026-03-08 21:15:46 +08:00
xuyue 95fb8cf6e9 前端判断 2026-01-18 20:56:37 +08:00
xuyue 94be33c7a2 add login summary 2026-01-18 20:10:46 +08:00
xuyue ed40019a14 自动生成流程图 2026-01-05 10:23:02 +08:00
xuyue 9235b111c0 update 2025-10-20 20:38:53 +08:00
xuyue a103dd6b38 add flowchart list 2025-10-20 20:05:10 +08:00
xuyue 58fd5371d3 update grade 2025-10-08 21:49:46 +08:00
xuyue 8a4fec28cf update 2025-10-07 03:05:21 +08:00
xuyue 6bb0ff6438 update 2025-10-07 00:25:48 +08:00
xuyue 8436a4602f add heatmap 2025-09-25 15:25:39 +08:00
xuyue 4bbeee2ea4 cleanup 2025-09-25 08:52:58 +08:00
xuyue 7e2f820738 去掉 username 2025-09-24 22:14:20 +08:00
xuyue 2d2bf2c3c5 fix 2025-09-24 21:34:14 +08:00
xuyue 4126e5b1e1 优化 2025-09-24 21:19:12 +08:00
xuyue c528125115 update 2025-09-24 21:02:27 +08:00
xuyue 4efd801c54 add model 2025-09-24 21:01:01 +08:00
xuyue e57ad31393 update 2025-09-24 19:03:23 +08:00
xuyue 5d16f9fadd add stream 2025-09-24 18:28:30 +08:00
xuyue 5479357c33 add openai 2025-09-24 16:20:36 +08:00
xuyue 6e1e3ef0c6 新增AI分析 2025-09-24 01:02:29 +08:00