lh hace 2 meses
padre
commit
9dae2bd92f
Se han modificado 1 ficheros con 20 adiciones y 10 borrados
  1. 20 10
      app/Http/Controllers/Anime/AnimeController.php

+ 20 - 10
app/Http/Controllers/Anime/AnimeController.php

@@ -1504,6 +1504,16 @@ class AnimeController extends BaseController
         $animeId = $data['anime_id'];
         $animeId = $data['anime_id'];
         $episodeId = $data['episode_id'];
         $episodeId = $data['episode_id'];
         
         
+        // 查询没有pic_task_id的分镜个数
+        $noPicTaskCount = DB::table('mp_episode_segments')
+            ->where('anime_id', $animeId)
+            ->where('episode_id', $episodeId)
+            ->where(function($query) {
+                $query->whereNull('pic_task_id')
+                      ->orWhere('pic_task_id', '');
+            })
+            ->count('id');
+        
         // 获取所有分镜信息
         // 获取所有分镜信息
         $segments = DB::table('mp_episode_segments')
         $segments = DB::table('mp_episode_segments')
             ->where('anime_id', $animeId)
             ->where('anime_id', $animeId)
@@ -1526,7 +1536,7 @@ class AnimeController extends BaseController
         $checkInterval = 5; // 每5秒检查一次
         $checkInterval = 5; // 每5秒检查一次
         
         
         // 设置 SSE 响应头并开始长连接
         // 设置 SSE 响应头并开始长连接
-        return response()->stream(function () use ($segments, $animeId, $episodeId, $startTime, $maxDuration, $checkInterval, $count) {
+        return response()->stream(function () use ($segments, $animeId, $episodeId, $startTime, $maxDuration, $checkInterval, $count, $noPicTaskCount) {
 
 
             if ($count == 0) {
             if ($count == 0) {
                 $completedCount = DB::table('mp_episode_segments')->where('anime_id', $animeId)->where('episode_id', $episodeId)->where('pic_task_id', '<>', '')->where('pic_task_status', '已完成')->count('id');
                 $completedCount = DB::table('mp_episode_segments')->where('anime_id', $animeId)->where('episode_id', $episodeId)->where('pic_task_id', '<>', '')->where('pic_task_status', '已完成')->count('id');
@@ -1536,8 +1546,8 @@ class AnimeController extends BaseController
                         'anime_id' => $animeId,
                         'anime_id' => $animeId,
                         'episode_id' => $episodeId,
                         'episode_id' => $episodeId,
                         'completed_count' => $completedCount, // 成功完成的数量
                         'completed_count' => $completedCount, // 成功完成的数量
-                        'processed_count' => count($segments), // 已处理完成的数量(成功+失败)
-                        'total_count' => count($segments),
+                        'processed_count' => count($segments) + $noPicTaskCount, // 已处理完成的数量(成功+失败)+ 没有pic_task_id的分镜
+                        'total_count' => count($segments) + $noPicTaskCount, // 总数包含没有pic_task_id的分镜
                         'total_elapsed_time' => time() - $startTime,
                         'total_elapsed_time' => time() - $startTime,
                         'episode_info' => $episode ?? null
                         'episode_info' => $episode ?? null
                     ]
                     ]
@@ -1553,7 +1563,7 @@ class AnimeController extends BaseController
                 'data' => [
                 'data' => [
                     'anime_id' => $animeId,
                     'anime_id' => $animeId,
                     'episode_id' => $episodeId,
                     'episode_id' => $episodeId,
-                    'total_segments' => count($segments),
+                    'total_segments' => count($segments) + $noPicTaskCount, // 总数包含没有pic_task_id的分镜
                     'start_time' => $startTime,
                     'start_time' => $startTime,
                     'max_duration' => $maxDuration
                     'max_duration' => $maxDuration
                 ]
                 ]
@@ -1681,8 +1691,8 @@ class AnimeController extends BaseController
                                 'episode_id' => $episodeId,
                                 'episode_id' => $episodeId,
                                 'updated_images' => $updatedImages,
                                 'updated_images' => $updatedImages,
                                 'completed_count' => count($completedSegments), // 成功完成的数量
                                 'completed_count' => count($completedSegments), // 成功完成的数量
-                                'processed_count' => count($processedSegments), // 已处理完成的数量(成功+失败)
-                                'total_count' => count($segments),
+                                'processed_count' => count($processedSegments) + $noPicTaskCount, // 已处理完成的数量(成功+失败)+ 没有pic_task_id的分镜
+                                'total_count' => count($segments) + $noPicTaskCount, // 总数包含没有pic_task_id的分镜
                                 'elapsed_time' => time() - $startTime,
                                 'elapsed_time' => time() - $startTime,
                                 'remaining_time' => max(0, $maxDuration - (time() - $startTime))
                                 'remaining_time' => max(0, $maxDuration - (time() - $startTime))
                             ]
                             ]
@@ -1768,8 +1778,8 @@ class AnimeController extends BaseController
                                 'anime_id' => $animeId,
                                 'anime_id' => $animeId,
                                 'episode_id' => $episodeId,
                                 'episode_id' => $episodeId,
                                 'completed_count' => count($completedSegments), // 成功完成的数量
                                 'completed_count' => count($completedSegments), // 成功完成的数量
-                                'processed_count' => count($processedSegments), // 已处理完成的数量(成功+失败)
-                                'total_count' => count($segments),
+                                'processed_count' => count($processedSegments) + $noPicTaskCount, // 已处理完成的数量(成功+失败)+ 没有pic_task_id的分镜
+                                'total_count' => count($segments) + $noPicTaskCount, // 总数包含没有pic_task_id的分镜
                                 'total_elapsed_time' => time() - $startTime,
                                 'total_elapsed_time' => time() - $startTime,
                                 'episode_info' => $episode ?? null
                                 'episode_info' => $episode ?? null
                             ]
                             ]
@@ -1813,8 +1823,8 @@ class AnimeController extends BaseController
                         'anime_id' => $animeId,
                         'anime_id' => $animeId,
                         'episode_id' => $episodeId,
                         'episode_id' => $episodeId,
                         'completed_count' => count($completedSegments), // 成功完成的数量
                         'completed_count' => count($completedSegments), // 成功完成的数量
-                        'processed_count' => count($processedSegments), // 已处理完成的数量(成功+失败)
-                        'total_count' => count($segments),
+                        'processed_count' => count($processedSegments) + $noPicTaskCount, // 已处理完成的数量(成功+失败)+ 没有pic_task_id的分镜
+                        'total_count' => count($segments) + $noPicTaskCount, // 总数包含没有pic_task_id的分镜
                         'total_elapsed_time' => time() - $startTime,
                         'total_elapsed_time' => time() - $startTime,
                         'timeout_duration' => $maxDuration
                         'timeout_duration' => $maxDuration
                     ]
                     ]