lh пре 3 недеља
родитељ
комит
965aa21da9
2 измењених фајлова са 14 додато и 4 уклоњено
  1. 3 4
      app/Services/Anime/AnimeService.php
  2. 11 0
      app/Services/DeepSeek/DeepSeekService.php

+ 3 - 4
app/Services/Anime/AnimeService.php

@@ -574,6 +574,7 @@ class AnimeService
         $episodeNumbers = array_map('intval', array_column($episodes, 'episode_number'));
         $episodeNumbers = array_map('intval', array_column($episodes, 'episode_number'));
         $episodeTasks = DB::table('mp_batch_episode_generation_details')
         $episodeTasks = DB::table('mp_batch_episode_generation_details')
             ->where('anime_id', $anime_id)
             ->where('anime_id', $anime_id)
+            ->whereIn('status', ['pending', 'processing']) // 只获取待生成/生成中任务,已完成或失败的不显示
             ->orderBy('episode_number')
             ->orderBy('episode_number')
             ->get()
             ->get()
             ->map(function ($task) use ($episodeNumbers) {
             ->map(function ($task) use ($episodeNumbers) {
@@ -581,13 +582,11 @@ class AnimeService
                     return null;
                     return null;
                 }
                 }
 
 
-                $item = [
+                return [
                     'episode_number' => (int)$task->episode_number,
                     'episode_number' => (int)$task->episode_number,
                     'status'         => $task->status,
                     'status'         => $task->status,
-                    'error_message'  => $task->status === 'failed' ? ($task->error_message ?? '') : '',
+                    'error_message'  => '',
                 ];
                 ];
-
-                return $item;
             })
             })
             ->filter()
             ->filter()
             ->values()
             ->values()

+ 11 - 0
app/Services/DeepSeek/DeepSeekService.php

@@ -11513,6 +11513,17 @@ Q版卡通风格,头大身小,造型圆润可爱,线条简单,色彩明
                 Utils::throwError('20003:剧集序号范围错误,结束剧集序号不能小于起始剧集序号');
                 Utils::throwError('20003:剧集序号范围错误,结束剧集序号不能小于起始剧集序号');
             }
             }
 
 
+            // 起始序号必须是已有剧集(is_default=1)的下一个序号,不允许跨序号创建
+            $currentMaxEpisode = DB::table('mp_anime_episodes')
+                ->where('anime_id', $anime_id)
+                ->where('is_default', 1)
+                ->max('episode_number');
+            $currentMaxEpisode = $currentMaxEpisode ?: 0;
+            $nextEpisodeNumber = $currentMaxEpisode + 1;
+            if ($start_episode_number !== $nextEpisodeNumber) {
+                Utils::throwError('20003:起始剧集序号必须是已有剧集的下一个序号(第' . $nextEpisodeNumber . '集),不允许跨序号创建');
+            }
+
             $startEpisodeNumber = $start_episode_number;
             $startEpisodeNumber = $start_episode_number;
             $endEpisodeNumber = $end_episode_number;
             $endEpisodeNumber = $end_episode_number;
         } else {
         } else {