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

完善所有动漫管理方法中的系统日志功能

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

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

@@ -720,9 +720,10 @@ class AnimeController extends BaseController
                 $logData = [
                     'segment_id' => $segment->segment_id,
                     'anime_id' => $animeId,
+                    'error' => $e->getMessage(),
                 ];
                 dLog('anime')->error('创建分镜视频任务失败: ' . $e->getMessage(), $logData);
-                logDB('anime', 'error', '创建分镜视频任务失败: ' . $e->getMessage(), $logData);
+                logDB('anime', 'error', '创建分镜视频任务失败', $logData);
                 continue;
             }
         }

+ 5 - 0
app/Services/Anime/AnimeService.php

@@ -127,6 +127,7 @@ class AnimeService
                 $role['task_id'] = $task_id;
                 $role['task_status'] = 'processing';
             } catch (\Exception $e) {
+                logDB('anime', 'error', "角色({$role_name})生成图片失败", ['error' => $e->getMessage()]);
                 Utils::throwError("20003:" . $e->getMessage());
             }
         }
@@ -180,6 +181,7 @@ class AnimeService
                 $scene['task_id'] = $task_id;
                 $scene['task_status'] = 'processing';
             } catch (\Exception $e) {
+                logDB('anime', 'error', "场景({$scene_name})生成图片失败", ['error' => $e->getMessage()]);
                 Utils::throwError("20003:" . $e->getMessage());
             }
         }
@@ -267,6 +269,7 @@ class AnimeService
             $boolen2 = DB::table('mp_anime_episodes')->insert($episodes);
             if (!$boolen2) {
                 dLog('deepseek')->info('分集内容保存失败', $episodes);
+                logDB('deepseek', 'error', '分集内容保存失败', ['episodes_count' => count($episodes)]);
                 Utils::throwError('20003:分集内容保存失败');
             }
 
@@ -1305,6 +1308,7 @@ class AnimeService
                 if (!isset($response_arr['code']) || (int)$response_arr['code'] !== 0) {
                     $error_msg = isset($response_arr['msg']) ? $response_arr['msg'] : '未知错误';
                     dLog('anime')->error('火山生成音频失败', ['error' => $error_msg, 'task_id' => $dubTaskId]);
+                    logDB('anime', 'error', '火山生成音频失败', ['error' => $error_msg, 'task_id' => $dubTaskId]);
                     Utils::throwError('20003:火山生成音频失败');
                 }
                 $update_data['audio_url'] = '';
@@ -2909,6 +2913,7 @@ class AnimeService
             dLog('anime')->error('更新角色或场景失败', [
                 'error' => $e->getMessage()
             ]);
+            logDB('anime', 'error', '更新角色或场景失败', ['error' => $e->getMessage()]);
             
             Utils::throwError('20003:' . $e->getMessage());
         }

+ 14 - 0
app/Services/DeepSeek/DeepSeekService.php

@@ -1734,6 +1734,7 @@ class DeepSeekService
             $boolen = DB::table('mp_scripts')->where('id', $script_id)->update($update_data);
             if (!$boolen) {
                 dLog('deepseek')->info('剧本内容保存失败', $update_data);
+                logDB('deepseek', 'error', '剧本内容保存失败', ['script_id' => $script_id]);
                 Utils::throwError('20003:剧本内容保存失败');
             }
             
@@ -1767,6 +1768,7 @@ class DeepSeekService
             $boolen2 = DB::table('mp_script_episodes')->insert($episodes);
             if (!$boolen2) {
                 dLog('deepseek')->info('分集内容保存失败', $episodes);
+                logDB('deepseek', 'error', '分集内容保存失败', ['episodes_count' => count($episodes)]);
                 Utils::throwError('20003:分集内容保存失败');
             }
 
@@ -2957,6 +2959,7 @@ class DeepSeekService
             $boolen = DB::table('mp_animes')->where('id', $anime_id)->update($table_data);
             if (!$boolen) {
                 dLog('deepseek')->info('对话修改失败', $table_data);
+                logDB('deepseek', 'error', '对话修改失败', ['anime_id' => $anime_id]);
                 Utils::throwError('20003:对话修改失败');
             }
 
