AddressController.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. /**
  3. * @Name
  4. * @Description
  5. * @Author 刘学玺
  6. * @Date 2024/9/26 11:58
  7. */
  8. namespace App\Http\Controllers\Frontend\Client\Member;
  9. use App\Exceptions\ApiException;
  10. use App\Http\Controllers\Controller;
  11. use App\Http\Requests\Frontend\Client\Member\AddressRequest;
  12. use App\Http\Requests\Frontend\Client\Member\UserRequest;
  13. use App\Http\Requests\Request;
  14. use App\Http\Services\Frontend\Client\Auth\AuthenticatedService;
  15. use App\Http\Services\Frontend\Client\Member\AddressService;
  16. use App\Http\Services\Frontend\Client\Member\UserService;
  17. use Illuminate\Http\JsonResponse;
  18. class AddressController extends Controller
  19. {
  20. protected AddressService $service;
  21. public function __construct(AddressService $service)
  22. {
  23. $this->service = $service;
  24. }
  25. /**
  26. * Notes :
  27. * Method : 用户地址列表
  28. * @return JsonResponse
  29. */
  30. public function index(): JsonResponse
  31. {
  32. return self::success($this->service->getAddressList());
  33. }
  34. /**
  35. * @throws ApiException
  36. */
  37. public function store(AddressRequest $request): JsonResponse
  38. {
  39. return self::success($this->service->createAddress($request->safe()->toArray()));
  40. }
  41. /**
  42. * Notes :
  43. * Method : 用户地址详情
  44. * @param $address_id
  45. * @return JsonResponse
  46. */
  47. public function show($address_id): JsonResponse
  48. {
  49. return self::success($this->service->getAddress($address_id));
  50. }
  51. /**
  52. * Notes :
  53. * Method : 更新用户信息
  54. * @param AddressRequest $request
  55. * @param $address_id
  56. * @return JsonResponse
  57. * @throws ApiException
  58. */
  59. public function update(AddressRequest $request, $address_id): JsonResponse
  60. {
  61. $params = $request->safe()->toArray();
  62. $this->service->updateAddress($params, $address_id);
  63. return self::success(true);
  64. }
  65. /**
  66. * Notes :
  67. * Method : 注销用户
  68. */
  69. public function destroy(int $id): JsonResponse
  70. {
  71. $this->service->delAddress($id);
  72. return self::success(true);
  73. }
  74. public function default(): JsonResponse
  75. {
  76. return self::success($this->service->getDefault());
  77. }
  78. }