GoodsController.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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. return showJson(1010, true, $info);
  64. }
  65. /**
  66. * 更新购物车
  67. * @return array
  68. */
  69. public function updateCart()
  70. {
  71. $params = request()->post();
  72. $goodsId = request()->post('goods_id', 0);
  73. if(!$result = GoodsService::make()->updateCart($this->userId, $goodsId, $params)){
  74. return showJson(1003, false);
  75. }else{
  76. return showJson(1002, true, $result);
  77. }
  78. }
  79. }