mirror of
https://github.com/truewhile/MeBox.git
synced 2026-10-13 00:26:37 +08:00
feat(telegram): 订阅/下载补齐 year/rating/genres/原名/语言 富通知字段
- 模型: Subscription/DownloadTask 新增 OriginalName/OriginalLanguage/Year/ Rating/Genres 列(GORM AutoMigrate 自动建列, 无需手写迁移) - enrich 链路: displayMetadata 与 DownloadTaskMeta 携带新字段, 从 SearchExternalMedia(TMDb/豆瓣/Bangumi)结果回填并持久化; 放宽提前返回 门槛, 已有海报但缺新字段时仍补齐 - 通知: 订阅/下载完成事件 data 注入 year/rating/genres/original_title/ original_language, 喂给作者富模板 formatTelegramMediaNotification - 测试: 新增端到端断言, 验证补齐字段透传进 Telegram caption
This commit is contained in:
@@ -110,6 +110,11 @@ type DownloadTaskMeta struct {
|
||||
MediaType string
|
||||
MediaCategory string
|
||||
SourceCategory string
|
||||
OriginalName string
|
||||
OriginalLanguage string
|
||||
Year int
|
||||
Rating float32
|
||||
Genres string
|
||||
AllowExistingLibrary bool
|
||||
}
|
||||
|
||||
@@ -570,6 +575,11 @@ func (d *DownloadService) createTask(ctx context.Context, userID, urlStr, savePa
|
||||
SavePath: savePath,
|
||||
MediaType: meta.MediaType,
|
||||
MediaCategory: meta.MediaCategory,
|
||||
OriginalName: meta.OriginalName,
|
||||
OriginalLanguage: meta.OriginalLanguage,
|
||||
Year: meta.Year,
|
||||
Rating: meta.Rating,
|
||||
Genres: meta.Genres,
|
||||
Status: "queued",
|
||||
AllowExistingLibrary: meta.AllowExistingLibrary,
|
||||
}
|
||||
@@ -1381,6 +1391,21 @@ func (d *DownloadService) notifyDownloadComplete(ctx context.Context, torrent QB
|
||||
if strings.TrimSpace(task.Overview) != "" {
|
||||
data["overview"] = task.Overview
|
||||
}
|
||||
if strings.TrimSpace(task.OriginalName) != "" {
|
||||
data["original_title"] = task.OriginalName
|
||||
}
|
||||
if strings.TrimSpace(task.OriginalLanguage) != "" {
|
||||
data["original_language"] = task.OriginalLanguage
|
||||
}
|
||||
if task.Year > 0 {
|
||||
data["year"] = task.Year
|
||||
}
|
||||
if task.Rating > 0 {
|
||||
data["rating"] = task.Rating
|
||||
}
|
||||
if strings.TrimSpace(task.Genres) != "" {
|
||||
data["genres"] = task.Genres
|
||||
}
|
||||
}
|
||||
go func() {
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
|
||||
|
||||
Reference in New Issue
Block a user