This commit is contained in:
2026-07-03 20:28:12 +08:00
parent fcb446b230
commit e8b7199fe4
6 changed files with 21 additions and 13 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ var Drama = new(drama)
// ==================== Drama CRUD ====================
func (c *drama) List(ctx context.Context, req *dto.ListDramaReq) (res *dto.ListDramaRes, err error) {
list, total, err := service.DramaService.List(ctx, req.Page, req.PageSize)
list, total, err := service.DramaService.List(ctx, req.Page, req.PageSize, req.Keyword)
if err != nil {
return nil, err
}
+1 -1
View File
@@ -9,7 +9,7 @@ import (
// ==================== Episode CRUD ====================
func (c *drama) ListEpisode(ctx context.Context, req *dto.ListEpisodeReq) (res *dto.ListEpisodeRes, err error) {
list, total, err := service.DramaService.ListEpisode(ctx, req.DramaId, req.Page, req.PageSize)
list, total, err := service.DramaService.ListEpisode(ctx, req.DramaId, req.Page, req.PageSize, req.Keyword)
if err != nil {
return nil, err
}
+4 -1
View File
@@ -103,8 +103,11 @@ func (d *dramaDao) Delete(ctx context.Context, id int64) error {
return err
}
func (d *dramaDao) ListPage(ctx context.Context, page, pageSize int) (res []*entity.Drama, total int, err error) {
func (d *dramaDao) ListPage(ctx context.Context, page, pageSize int, keyword ...string) (res []*entity.Drama, total int, err error) {
m := g.DB().Model(public.TableNameDrama).Ctx(ctx)
if len(keyword) > 0 && keyword[0] != "" {
m = m.Where("title LIKE ?", "%"+keyword[0]+"%")
}
if pageSize == -1 {
r, err := m.OrderDesc("id").All()
if err != nil {
+4 -1
View File
@@ -90,8 +90,11 @@ func (d *episodeDao) DeleteByDrama(ctx context.Context, dramaId int64) error {
return err
}
func (d *episodeDao) ListPageByDrama(ctx context.Context, dramaId int64, page, pageSize int) (res []*entity.Episode, total int, err error) {
func (d *episodeDao) ListPageByDrama(ctx context.Context, dramaId int64, page, pageSize int, keyword ...string) (res []*entity.Episode, total int, err error) {
m := g.DB().Model(public.TableNameEpisode).Ctx(ctx).Where("drama_id", dramaId)
if len(keyword) > 0 && keyword[0] != "" {
m = m.Where("title LIKE ?", "%"+keyword[0]+"%")
}
if pageSize == -1 {
r, err := m.OrderAsc("idx").All()
if err != nil {
+7 -5
View File
@@ -10,8 +10,9 @@ import (
type ListDramaReq struct {
g.Meta `path:"/list" method:"get" tags:"短剧管理" summary:"短剧列表"`
Page int `json:"page" dc:"页码,从1开始"`
PageSize int `json:"pageSize" dc:"每页条数"`
Page int `json:"page" dc:"页码,从1开始"`
PageSize int `json:"pageSize" dc:"每页条数"`
Keyword string `json:"keyword" dc:"搜索关键词"`
}
type ListDramaRes struct {
@@ -25,9 +26,10 @@ type ListDramaRes struct {
type ListEpisodeReq struct {
g.Meta `path:"/episode/list" method:"get" tags:"短剧管理" summary:"剧集列表"`
DramaId int64 `json:"dramaId" dc:"短剧ID"`
Page int `json:"page" dc:"页码,从1开始"`
PageSize int `json:"pageSize" dc:"每页条数"`
DramaId int64 `json:"dramaId" dc:"短剧ID"`
Page int `json:"page" dc:"页码,从1开始"`
PageSize int `json:"pageSize" dc:"每页条数"`
Keyword string `json:"keyword" dc:"搜索关键词"`
}
type ListEpisodeRes struct {
+4 -4
View File
@@ -57,12 +57,12 @@ func (s *dramaService) Create(ctx context.Context, title, style string, episodeD
return id, nil
}
func (s *dramaService) List(ctx context.Context, page, pageSize int) (list []*entity.Drama, total int, err error) {
return dao.Drama.ListPage(ctx, page, pageSize)
func (s *dramaService) List(ctx context.Context, page, pageSize int, keyword ...string) (list []*entity.Drama, total int, err error) {
return dao.Drama.ListPage(ctx, page, pageSize, keyword...)
}
func (s *dramaService) ListEpisode(ctx context.Context, dramaId int64, page, pageSize int) (list []*entity.Episode, total int, err error) {
return dao.Episode.ListPageByDrama(ctx, dramaId, page, pageSize)
func (s *dramaService) ListEpisode(ctx context.Context, dramaId int64, page, pageSize int, keyword ...string) (list []*entity.Episode, total int, err error) {
return dao.Episode.ListPageByDrama(ctx, dramaId, page, pageSize, keyword...)
}
func (s *dramaService) Get(ctx context.Context, id int64) (*entity.Drama, []*entity.Character, []*entity.Episode, []*entity.Scene, []*entity.Prop, []*entity.GenerationTask, error) {