You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
2.9 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. <?php
  2. namespace App\Controller\v3;
  3. use App\Controller\BaseController;
  4. use App\Request\v3\UserAddressRequest;
  5. use App\Request\v3\UserAddressUpdateRequest;
  6. use App\Request\v3\UserRequest;
  7. use App\Service\v3\Interfaces\UserAddressServiceInterface;
  8. /** @var Inject 注解使用 */
  9. use Hyperf\Di\Annotation\Inject;
  10. class UserAddressController extends BaseController
  11. {
  12. /**
  13. * @Inject
  14. * @var UserAddressServiceInterface
  15. */
  16. protected $userAddressService;
  17. public function update(UserAddressUpdateRequest $request)
  18. {
  19. $userAddressId = $this->request->input('user_address_id',0);
  20. $user_id = $this->request->input('user_id','');
  21. $user_name = $this->request->input('user_name','');
  22. $address = $this->request->input('address','');
  23. $doorplate = $this->request->input('doorplate','');
  24. $gender = $this->request->input('gender','');
  25. $lat = $this->request->input('lat','');
  26. $lng = $this->request->input('lng','');
  27. $tel = $this->request->input('tel','');
  28. $tags = $this->request->input('tags','');
  29. $res = $this->userAddressService->do($userAddressId,$user_id,$user_name,$address,$doorplate,$gender,$lat,$lng,$tel,$tags);
  30. return $this->success($res);
  31. }
  32. public function get()
  33. {
  34. $userAddressId = $this->request->input('user_address_id');
  35. $res = $this->userAddressService->get($userAddressId);
  36. return $this->success($res);
  37. }
  38. public function delete(UserAddressRequest $request)
  39. {
  40. $userAddressId = $this->request->input('user_address_id');
  41. $res = $this->userAddressService->undo($userAddressId);
  42. return $this->success($res);
  43. }
  44. public function getList(UserRequest $request)
  45. {
  46. $userId = $this->request->input('user_id');
  47. $res = $this->userAddressService->getList($userId);
  48. return $this->success($res);
  49. }
  50. public function setDefault(UserAddressRequest $request)
  51. {
  52. $userId = $this->request->input('user_id');
  53. $userAddressId = $this->request->input('user_address_id');
  54. $res = $this->userAddressService->setDefault($userId,$userAddressId);
  55. return $this->success($res);
  56. }
  57. public function getAddressAndDistributionPrice(UserAddressRequest $request)
  58. {
  59. $userAddressId = $this->request->input('user_address_id');
  60. $marketId = $this->request->input('market_id');
  61. $shopCartIds = $this->request->input('shopcart_ids');
  62. $deliveryTimeNote = $this->request->input('delivery_time_note');
  63. $res = $this->userAddressService->getAddressAndDistributionPrice($userAddressId, $marketId, $shopCartIds, $deliveryTimeNote);
  64. return $this->success(['location' => $res]);
  65. }
  66. public function deliveryDistance(){
  67. $deliveryDistance = config('distance.delivery_distance');
  68. return $this->success(['delivery_distance' => $deliveryDistance]);
  69. }
  70. }