Files
xiaotutongxue/backend
lovife 9216bd66d2 feat(schedule): 定时任务 8 项 + 用量快照/压缩重试/到期提醒(V17)
PRD 附录 E。每个任务都是两段式:先以平台身份(tenantId=0)扫候选,再逐个租户摆上下文
干活——写数据必须在第二段,否则 tenant_id 被写成 0,通知进平台租户且不报错。

V17 新建 sys_tenant_usage_snapshot(唯一索引保证幂等;tenant_id 必须显式写)并给
collect_file 补 process_retry_count / process_error / last_retry_time + 只索引
「还没处理出规范件」的部分索引;压缩失败重试必须封顶,否则原图损坏的文件会被每 10
分钟重试一次而永远不成功。

跨租户的候选查询全部集中在 ScheduleMapper 一个文件、一律 @InterceptorIgnore + 只读;
Map 结果的别名一律 AS "camelCase"(F-83:PG 会把未加引号的别名折成小写,
表现是任务照跑、日志一行 warn、什么都没做)。

验证:e2e-m7-schedule 38/38(含快照幂等与一致性、重试累加与封顶、到期提醒窗口)。
2026-09-30 09:02:55 +08:00
..