@@ -2990,6 +2993,7 @@ class DeepSeekService
         }catch (\Exception $e) {
             DB::rollBack();
             dLog('deepseek')->info('新建对话错误信息: '.$e->getMessage());
+            logDB('deepseek', 'error', '修改对话失败', ['error' => $e->getMessage(), 'anime_id' => $anime_id]);
             yield [
                 'type'  => 'done',
                 'answer' => $fullContent,
@@ -3530,6 +3534,7 @@ class DeepSeekService
 
                 $boolen = DB::table('mp_anime_episodes')->where('id', $episode_id)->update($episode);
                 if ($boolen === false) {
+                    logDB('deepseek', 'error', '分集内容保存失败', ['anime_id' => $anime_id, 'episode_id' => $episode_id]);
                     Utils::throwError('20003:分集内容保存失败');
                 }
                 $del_flag = true;
@@ -3543,6 +3548,7 @@ class DeepSeekService
                 $episode['created_at'] = $now;
                 $episode_id = DB::table('mp_anime_episodes')->insertGetId($episode);
                 if (!$episode_id) {
+                    logDB('deepseek', 'error', '分集内容保存失败', ['anime_id' => $anime_id, 'episode_number' => $episode_number]);
                     Utils::throwError('20003:分集内容保存失败');
                 }
             }
@@ -3621,6 +3627,7 @@ class DeepSeekService
 
             $boolen = DB::table('mp_episode_segments')->insert($segments);
             if (!$boolen) {
+                logDB('deepseek', 'error', '分镜内容保存失败', ['anime_id' => $anime_id, 'episode_id' => $episode_id, 'segments_count' => count($segments)]);
                 Utils::throwError('20003:分镜内容保存失败');
             }
         }
@@ -4123,6 +4130,7 @@ class DeepSeekService
             return trim($content);
         } catch (\Exception $e) {
             dLog('deepseek')->error('PDF解析失败: ' . $e->getMessage());
+            logDB('deepseek', 'error', 'PDF解析失败', ['error' => $e->getMessage()]);
             Utils::throwError('20003:PDF解析失败,请确保文件格式正确');
         }
     }
@@ -4145,6 +4153,7 @@ class DeepSeekService
             return trim($content);
         } catch (\Exception $e) {
             dLog('deepseek')->error('Word解析失败: ' . $e->getMessage());
+            logDB('deepseek', 'error', 'Word解析失败', ['error' => $e->getMessage()]);
             Utils::throwError('20003:Word解析失败,请确保文件格式正确');
         }
     }
@@ -4182,6 +4191,7 @@ class DeepSeekService
             return trim($content);
         } catch (\Exception $e) {
             dLog('deepseek')->error('图片OCR识别失败: ' . $e->getMessage());
+            logDB('deepseek', 'error', '图片OCR识别失败', ['error' => $e->getMessage()]);
             Utils::throwError('20003:图片识别失败');
         }
     }
@@ -4565,6 +4575,7 @@ class DeepSeekService
             }
         } catch (\Exception $e) {
             dLog('deepseek')->error('火山引擎对话API请求异常: ' . $e->getMessage());
+            logDB('deepseek', 'error', '火山引擎对话API请求失败', ['error' => $e->getMessage(), 'model' => $requestData['model']]);
             Utils::throwError('20003:火山引擎对话API请求失败: ' . $e->getMessage());
         }
     }
@@ -4683,6 +4694,7 @@ class DeepSeekService
 
         } catch (\Exception $e) {
             dLog('deepseek')->error('火山引擎对话API流式请求异常: ' . $e->getMessage());
+            logDB('deepseek', 'error', '火山引擎对话API流式请求失败', ['error' => $e->getMessage()]);
             throw $e;
         }
     }
@@ -4773,6 +4785,7 @@ class DeepSeekService
                 } catch (\Exception $e) {
                     $resource_type = $nameKey === 'role' ? '角色' : '场景';
                     dLog('deepseek')->error("{$resource_type}({$item_name})创建图片生成任务失败: " . $e->getMessage());
+                    logDB('deepseek', 'error', "{$resource_type}创建图片生成任务失败", ['name' => $item_name, 'error' => $e->getMessage()]);
                     // 不抛出异常,继续处理其他资源
                 }
             }
@@ -4849,6 +4862,7 @@ class DeepSeekService
             }
         } catch (\Exception $e) {
             dLog('deepseek')->error('解析分镜内容失败: ' . $e->getMessage());
+            logDB('deepseek', 'error', '解析分镜内容失败', ['error' => $e->getMessage()]);
         }
 
         return $segment_content;