AccountsController.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. namespace App\Http\Controllers\Front;
  3. use App\Shop\Couriers\Repositories\Interfaces\CourierRepositoryInterface;
  4. use App\Shop\Customers\Repositories\CustomerRepository;
  5. use App\Shop\Customers\Repositories\Interfaces\CustomerRepositoryInterface;
  6. use App\Http\Controllers\Controller;
  7. use App\Shop\Orders\Order;
  8. use App\Shop\Orders\Transformers\OrderTransformable;
  9. use App\MicroApi\Services\UserService;
  10. use Illuminate\Http\Request;
  11. class AccountsController extends Controller
  12. {
  13. use OrderTransformable;
  14. /**
  15. * @var CustomerRepositoryInterface
  16. */
  17. private $customerRepo;
  18. /**
  19. * @var CourierRepositoryInterface
  20. */
  21. private $courierRepo;
  22. /**
  23. * @var UserService
  24. */
  25. private $userService;
  26. /**
  27. * AccountsController constructor.
  28. *
  29. * @param CourierRepositoryInterface $courierRepository
  30. * @param CustomerRepositoryInterface $customerRepository
  31. * @param UserService $userService
  32. */
  33. public function __construct(
  34. CourierRepositoryInterface $courierRepository,
  35. CustomerRepositoryInterface $customerRepository,
  36. UserService $userService
  37. ) {
  38. $this->customerRepo = $customerRepository;
  39. $this->courierRepo = $courierRepository;
  40. $this->userService = $userService;
  41. }
  42. public function index()
  43. {
  44. $customer = $this->customerRepo->findCustomerById(auth()->user()->id);
  45. $customerRepo = new CustomerRepository($customer);
  46. $orders = $customerRepo->findOrders(['*'], 'created_at');
  47. $orders->transform(function (Order $order) {
  48. return $this->transformOrder($order);
  49. });
  50. $orders->load('products');
  51. $addresses = $customerRepo->findAddresses();
  52. return view('front.accounts', [
  53. 'customer' => $customer,
  54. 'orders' => $this->customerRepo->paginateArrayResults($orders->toArray(), 15),
  55. 'addresses' => $addresses
  56. ]);
  57. }
  58. public function profile(Request $request)
  59. {
  60. $token = $request->cookie('jwt-token');
  61. if (empty($token) || !$this->userService->isAuth($token)) {
  62. return '尚未登录';
  63. }
  64. $user = session(md5($token));
  65. dd($user);
  66. }
  67. }