DeepSeekTransformer.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. $episodes = DB::table('mp_script_episodes')->where('script_id', $script_id)->orderBy('sequence')->select('title', 'episode_number', 'content', 'segment_number', 'segment_content')->get()->map(function ($value) {
  23. return (array)$value;
  24. })->toArray();
  25. $result[] = [
  26. 'user_id' => getProp($item, 'user_id'),
  27. 'script_id' => $script_id,
  28. 'script_name' => getProp($item, 'script_name'),
  29. 'status' => getProp($item, 'status'),
  30. 'created_at' => transDate(getProp($item, 'created_at')),
  31. 'updated_at' => transDate(getProp($item, 'updated_at')),
  32. 'episodes' => $episodes,
  33. ];
  34. }
  35. return $result;
  36. }
  37. }