ImageGenerationTransformer.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace App\Transformer;
  3. use Illuminate\Support\Facades\DB;
  4. class ImageGenerationTransformer
  5. {
  6. // 剧本列表
  7. public function newBuildTaskList($data): array
  8. {
  9. return [
  10. 'meta' => getMeta($data),
  11. // 'header' => $data['header'],
  12. 'list' => $this->newEachTaskList($data),
  13. ];
  14. }
  15. private function newEachTaskList($list): array
  16. {
  17. $result = [];
  18. if (empty($list)) return $result;
  19. foreach ($list as $item) {
  20. $status = getProp($item, 'status');
  21. $status_arr =[
  22. 'pending' => '待生成',
  23. 'processing' => '生成中',
  24. 'success' => '生成成功',
  25. 'failed' => '生成失败',
  26. ];
  27. $result[] = [
  28. 'task_id' => getProp($item, 'task_id'),
  29. 'prompt' => getProp($item, 'prompt'),
  30. 'width' => getProp($item, 'width'),
  31. 'height' => getProp($item, 'height'),
  32. 'image_num' => getProp($item, 'image_num'),
  33. 'scale' => getProp($item, 'scale'),
  34. 'ref_img_url' => getProp($item, 'ref_img_url'),
  35. 'result_url' => getProp($item, 'result_url'),
  36. 'status' => $status,
  37. 'status_info' => isset($status_arr[$status]) ? $status_arr[$status] : '',
  38. 'created_at' => transDate(getProp($item, 'created_at')),
  39. 'updated_at' => transDate(getProp($item, 'updated_at')),
  40. 'extra_params' => getProp($item, 'extra_params'),
  41. ];
  42. }
  43. return $result;
  44. }
  45. }