31 lines
1.7 KiB
Go
31 lines
1.7 KiB
Go
|
|
package article
|
||
|
|
|
||
|
|
import (
|
||
|
|
"context"
|
||
|
|
"tyapi-server/internal/application/article/dto/commands"
|
||
|
|
appQueries "tyapi-server/internal/application/article/dto/queries"
|
||
|
|
"tyapi-server/internal/application/article/dto/responses"
|
||
|
|
)
|
||
|
|
|
||
|
|
// AnnouncementApplicationService 公告应用服务接口
|
||
|
|
type AnnouncementApplicationService interface {
|
||
|
|
// 公告管理
|
||
|
|
CreateAnnouncement(ctx context.Context, cmd *commands.CreateAnnouncementCommand) error
|
||
|
|
UpdateAnnouncement(ctx context.Context, cmd *commands.UpdateAnnouncementCommand) error
|
||
|
|
DeleteAnnouncement(ctx context.Context, cmd *commands.DeleteAnnouncementCommand) error
|
||
|
|
GetAnnouncementByID(ctx context.Context, query *appQueries.GetAnnouncementQuery) (*responses.AnnouncementInfoResponse, error)
|
||
|
|
ListAnnouncements(ctx context.Context, query *appQueries.ListAnnouncementQuery) (*responses.AnnouncementListResponse, error)
|
||
|
|
|
||
|
|
// 公告状态管理
|
||
|
|
PublishAnnouncement(ctx context.Context, cmd *commands.PublishAnnouncementCommand) error
|
||
|
|
PublishAnnouncementByID(ctx context.Context, announcementID string) error // 通过ID发布公告 (用于定时任务)
|
||
|
|
WithdrawAnnouncement(ctx context.Context, cmd *commands.WithdrawAnnouncementCommand) error
|
||
|
|
ArchiveAnnouncement(ctx context.Context, cmd *commands.ArchiveAnnouncementCommand) error
|
||
|
|
SchedulePublishAnnouncement(ctx context.Context, cmd *commands.SchedulePublishAnnouncementCommand) error
|
||
|
|
UpdateSchedulePublishAnnouncement(ctx context.Context, cmd *commands.UpdateSchedulePublishAnnouncementCommand) error
|
||
|
|
CancelSchedulePublishAnnouncement(ctx context.Context, cmd *commands.CancelSchedulePublishAnnouncementCommand) error
|
||
|
|
|
||
|
|
// 统计信息
|
||
|
|
GetAnnouncementStats(ctx context.Context) (*responses.AnnouncementStatsResponse, error)
|
||
|
|
}
|