UserXuefenTransformer.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace App\Repositories\Transformers\Dwbs;
  3. use App\Repositories\Enums\Dwbs\UserXuefenRewardTypeEnum;
  4. use App\Repositories\Models\Dwbs\UserXuefen;
  5. use League\Fractal\TransformerAbstract;
  6. class UserXuefenTransformer extends TransformerAbstract
  7. {
  8. /**
  9. * Prepare data to present.
  10. *
  11. * @param UserXuefen $userXuefen
  12. * @return array
  13. */
  14. public function transform(UserXuefen $model)
  15. {
  16. if (isAdminModule()) {
  17. return $this->adminTransform($model);
  18. }
  19. return [
  20. 'id' => $model->id,
  21. 'xuefen' => $model->xuefen,
  22. 'is_reward' => $model->is_reward,
  23. 'reward_explain' => $model->reward_explain,
  24. 'reward_type' => $model->reward_type,
  25. 'reward_type_name' => UserXuefenRewardTypeEnum::getDescription($model->reward_type),
  26. 'updated_at' => $model->updated_at ? $model->updated_at->format('Y-m-d H:i') : null,
  27. ];
  28. }
  29. public function adminTransform(UserXuefen $model)
  30. {
  31. return [
  32. 'id' => $model->id,
  33. 'xuefen' => $model->xuefen,
  34. 'user' => $model->user()->first()->append('m_mobile'),
  35. 'is_reward' => $model->is_reward,
  36. 'reward_explain' => $model->reward_explain,
  37. 'source' => $model->source_type ? $model->source : null,
  38. 'reward_type' => $model->reward_type,
  39. 'reward_type_name' => UserXuefenRewardTypeEnum::getDescription($model->reward_type),
  40. 'updated_at' => $model->updated_at ? $model->updated_at->format('Y-m-d H:i') : null,
  41. ];
  42. }
  43. }