DeepSeekTransformer.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace App\Transformer\DeepSeek;
  3. use Illuminate\Support\Facades\DB;
  4. class DeepSeekTransformer
  5. {
  6. // 剧本列表
  7. public function newBuildScriptList($data): array
  8. {
  9. return [
  10. 'meta' => getMeta($data),
  11. // 'header' => $data['header'],
  12. 'list' => $this->newEachScriptList($data),
  13. ];
  14. }
  15. private function newEachScriptList($list): array
  16. {
  17. $result = [];
  18. if (empty($list)) return $result;
  19. foreach ($list as $item) {
  20. $script_id = getProp($item, 'id');
  21. // 获取分集信息
  22. $episode_content = DB::table('mp_script_episode_group')->where('script_id', $script_id)->orderBy('start_episode_number')->orderBy('id')->value('episode_content');
  23. $episode_content = mb_substr($episode_content, 0, 200);
  24. $result[] = [
  25. 'user_id' => getProp($item, 'user_id'),
  26. 'script_id' => $script_id,
  27. 'script_name' => getProp($item, 'script_name'),
  28. 'status' => getProp($item, 'status'),
  29. 'created_at' => transDate(getProp($item, 'created_at')),
  30. 'updated_at' => transDate(getProp($item, 'updated_at')),
  31. 'episode_content' => $episode_content,
  32. ];
  33. }
  34. return $result;
  35. }
  36. // 剧本资产生成任务列表
  37. public function newBuildScriptGenerateTaskList($data): array
  38. {
  39. return [
  40. 'meta' => getMeta($data),
  41. 'list' => $this->newEachScriptGenerateTaskList($data),
  42. ];
  43. }
  44. private function newEachScriptGenerateTaskList($list): array
  45. {
  46. $result = [];
  47. if (empty($list)) return $result;
  48. foreach ($list as $item) {
  49. $result[] = [
  50. 'task_id' => getProp($item, 'id'),
  51. 'script_id' => getProp($item, 'script_id'),
  52. 'script_name' => getProp($item, 'script_name'),
  53. 'sequence' => getProp($item, 'sequence'),
  54. 'status' => getProp($item, 'status'),
  55. 'error_message' => getProp($item, 'error_message'),
  56. 'started_at' => transDate(getProp($item, 'started_at')),
  57. 'completed_at' => transDate(getProp($item, 'completed_at')),
  58. ];
  59. }
  60. return $result;
  61. }
  62. }