// 存储公告的仓储接口 package repositories import ( "context" "tyapi-server/internal/domains/article/entities" "tyapi-server/internal/domains/article/repositories/queries" "tyapi-server/internal/shared/interfaces" ) // AnnouncementRepository 公告仓储接口 type AnnouncementRepository interface { interfaces.Repository[entities.Announcement] // 自定义查询方法 FindByStatus(ctx context.Context, status entities.AnnouncementStatus) ([]*entities.Announcement, error) FindScheduled(ctx context.Context) ([]*entities.Announcement, error) ListAnnouncements(ctx context.Context, query *queries.ListAnnouncementQuery) ([]*entities.Announcement, int64, error) // 统计方法 CountByStatus(ctx context.Context, status entities.AnnouncementStatus) (int64, error) // 更新统计信息 UpdateStatistics(ctx context.Context, announcementID string) error }