AccountsController.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace App\Http\Controllers\Front;
  3. use App\Services\Customer\UserService;
  4. use App\Http\Controllers\Controller;
  5. use App\Shop\Orders\Order;
  6. use App\Shop\Orders\Transformers\OrderTransformable;
  7. class AccountsController extends Controller
  8. {
  9. use OrderTransformable;
  10. /**
  11. * @var UserService
  12. */
  13. private $userService;
  14. /**
  15. * AccountsController constructor.
  16. *
  17. * @param UserService $userService
  18. */
  19. public function __construct(UserService $userService)
  20. {
  21. $this->userService = $userService;
  22. }
  23. public function index()
  24. {
  25. // 用户信息
  26. $user = auth()->user();
  27. // 分页订单信息
  28. $orders = $this->userService->getPaginatedOrdersByUserId($user->id);
  29. $orders->transform(function (Order $order) {
  30. return $this->transformOrder($order);
  31. });
  32. // 地址信息
  33. $addresses = $this->userService->getAddressesByUserId($user->id);
  34. return view('front.accounts', [
  35. 'customer' => $user,
  36. 'orders' => $orders,
  37. 'addresses' => $addresses
  38. ]);
  39. }
  40. }