// Package cron 提供定时任务:过期扫描、回收、审计归档。 // M0 注册任务框架(任务函数在 M1/M4 接入),单实例部署说明见 PLAN §11。 package cron import ( "log/slog" "github.com/robfig/cron/v3" "gorm.io/gorm" ) // Jobs 聚合定时任务依赖与注册。 type Jobs struct { db *gorm.DB log *slog.Logger } // New 创建定时任务集合。 func New(db *gorm.DB, log *slog.Logger) *Jobs { return &Jobs{db: db, log: log} } // Register 将任务注册到 cron。骨架阶段注册空任务,M1/M4 填充实现。 func (j *Jobs) Register(c *cron.Cron) { // 过期扫描(M4):每日扫描到期账号,锁系统账号 + 邮件通知 // 回收任务(M4):超回收期账号自动回收(userdel + 保留审计) // 审计归档(M4):每日将过期审计记录导出归档后清理 c.AddFunc("@daily", func() { j.log.Info("cron: daily maintenance tick (tasks to be implemented in M1/M4)") }) }