lh 1 hónapja
szülő
commit
660cadb000

+ 1 - 1
app/Http/Controllers/Anime/AnimeController.php

@@ -392,7 +392,7 @@ class AnimeController extends BaseController
     public function editAct(Request $request) {
         $data = $request->all();
         $result = $this->AnimeService->editAct($data);
-        return $this->success(['success'=>$result ? 1 : 0]);
+        return $this->success($result);
     }
 
     // 复制片段

+ 15 - 2
app/Services/Anime/AnimeService.php

@@ -2793,6 +2793,16 @@ class AnimeService
             if (!empty($act_content)) {
                 $update_data['act_show_content'] = $act_content;
                 $update_data['act_content'] = str_replace(["@", "{", "}"], "", $act_content);
+                // 处理【镜头X】或【分镜X】重新编号为从1开始的连续整数【镜头X】
+                $shot_counter = 0;
+                $update_data['act_show_content'] = preg_replace_callback(
+                    '/【(?:镜头|分镜)(\d+)】/u',
+                    function($matches) use (&$shot_counter) {
+                        $shot_counter++;
+                        return '【镜头' . $shot_counter . '】';
+                    },
+                    $update_data['act_show_content']
+                );
             }
             
             if (!empty($act_duration)) {
@@ -2857,7 +2867,10 @@ class AnimeService
 
             DB::commit();
 
-            return true;
+            // 返回新复制的记录
+            $new_segment = DB::table('mp_episode_segments')->selectRaw("id as act_id,anime_id,episode_id,episode_number,act_number,act_title,act_duration,act_content,act_show_content,video_url,video_duration,video_time_point_start,video_time_point_end")->where('id', $act_id)->first();
+            $new_segment = (array)$new_segment;
+            return $new_segment;
         } catch (\Exception $e) {
             DB::rollBack();
             dLog('anime')->error('更新片段失败', [
@@ -2913,7 +2926,7 @@ class AnimeService
         }
 
         // 返回新复制的记录
-        $new_segment = DB::table('mp_episode_segments')->selectRaw("id as act_id,anime_id,episode_id,episode_number,act_number,act_title,act_duration,act_content,video_url,video_duration,video_time_point_start,video_time_point_end")->where('id', $id)->first();
+        $new_segment = DB::table('mp_episode_segments')->selectRaw("id as act_id,anime_id,episode_id,episode_number,act_number,act_title,act_duration,act_content,act_show_content,video_url,video_duration,video_time_point_start,video_time_point_end")->where('id', $id)->first();
         $new_segment = $new_segment ? (array)$new_segment : [];
         $new_segment['act_id'] = $id;
         return $new_segment;