|
|
@@ -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;
|