GoodsController.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?php
  2. namespace App\Http\Controllers\Api\v1;
  3. use App\Http\Controllers\Api\webApp;
  4. use App\Http\Validator\GoodsValidator;
  5. use App\Services\Api\GoodsService;
  6. use App\Services\Api\GoodsCategoryService;
  7. use App\Services\RedisService;
  8. /**
  9. * 商品服务管理
  10. * @package App\Http\Controllers\Api
  11. */
  12. class GoodsController extends webApp
  13. {
  14. /**
  15. * 列表
  16. * @return array
  17. */
  18. public function index()
  19. {
  20. try {
  21. $params = request()->post();
  22. $pageSize = request()->post('pageSize', 0);
  23. $datas = GoodsService::make()->getDataList($params, $pageSize,'', $this->userId);
  24. return showJson(1010, true, $datas);
  25. } catch (\Exception $exception){
  26. RedisService::set("caches:request:error_goods_index", ['trace'=>$exception->getTrace()], 7200);
  27. return showJson(1018, false, ['error'=>env('APP_DEBUG')? $exception->getMessage() : '']);
  28. }
  29. }
  30. /**
  31. * 购买列表
  32. * @return array
  33. */
  34. public function buyList()
  35. {
  36. try {
  37. $params = request()->post();
  38. $datas = GoodsService::make()->getBuyList($this->userId, $params);
  39. return showJson(1010, true, $datas);
  40. } catch (\Exception $exception){
  41. RedisService::set("caches:request:error_goods_buy", ['trace'=>$exception->getTrace()], 7200);
  42. return showJson(1018, false, ['error'=>env('APP_DEBUG')? $exception->getMessage() : '']);
  43. }
  44. }
  45. /**
  46. * 分类
  47. * @return array
  48. */
  49. public function category()
  50. {
  51. $params = request()->post();
  52. $pageSize = request()->post('pageSize', 99);
  53. $datas = GoodsCategoryService::make()->getDataList($params, $pageSize);
  54. return showJson(1010, true, $datas);
  55. }
  56. /**
  57. * 详情
  58. * @return array
  59. */
  60. public function info()
  61. {
  62. $id = request()->post('goods_id', 0);
  63. $info = GoodsService::make()->getInfo($id);
  64. return showJson(1010, true, $info);
  65. }
  66. /**
  67. * 运费
  68. * @return array
  69. */
  70. public function freight()
  71. {
  72. $addressId = request()->post('address_id', 0);
  73. $skuList = request()->post('sku_list', []);
  74. if($addressId<=0 || empty($skuList)){
  75. return showJson(1009, false);
  76. }
  77. $info = GoodsService::make()->getFreight($this->userId, $addressId, $skuList);
  78. if($info){
  79. return showJson(1010, true, $info);
  80. }else{
  81. return showJson(GoodsService::make()->getError(), false);
  82. }
  83. }
  84. /**
  85. * 更新购物车
  86. * @return array
  87. */
  88. public function updateCart()
  89. {
  90. $params = request()->post();
  91. $goodsId = request()->post('goods_id', 0);
  92. if(!$result = GoodsService::make()->updateCart($this->userId, $goodsId, $params)){
  93. return showJson(GoodsService::make()->getError(), false);
  94. }else{
  95. return showJson(1002, true, $result);
  96. }
  97. }
  98. /**
  99. * 购物车列表
  100. * @return array
  101. */
  102. public function cartList()
  103. {
  104. try {
  105. $pageSize = request()->post('pageSize', 30);
  106. $datas = GoodsService::make()->getCartList($this->userId, $pageSize);
  107. return showJson(1010, true, $datas);
  108. } catch (\Exception $exception){
  109. RedisService::set("caches:request:error_cart_index", ['trace'=>$exception->getTrace()], 7200);
  110. return showJson(1018, false, ['error'=>env('APP_DEBUG')? $exception->getMessage() : '']);
  111. }
  112. }
  113. /**
  114. * 删除购物车商品
  115. * @return array
  116. */
  117. public function deleteCart()
  118. {
  119. $params = request()->post();
  120. if(!$result = GoodsService::make()->deleteCart($this->userId, $params)){
  121. return showJson(GoodsService::make()->getError(), false);
  122. }else{
  123. return showJson(1002, true, $result);
  124. }
  125. }
  126. }