lh 3 месяцев назад
Родитель
Сommit
9367830aab

+ 5 - 2
app/Http/Controllers/Anime/AnimeController.php

@@ -180,7 +180,7 @@ class AnimeController extends BaseController
     public function copySegment(Request $request) {
         $data = $request->all();
         $result = $this->AnimeService->copySegment($data);
-        return $this->success(['success'=>$result ? 1: 0]);
+        return $this->success($result);
     }
 
     // 移动分镜
@@ -404,7 +404,9 @@ class AnimeController extends BaseController
         $segments = DB::table('mp_episode_segments')
             ->where('anime_id', $animeId)
             ->where('episode_id', $episodeId)
+            ->where('video_url', '')
             ->orderBy('segment_number')
+            ->limit(2)
             ->get();
             
         if ($segments->isEmpty()) {
@@ -448,7 +450,7 @@ class AnimeController extends BaseController
                     'draft' => false,
                     'watermark' => false,
                     'camera_fixed' => false,
-                    'callback_url' => 'http://mpaudio.yqsd.cn'
+                    // 'callback_url' => 'http://mpaudio.yqsd.cn/api/video/seedanceCallback'
                 ];
                 
                 // 如果分镜有图片,作为首帧
@@ -564,6 +566,7 @@ class AnimeController extends BaseController
                                 // 更新任务状态
                                 $task->update([
                                     'status' => $statusResult['status'],
+                                    'result_json' => $statusResult['result_json'] ?? [],
                                     'result_url' => $statusResult['result_url'] ?? null,
                                     'last_frame_url' => $statusResult['last_frame_url'] ?? '',
                                     'error_message' => $statusResult['error_message'] ?? null,

+ 3 - 6
app/Services/AIGeneration/AIVideoGenerationService.php

@@ -551,7 +551,7 @@ class AIVideoGenerationService
             if (isset($responseData['error'])) {
                 return [
                     'status'    => MpGenerateVideoTask::STATUS_FAILED,
-                    'result_json' => [],
+                    'result_json' => $responseData,
                     'error_message' => $responseData['error']['message'] ?? 'API查询失败'
                 ];
             }
@@ -593,11 +593,8 @@ class AIVideoGenerationService
                 }
                 return $updateData;
             } elseif ($taskStatus === MpGenerateVideoTask::STATUS_FAILED) {
-                $updateData = [
-                    'status' => MpGenerateVideoTask::STATUS_FAILED,
-                    'result_json' => [],
-                    'error_message' => $responseData['error_message'] ?? '任务执行失败',
-                ];
+                $updateData['status'] = MpGenerateVideoTask::STATUS_FAILED;
+                $updateData['error_message'] =  $responseData['error_message'] ?? '任务执行失败';
                 return $updateData;
             }
             // 其他状态保持不变

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

@@ -1103,6 +1103,7 @@ class AnimeService
         $episode_number = getProp($segment, 'episode_number');
         $segment_number = getProp($segment, 'segment_number');
 
+        $new_segment_id = 0;
         try {
             DB::beginTransaction();
 
@@ -1120,8 +1121,8 @@ class AnimeService
             }
 
             // 复制分镜
-            $boolen = DB::table('mp_episode_segments')->insert($segment);
-            if (!$boolen) {
+            $new_segment_id = DB::table('mp_episode_segments')->insertGetId($segment);
+            if (!$new_segment_id) {
                 Utils::throwError('20003:复制分镜失败');
             }
 
@@ -1132,7 +1133,9 @@ class AnimeService
         }
 
         DB::commit();
-        return true;
+        $segment = DB::table('mp_episode_segments')->where('segment_id', $segment_id)->first();
+        $segment = $segment ? (array)$segment : [];
+        return $segment;
     }
 
     public function moveSegment($data) {