Просмотр исходного кода

修复修改分集资产列表的删除逻辑bug

lh 2 недель назад
Родитель
Сommit
d6591da86f
1 измененных файлов с 18 добавлено и 3 удалено
  1. 18 3
      app/Services/Anime/AnimeService.php

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

@@ -1079,7 +1079,12 @@ class AnimeService
         $anime_id = getProp($data, 'anime_id');
         $episode_id = getProp($data, 'episode_id');
         $target_roles = getProp($data, 'roles');
-        $is_deleted = getProp($data, 'is_deleted', 0);
+        // 删除标志位于角色对象内部(roles.is_deleted),不在最外层
+        $is_deleted = getProp($target_roles, 'is_deleted', 0);
+        // 控制字段不随角色内容写入分集roles存储
+        if (is_array($target_roles)) {
+            unset($target_roles['is_deleted']);
+        }
 
         // 参数验证
         if (!$anime_id) Utils::throwError('20003:请提供动漫ID');
@@ -1312,7 +1317,12 @@ class AnimeService
         $anime_id = getProp($data, 'anime_id');
         $episode_id = getProp($data, 'episode_id');
         $target_scenes = getProp($data, 'scenes');
-        $is_deleted = getProp($data, 'is_deleted', 0);
+        // 删除标志位于场景对象内部(scenes.is_deleted),不在最外层
+        $is_deleted = getProp($target_scenes, 'is_deleted', 0);
+        // 控制字段不随场景内容写入分集scenes存储
+        if (is_array($target_scenes)) {
+            unset($target_scenes['is_deleted']);
+        }
 
         // 参数验证
         if (!$anime_id) Utils::throwError('20003:请提供动漫ID');
@@ -1529,7 +1539,12 @@ class AnimeService
         $anime_id = getProp($data, 'anime_id');
         $episode_id = getProp($data, 'episode_id');
         $target_props = getProp($data, 'props');
-        $is_deleted = getProp($data, 'is_deleted', 0);
+        // 删除标志位于道具对象内部(props.is_deleted),不在最外层
+        $is_deleted = getProp($target_props, 'is_deleted', 0);
+        // 控制字段不随道具内容写入分集props存储
+        if (is_array($target_props)) {
+            unset($target_props['is_deleted']);
+        }
 
         // 参数验证
         if (!$anime_id) Utils::throwError('20003:请提供动漫ID');