| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?php
- namespace App\Transformer\DeepSeek;
- use Illuminate\Support\Facades\DB;
- class DeepSeekTransformer
- {
- // 剧本列表
- public function newBuildScriptList($data): array
- {
- return [
- 'meta' => getMeta($data),
- // 'header' => $data['header'],
- 'list' => $this->newEachScriptList($data),
- ];
- }
- private function newEachScriptList($list): array
- {
- $result = [];
- if (empty($list)) return $result;
- foreach ($list as $item) {
- $script_id = getProp($item, 'id');
- $status = getProp($item, 'status');
- $status_arr =[
- '1' => '待创作',
- '2' => '解析中',
- '3' => '解析完成',
- '4' => '解析失败',
- ];
- // 获取分集信息
- $episodes = DB::table('mp_script_episodes')->where('script_id', $script_id)->orderBy('episode_number')->select('title', 'episode_number', 'content')->get()->map(function ($value) {
- return (array)$value;
- })->toArray();
- $result[] = [
- 'user_id' => getProp($item, 'user_id'),
- 'script_id' => $script_id,
- 'script_name' => getProp($item, 'script_name'),
- 'status' => $status,
- 'status_info' => isset($status_arr[$status]) ? $status_arr[$status] : '',
- 'created_at' => transDate(getProp($item, 'created_at')),
- 'updated_at' => transDate(getProp($item, 'updated_at')),
- 'episodes' => $episodes,
- ];
- }
- return $result;
- }
-
- }
|