UserStatusTransformer.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Mead
  5. * Date: 2019/8/5
  6. * Time: 2:44 PM
  7. */
  8. namespace App\Transformers;
  9. use App\Models\User;
  10. use App\Repositories\OrderRepository;
  11. use App\Repositories\RentOrderRepository;
  12. use League\Fractal\TransformerAbstract;
  13. class UserStatusTransformer extends TransformerAbstract
  14. {
  15. protected $orderRepository;
  16. protected $rentOrderRepository;
  17. public function __construct(OrderRepository $orderRepository, RentOrderRepository $rentOrderRepository)
  18. {
  19. $this->orderRepository = $orderRepository;
  20. $this->rentOrderRepository = $rentOrderRepository;
  21. }
  22. public function transform(User $user)
  23. {
  24. return [
  25. 'is_card_certified' => $user->is_card_certified,
  26. 'is_deposit' => $user->is_deposit,
  27. 'is_match_ride_age' => $user->is_match_ride_age,
  28. 'is_bind_mobile' => $user->is_bind_mobile,
  29. 'status' => $user->status,
  30. 'is_register' => $user->is_register,
  31. 'is_ride_order' => $this->rideOrder($user),
  32. 'is_pay_order' => $this->noPayOrder($user),
  33. 'is_rent_order' => $this->rentOrder($user),
  34. 'is_pay_rent_order' => $this->rentPayOrder($user),
  35. ];
  36. }
  37. protected function rentOrder($user)
  38. {
  39. $no = $this->rentOrderRepository->byUserIdCheckIsExistRentOrderWithNo($user->id);
  40. if (is_null($no)) return false;
  41. return $no;
  42. }
  43. public function rentPayOrder($user)
  44. {
  45. $no = $this->rentOrderRepository->byUserIdCheckIsExistNoPayOrderWithNo($user->id);
  46. if (is_null($no)) return false;
  47. return $no;
  48. }
  49. protected function rideOrder($user)
  50. {
  51. $no = $this->orderRepository->byUserIdCheckIsExistRideOrderWithNo($user->id);
  52. if (is_null($no)) return false;
  53. return $no;
  54. }
  55. protected function noPayOrder($user)
  56. {
  57. $no = $this->orderRepository->byUserIdCheckIsExistNoPayOrderWithNo($user->id);
  58. if (is_null($no)) return false;
  59. return $no;
  60. }
  61. }