feat: 添加内容可见性字段和过滤选项,优化内容列表查询功能

This commit is contained in:
2026-01-06 10:04:50 +08:00
parent 1d53d9560e
commit 31d6192816
3 changed files with 39 additions and 3 deletions

View File

@@ -72,6 +72,7 @@ type CreatorContentItem struct {
VideoCount int `json:"video_count"`
AudioCount int `json:"audio_count"`
Status string `json:"status"`
Visibility string `json:"visibility"`
CreatedAt string `json:"created_at"`
IsPinned bool `json:"is_pinned"`
IsPurchased bool `json:"is_purchased"`
@@ -89,8 +90,9 @@ type AssetDTO struct {
type CreatorContentListFilter struct {
requests.Pagination
Status *string `query:"status"`
Genre *string `query:"genre"`
Status *string `query:"status"`
Visibility *string `query:"visibility"`
Genre *string `query:"genre"`
Key *string `query:"key"`
Keyword *string `query:"keyword"`
}

View File

@@ -121,6 +121,12 @@ func (s *creator) ListContents(
if filter.Status != nil && *filter.Status != "" {
q = q.Where(tbl.Status.Eq(consts.ContentStatus(*filter.Status)))
}
if filter.Visibility != nil && *filter.Visibility != "" {
q = q.Where(tbl.Visibility.Eq(consts.ContentVisibility(*filter.Visibility)))
}
if filter.Visibility != nil && *filter.Visibility != "" {
q = q.Where(tbl.Visibility.Eq(consts.ContentVisibility(*filter.Visibility)))
}
if filter.Genre != nil && *filter.Genre != "" {
val := *filter.Genre
if cn, ok := genreMap[val]; ok {
@@ -208,6 +214,7 @@ func (s *creator) ListContents(
VideoCount: videoCount,
AudioCount: audioCount,
Status: string(item.Status),
Visibility: string(item.Visibility),
CreatedAt: item.CreatedAt.Format("2006-01-02 15:04"),
IsPinned: item.IsPinned,
IsPurchased: false,