fix: get correct movie episode id

This commit is contained in:
Simon Ding
2025-04-20 10:41:58 +08:00
parent ec3f9b2f96
commit 8e9ba101c8
2 changed files with 19 additions and 17 deletions

View File

@@ -165,7 +165,7 @@ func (c *Engine) downloadTorrent(m *ent.Media, r1 torznab.Result, seasonNum int,
c.db.SetSeasonAllEpisodeStatus(m.ID, seasonNum, episode.StatusDownloading)
}
} else {
} else {//movie download
ep, _ := c.db.GetMovieDummyEpisode(m.ID)
if ep.Status == episode.StatusMissing {
c.db.SetEpisodeStatus(ep.ID, episode.StatusDownloading)

View File

@@ -204,35 +204,37 @@ func getSeasonNum(h *ent.History) int {
}
func (c *Engine) GetEpisodeIds(r *ent.History) []int {
var episodeIds []int
seasonNum := getSeasonNum(r)
// if r.EpisodeID > 0 {
// episodeIds = append(episodeIds, r.EpisodeID)
// }
series, err := c.db.GetMediaDetails(r.MediaID)
if err != nil {
log.Errorf("get media details error: %v", err)
return []int{}
}
if series.MediaType == media.MediaTypeMovie { //movie
ep, _ := c.db.GetMovieDummyEpisode(series.ID)
return []int{ep.ID}
} else { //tv
var episodeIds []int
seasonNum := getSeasonNum(r)
if len(r.EpisodeNums) > 0 {
for _, epNum := range r.EpisodeNums {
if len(r.EpisodeNums) > 0 {
for _, epNum := range r.EpisodeNums {
for _, ep := range series.Episodes {
if ep.SeasonNumber == seasonNum && ep.EpisodeNumber == epNum {
episodeIds = append(episodeIds, ep.ID)
}
}
}
} else {
for _, ep := range series.Episodes {
if ep.SeasonNumber == seasonNum && ep.EpisodeNumber == epNum {
if ep.SeasonNumber == seasonNum {
episodeIds = append(episodeIds, ep.ID)
}
}
}
} else {
for _, ep := range series.Episodes {
if ep.SeasonNumber == seasonNum {
episodeIds = append(episodeIds, ep.ID)
}
}
}
return episodeIds
}
return episodeIds
}
func (c *Engine) moveCompletedTask(id int) (err1 error) {