GoodsController.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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 category()
  35. {
  36. $params = request()->post();
  37. $pageSize = request()->post('pageSize', 99);
  38. $datas = GoodsCategoryService::make()->getDataList($params, $pageSize);
  39. return showJson(1010, true, $datas);
  40. }
  41. /**
  42. * 详情
  43. * @return array
  44. */
  45. public function info()
  46. {
  47. $id = request()->post('goods_id', 0);
  48. $info = GoodsService::make()->getInfo($id);
  49. return showJson(1010, true, $info);
  50. }
  51. /**
  52. * 运费
  53. * @return array
  54. */
  55. public function freight()
  56. {
  57. $addressId = request()->post('address_id', 0);
  58. $skuList = request()->post('sku_list', []);
  59. if($addressId<=0 || empty($skuList)){
  60. return showJson(1009, false);
  61. }
  62. $info = GoodsService::make()->getFreight($this->userId, $addressId, $skuList);
  63. if($info){
  64. return showJson(1010, true, $info);
  65. }else{
  66. return showJson(GoodsService::make()->getError(), false);
  67. }
  68. }
  69. /**
  70. * 更新购物车
  71. * @return array
  72. */
  73. public function updateCart()
  74. {
  75. $params = request()->post();
  76. $goodsId = request()->post('goods_id', 0);
  77. if(!$result = GoodsService::make()->updateCart($this->userId, $goodsId, $params)){
  78. return showJson(GoodsService::make()->getError(), false);
  79. }else{
  80. return showJson(1002, true, $result);
  81. }
  82. }
  83. /**
  84. * 购物车列表
  85. * @return array
  86. */
  87. public function cartList()
  88. {
  89. try {
  90. $pageSize = request()->post('pageSize', 30);
  91. $datas = GoodsService::make()->getCartList($this->userId, $pageSize);
  92. return showJson(1010, true, $datas);
  93. } catch (\Exception $exception){
  94. RedisService::set("caches:request:error_cart_index", ['trace'=>$exception->getTrace()], 7200);
  95. return showJson(1018, false, ['error'=>env('APP_DEBUG')? $exception->getMessage() : '']);
  96. }
  97. }
  98. }