|
@@ -583,12 +583,12 @@ class AnimeService
|
|
|
public function changeEpisodeRoles($data) {
|
|
public function changeEpisodeRoles($data) {
|
|
|
$anime_id = getProp($data, 'anime_id');
|
|
$anime_id = getProp($data, 'anime_id');
|
|
|
$episode_id = getProp($data, 'episode_id');
|
|
$episode_id = getProp($data, 'episode_id');
|
|
|
- $roles = getProp($data, 'roles');
|
|
|
|
|
|
|
+ $target_roles = getProp($data, 'roles');
|
|
|
|
|
|
|
|
// 参数验证
|
|
// 参数验证
|
|
|
if (!$anime_id) Utils::throwError('20003:请提供动漫ID');
|
|
if (!$anime_id) Utils::throwError('20003:请提供动漫ID');
|
|
|
if (!$episode_id) Utils::throwError('20003:请提供剧集ID');
|
|
if (!$episode_id) Utils::throwError('20003:请提供剧集ID');
|
|
|
- if (!is_array($roles)) Utils::throwError('20003:角色列表必须是数组格式');
|
|
|
|
|
|
|
+ if (!$target_roles) Utils::throwError('20003:请提供角色信息');
|
|
|
|
|
|
|
|
// 验证剧集是否存在
|
|
// 验证剧集是否存在
|
|
|
$episode = DB::table('mp_anime_episodes')
|
|
$episode = DB::table('mp_anime_episodes')
|
|
@@ -597,22 +597,28 @@ class AnimeService
|
|
|
->first();
|
|
->first();
|
|
|
|
|
|
|
|
if (!$episode) Utils::throwError('20003:该剧集不存在');
|
|
if (!$episode) Utils::throwError('20003:该剧集不存在');
|
|
|
|
|
+ $roles = json_decode(getProp($episode, 'roles'), true);
|
|
|
|
|
|
|
|
try {
|
|
try {
|
|
|
- // 更新角色列表
|
|
|
|
|
- $result = DB::table('mp_anime_episodes')
|
|
|
|
|
- ->where('anime_id', $anime_id)
|
|
|
|
|
- ->where('id', $episode_id)
|
|
|
|
|
- ->update([
|
|
|
|
|
- 'roles' => json_encode($roles, 256),
|
|
|
|
|
- 'updated_at' => date('Y-m-d H:i:s')
|
|
|
|
|
- ]);
|
|
|
|
|
|
|
+ foreach($roles as &$role) {
|
|
|
|
|
+ if (getProp($role, 'role') === getProp($target_roles, 'role')) {
|
|
|
|
|
+ $role = $target_roles;
|
|
|
|
|
+
|
|
|
|
|
+ // 更新角色列表
|
|
|
|
|
+ $result = DB::table('mp_anime_episodes')
|
|
|
|
|
+ ->where('anime_id', $anime_id)
|
|
|
|
|
+ ->where('id', $episode_id)
|
|
|
|
|
+ ->update([
|
|
|
|
|
+ 'roles' => json_encode($roles, 256),
|
|
|
|
|
+ 'updated_at' => date('Y-m-d H:i:s')
|
|
|
|
|
+ ]);
|
|
|
|
|
|
|
|
- if ($result === false) {
|
|
|
|
|
- Utils::throwError('20003:更新角色列表失败');
|
|
|
|
|
|
|
+ if ($result === false) {
|
|
|
|
|
+ Utils::throwError('20003:更新角色列表失败');
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- return ['success' => true, 'message' => '角色列表更新成功'];
|
|
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
dLog('anime')->error('更新剧集角色失败', [
|
|
dLog('anime')->error('更新剧集角色失败', [
|
|
|
'anime_id' => $anime_id,
|
|
'anime_id' => $anime_id,
|
|
@@ -621,17 +627,19 @@ class AnimeService
|
|
|
]);
|
|
]);
|
|
|
Utils::throwError('20003:更新角色列表失败: ' . $e->getMessage());
|
|
Utils::throwError('20003:更新角色列表失败: ' . $e->getMessage());
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ return true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function changeEpisodeScenes($data) {
|
|
public function changeEpisodeScenes($data) {
|
|
|
$anime_id = getProp($data, 'anime_id');
|
|
$anime_id = getProp($data, 'anime_id');
|
|
|
$episode_id = getProp($data, 'episode_id');
|
|
$episode_id = getProp($data, 'episode_id');
|
|
|
- $scenes = getProp($data, 'scenes');
|
|
|
|
|
|
|
+ $target_scenes = getProp($data, 'scenes');
|
|
|
|
|
|
|
|
// 参数验证
|
|
// 参数验证
|
|
|
if (!$anime_id) Utils::throwError('20003:请提供动漫ID');
|
|
if (!$anime_id) Utils::throwError('20003:请提供动漫ID');
|
|
|
if (!$episode_id) Utils::throwError('20003:请提供剧集ID');
|
|
if (!$episode_id) Utils::throwError('20003:请提供剧集ID');
|
|
|
- if (!is_array($scenes)) Utils::throwError('20003:场景列表必须是数组格式');
|
|
|
|
|
|
|
+ if (!$target_scenes) Utils::throwError('20003:请提供场景信息');
|
|
|
|
|
|
|
|
// 验证剧集是否存在
|
|
// 验证剧集是否存在
|
|
|
$episode = DB::table('mp_anime_episodes')
|
|
$episode = DB::table('mp_anime_episodes')
|
|
@@ -640,22 +648,28 @@ class AnimeService
|
|
|
->first();
|
|
->first();
|
|
|
|
|
|
|
|
if (!$episode) Utils::throwError('20003:该剧集不存在');
|
|
if (!$episode) Utils::throwError('20003:该剧集不存在');
|
|
|
|
|
+ $scenes = json_decode(getProp($episode, 'scenes'), true);
|
|
|
|
|
|
|
|
try {
|
|
try {
|
|
|
- // 更新场景列表
|
|
|
|
|
- $result = DB::table('mp_anime_episodes')
|
|
|
|
|
- ->where('anime_id', $anime_id)
|
|
|
|
|
- ->where('id', $episode_id)
|
|
|
|
|
- ->update([
|
|
|
|
|
- 'scenes' => json_encode($scenes, 256),
|
|
|
|
|
- 'updated_at' => date('Y-m-d H:i:s')
|
|
|
|
|
- ]);
|
|
|
|
|
|
|
+ foreach($scenes as &$scene) {
|
|
|
|
|
+ if (getProp($scene, 'scene') === getProp($target_scenes, 'scene')) {
|
|
|
|
|
+ $scene = $target_scenes;
|
|
|
|
|
+
|
|
|
|
|
+ // 更新场景列表
|
|
|
|
|
+ $result = DB::table('mp_anime_episodes')
|
|
|
|
|
+ ->where('anime_id', $anime_id)
|
|
|
|
|
+ ->where('id', $episode_id)
|
|
|
|
|
+ ->update([
|
|
|
|
|
+ 'scenes' => json_encode($scenes, 256),
|
|
|
|
|
+ 'updated_at' => date('Y-m-d H:i:s')
|
|
|
|
|
+ ]);
|
|
|
|
|
|
|
|
- if ($result === false) {
|
|
|
|
|
- Utils::throwError('20003:更新场景列表失败');
|
|
|
|
|
|
|
+ if ($result === false) {
|
|
|
|
|
+ Utils::throwError('20003:更新场景列表失败');
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- return ['success' => true, 'message' => '场景列表更新成功'];
|
|
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
dLog('anime')->error('更新剧集场景失败', [
|
|
dLog('anime')->error('更新剧集场景失败', [
|
|
|
'anime_id' => $anime_id,
|
|
'anime_id' => $anime_id,
|
|
@@ -664,6 +678,8 @@ class AnimeService
|
|
|
]);
|
|
]);
|
|
|
Utils::throwError('20003:更新场景列表失败: ' . $e->getMessage());
|
|
Utils::throwError('20003:更新场景列表失败: ' . $e->getMessage());
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ return true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function editSegment($data) {
|
|
public function editSegment($data) {
|