AddressController.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <?php
  2. namespace App\Http\Controllers\Api\v1;
  3. use App\Http\Controllers\Api\webApp;
  4. use App\Http\Validator\AddressValidator;
  5. use App\Services\Api\MemberAddressService;
  6. use App\Services\RedisService;
  7. /**
  8. * 收货地址
  9. * Class AddressController
  10. * @package App\Http\Controllers\Api
  11. */
  12. class AddressController extends webApp
  13. {
  14. /**
  15. * 列表
  16. * @return array
  17. */
  18. public function index()
  19. {
  20. $params =request()->post();
  21. $pageSize = request()->post('pageSize', 15);
  22. $params['user_id'] = $this->userId;
  23. $datas = MemberAddressService::make()->getDataList($params, $pageSize);
  24. return showJson(1010, true, $datas);
  25. }
  26. /**
  27. * 详情
  28. * @param AddressValidator $validator
  29. * @return array
  30. */
  31. public function info()
  32. {
  33. $params = request()->all();
  34. $id = isset($params['id'])? $params['id'] : 0;
  35. try {
  36. if(!$result = MemberAddressService::make()->getInfo($id, $this->userId)){
  37. return showJson(1009, false);
  38. }else{
  39. return showJson(1010, true, $result);
  40. }
  41. } catch (\Exception $exception) {
  42. $error = ['data' => $exception->getTrace(), 'err' => $exception->getMessage()];
  43. return showJson(1046, false, $error);
  44. }
  45. }
  46. /**
  47. * 添加
  48. * @param AddressValidator $validator
  49. * @return array
  50. */
  51. public function save(AddressValidator $validator)
  52. {
  53. $params = request()->all();
  54. $params = $validator->check($params, 'save');
  55. if (!is_array($params)) {
  56. return showJson($params, false);
  57. }
  58. try {
  59. if(!$result = MemberAddressService::make()->saveData($this->userId, $params)){
  60. return showJson(MemberAddressService::make()->getError(), false);
  61. }else{
  62. return showJson(MemberAddressService::make()->getError(), true, $result);
  63. }
  64. } catch (\Exception $exception) {
  65. $error = ['data' => $exception->getTrace(), 'err' => $exception->getMessage()];
  66. return showJson(1046, false, $error);
  67. }
  68. }
  69. /**
  70. * 添加
  71. * @param AddressValidator $validator
  72. * @return array
  73. */
  74. public function setDefault(AddressValidator $validator)
  75. {
  76. $params = request()->all();
  77. $params = $validator->check($params, 'default');
  78. if (!is_array($params)) {
  79. return showJson($params, false);
  80. }
  81. try {
  82. if(!$result = MemberAddressService::make()->setDefault($this->userId, $params)){
  83. return showJson(MemberAddressService::make()->getError(), false,111);
  84. }else{
  85. return showJson(MemberAddressService::make()->getError(), true, $result);
  86. }
  87. } catch (\Exception $exception) {
  88. $error = ['data' => $exception->getTrace(), 'err' => $exception->getMessage()];
  89. return showJson(1046, false, $error);
  90. }
  91. }
  92. /**
  93. * 绑定的地址
  94. * @return array
  95. */
  96. public function getBindInfo()
  97. {
  98. $params = request()->all();
  99. $id = isset($params['id'])? $params['id'] :0;
  100. try {
  101. if(!$result = MemberAddressService::make()->getBindInfo($this->userId, $id)){
  102. return showJson(1009, false);
  103. }else{
  104. return showJson(1010, true, $result);
  105. }
  106. } catch (\Exception $exception) {
  107. $error = ['data' => $exception->getTrace(), 'err' => $exception->getMessage()];
  108. return showJson(1046, false, $error);
  109. }
  110. }
  111. /**
  112. * 删除
  113. * @return array|mixed
  114. */
  115. public function delete()
  116. {
  117. if(!MemberAddressService::make()->delete()){
  118. return showJson(MemberAddressService::make()->getError(), false);
  119. }else{
  120. return showJson(MemberAddressService::make()->getError(), true);
  121. }
  122. }
  123. }