update: douban

This commit is contained in:
Kerwin
2025-07-15 16:34:21 +08:00
parent 917f8f8d5d
commit 66cd328fcc
14 changed files with 594 additions and 274 deletions

View File

@@ -12,18 +12,26 @@ func HotDramaToResponse(drama *entity.HotDrama) *dto.HotDramaResponse {
}
return &dto.HotDramaResponse{
ID: drama.ID,
CreatedAt: drama.CreatedAt.Format("2006-01-02 15:04:05"),
UpdatedAt: drama.UpdatedAt.Format("2006-01-02 15:04:05"),
Title: drama.Title,
Rating: drama.Rating,
Year: drama.Year,
Directors: drama.Directors,
Actors: drama.Actors,
Category: drama.Category,
SubType: drama.SubType,
Source: drama.Source,
DoubanID: drama.DoubanID,
ID: drama.ID,
CreatedAt: drama.CreatedAt.Format("2006-01-02 15:04:05"),
UpdatedAt: drama.UpdatedAt.Format("2006-01-02 15:04:05"),
Title: drama.Title,
CardSubtitle: drama.CardSubtitle,
EpisodesInfo: drama.EpisodesInfo,
IsNew: drama.IsNew,
Rating: drama.Rating,
RatingCount: drama.RatingCount,
Year: drama.Year,
Region: drama.Region,
Genres: drama.Genres,
Directors: drama.Directors,
Actors: drama.Actors,
PosterURL: drama.PosterURL,
Category: drama.Category,
SubType: drama.SubType,
Source: drama.Source,
DoubanID: drama.DoubanID,
DoubanURI: drama.DoubanURI,
}
}

View File

@@ -2,15 +2,23 @@ package dto
// HotDramaRequest 热播剧请求
type HotDramaRequest struct {
Title string `json:"title" validate:"required"`
Rating float64 `json:"rating"`
Year string `json:"year"`
Directors string `json:"directors"`
Actors string `json:"actors"`
Category string `json:"category"`
SubType string `json:"sub_type"`
Source string `json:"source"`
DoubanID string `json:"douban_id"`
Title string `json:"title" validate:"required"`
CardSubtitle string `json:"card_subtitle"`
EpisodesInfo string `json:"episodes_info"`
IsNew bool `json:"is_new"`
Rating float64 `json:"rating"`
RatingCount int `json:"rating_count"`
Year string `json:"year"`
Region string `json:"region"`
Genres string `json:"genres"`
Directors string `json:"directors"`
Actors string `json:"actors"`
PosterURL string `json:"poster_url"`
Category string `json:"category"`
SubType string `json:"sub_type"`
Source string `json:"source"`
DoubanID string `json:"douban_id"`
DoubanURI string `json:"douban_uri"`
}
// HotDramaResponse 热播剧响应
@@ -19,15 +27,23 @@ type HotDramaResponse struct {
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
Title string `json:"title"`
Rating float64 `json:"rating"`
Year string `json:"year"`
Directors string `json:"directors"`
Actors string `json:"actors"`
Category string `json:"category"`
SubType string `json:"sub_type"`
Source string `json:"source"`
DoubanID string `json:"douban_id"`
Title string `json:"title"`
CardSubtitle string `json:"card_subtitle"`
EpisodesInfo string `json:"episodes_info"`
IsNew bool `json:"is_new"`
Rating float64 `json:"rating"`
RatingCount int `json:"rating_count"`
Year string `json:"year"`
Region string `json:"region"`
Genres string `json:"genres"`
Directors string `json:"directors"`
Actors string `json:"actors"`
PosterURL string `json:"poster_url"`
Category string `json:"category"`
SubType string `json:"sub_type"`
Source string `json:"source"`
DoubanID string `json:"douban_id"`
DoubanURI string `json:"douban_uri"`
}
// HotDramaListResponse 热播剧列表响应

View File

@@ -11,19 +11,27 @@ type HotDrama struct {
UpdatedAt time.Time `json:"updated_at"`
// 基本信息
Title string `json:"title" gorm:"size:255;not null"` // 剧名
Rating float64 `json:"rating" gorm:"default:0"` // 评分
Year string `json:"year" gorm:"size:10"` // 年份
Directors string `json:"directors" gorm:"size:500"` // 导演(多个用逗号分隔)
Actors string `json:"actors" gorm:"size:1000"` // 演员(多个用逗号分隔)
Title string `json:"title" gorm:"size:255;not null"` // 剧名
CardSubtitle string `json:"card_subtitle" gorm:"size:500"` // 副标题
EpisodesInfo string `json:"episodes_info" gorm:"size:100"` // 集数信息
IsNew bool `json:"is_new" gorm:"default:false"` // 是否新剧
Rating float64 `json:"rating" gorm:"default:0"` // 评分
RatingCount int `json:"rating_count" gorm:"default:0"` // 评分人数
Year string `json:"year" gorm:"size:10"` // 年份
Region string `json:"region" gorm:"size:100"` // 地区
Genres string `json:"genres" gorm:"size:500"` // 类型(多个用逗号分隔)
Directors string `json:"directors" gorm:"size:500"` // 导演(多个用逗号分隔)
Actors string `json:"actors" gorm:"size:1000"` // 演员(多个用逗号分隔)
PosterURL string `json:"poster_url" gorm:"size:500"` // 海报URL
// 分类信息
Category string `json:"category" gorm:"size:50"` // 分类(电影/电视剧)
SubType string `json:"sub_type" gorm:"size:50"` // 子类型(华语/欧美/韩国/日本等)
// 数据来源
Source string `json:"source" gorm:"size:50;default:'douban'"` // 数据来源
DoubanID string `json:"douban_id" gorm:"size:50"` // 豆瓣ID
Source string `json:"source" gorm:"size:50;default:'douban'"` // 数据来源
DoubanID string `json:"douban_id" gorm:"size:50"` // 豆瓣ID
DoubanURI string `json:"douban_uri" gorm:"size:200"` // 豆瓣链接
}
// TableName 指定表名