BillTransformer.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace App\Repositories\Transformers\Finance;
  3. use App\Repositories\Enums\Finance\CheckStatusEnum;
  4. use App\Repositories\Enums\Finance\IncomeTypeEnum;
  5. use App\Repositories\Enums\ModelStatusEnum;
  6. use Carbon\Carbon;
  7. use League\Fractal\TransformerAbstract;
  8. use App\Repositories\Models\Finance\Bill;
  9. /**
  10. * Class BillTransformer.
  11. *
  12. * @package namespace App\Repositories\Transformers\Finance;
  13. */
  14. class BillTransformer extends TransformerAbstract
  15. {
  16. /**
  17. * Transform the Bill entity.
  18. *
  19. * @param \App\Repositories\Models\Finance\Bill $model
  20. *
  21. * @return array
  22. */
  23. public function transform(Bill $model)
  24. {
  25. return [
  26. 'id' => (int)$model->id,
  27. 'name' => $model->name,
  28. 'day' => $model->day,
  29. 'type_id' => $model->type_id,
  30. 'type_name' => $model->type ? $model->type->name : '--',
  31. 'shop_id' => $model->shop_id,
  32. 'shop_name' => $model->shop->name,
  33. 'platform' => $model->platform,
  34. 'entry_admin_id' => $model->entry_admin_id,
  35. 'entry_admin' => $model->entry_admin ? $model->entry_admin->name : '--',
  36. 'money' => $model->money,
  37. 'income_type' => $model->income_type,
  38. 'income_type_text' => IncomeTypeEnum::getDescription($model->income_type),
  39. 'check_admin_id' => $model->check_admin_id,
  40. 'check_admin' => $model->check_admin ? $model->check_admin->name : '--',
  41. 'remark' => $model->remark,
  42. 'check_status' => $model->check_status,
  43. 'check_status_text' => CheckStatusEnum::getDescription($model->check_status),
  44. 'check_time' => $model->check_time,
  45. 'check_remark' => $model->check_remark,
  46. 'status' => $model->status,
  47. 'status_text' => ModelStatusEnum::getDescription($model->status),
  48. 'created_at' => $model->created_at->format(Carbon::DEFAULT_TO_STRING_FORMAT),
  49. 'updated_at' => $model->updated_at->format(Carbon::DEFAULT_TO_STRING_FORMAT)
  50. ];
  51. }
  52. }