25 lines
881 B
Go
25 lines
881 B
Go
// 存储公告的仓储接口
|
|
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
|
|
}
|