diff --git a/core/database.go b/core/database.go index c05ac0b..750e382 100644 --- a/core/database.go +++ b/core/database.go @@ -122,14 +122,20 @@ func (d *Database) RemoveKeyword(keyword string) (bool, error) { return rowsAffected > 0, nil } -func (d *Database) CleanupExpiredLinks() error { +func (d *Database) CleanupExpiredLinks() (int64, error) { twoMonthsAgo := time.Now().AddDate(0, -2, 0) - _, err := d.db.Exec("DELETE FROM keywords WHERE is_link = TRUE AND is_auto_added = TRUE AND added_at < ?", twoMonthsAgo) + result, err := d.db.Exec("DELETE FROM keywords WHERE is_link = TRUE AND is_auto_added = TRUE AND added_at < ?", twoMonthsAgo) if err != nil { - return err + return 0, err } + + rowsAffected, err := result.RowsAffected() + if err != nil { + return 0, err + } + d.invalidateCache("keywords") - return nil + return rowsAffected, nil } func (d *Database) GetAllKeywords() ([]string, error) { diff --git a/service/scheduled_tasks.go b/service/scheduled_tasks.go index 3033907..fac0753 100644 --- a/service/scheduled_tasks.go +++ b/service/scheduled_tasks.go @@ -28,10 +28,10 @@ func periodicCleanup() { } func cleanupExpiredLinks() { - err := core.DB.CleanupExpiredLinks() + rowsAffected, err := core.DB.CleanupExpiredLinks() if err != nil { log.Printf("清理过期链接时发生错误: %v", err) } else { - log.Println("已成功清理过期链接") + log.Printf("已成功清理 %d 条过期链接", rowsAffected) } }