GoodsController.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Http\Controllers\ApiController;
  4. use App\Models\Goods;
  5. use App\Models\GoodsCategory;
  6. use App\Servers\CommonServer;
  7. use App\Servers\GoodsSpecServer;
  8. /**
  9. * 外卖商品
  10. */
  11. class GoodsController extends ApiController
  12. {
  13. /**
  14. * 获取商家分类
  15. */
  16. function getShopCategoryList()
  17. {
  18. $commonServer = CommonServer::creatServer();
  19. $shop_id = $commonServer->filtrationStr('shop_id');//商品id
  20. if (empty($shop_id)) return $this->apiResponseError('请选择商家');
  21. $list = GoodsCategory::where('is_del',0)
  22. ->where('shop_id',$shop_id)
  23. ->select(['id as category_id','name','type'])
  24. ->orderBy('sort','desc')
  25. ->get();
  26. return $this->apiResponseSuccess('成功',$list);
  27. }
  28. /**
  29. * 获取分类下商品
  30. */
  31. function getShopGoodsList()
  32. {
  33. $m_id = $this->getMemberId();//用户id
  34. $commonServer = CommonServer::creatServer();
  35. $shop_id = $commonServer->filtrationStr('shop_id');//商品id
  36. if (empty($shop_id)) return $this->apiResponseError('请选择商家');
  37. $category = GoodsCategory::where('is_del',0)
  38. ->where('shop_id',$shop_id)
  39. ->select(['id as type','name'])
  40. ->orderBy('sort','desc')
  41. ->get();
  42. foreach ($category as $value){
  43. $list = Goods::where('is_del',0)
  44. ->where('status',1)
  45. ->where('shop_id',$shop_id)
  46. ->where('category_id',$value['type'])
  47. ->select(['id as goods_id','category_id','goods_name','goods_desc','goods_image','price','spec_type','line_price','sales','is_infinite','stock'])
  48. ->orderBy('sort','desc')
  49. ->get();
  50. foreach ($list as $goods){
  51. $goods->{'num'} = 0;//前端需要
  52. }
  53. $value->{'list'} = $list;
  54. }
  55. return $this->apiResponseSuccess('成功',$category);
  56. }
  57. /**
  58. * 获取商品sku
  59. */
  60. function getGoodsSpec()
  61. {
  62. $m_id = $this->getMemberId();//用户id
  63. $commonServer = CommonServer::creatServer();
  64. $goods_id = $commonServer->filtrationStr('goods_id');//商品id
  65. if (empty($goods_id)) return $this->apiResponseError('请选择商品');
  66. $spec_type = Goods::where('id',$goods_id)->where('is_del',0)->value('spec_type');
  67. if ($spec_type == 2){
  68. $sku = GoodsSpecServer::creatServer()->getGoodsSku($goods_id);
  69. }else{
  70. $sku = [];
  71. }
  72. return $this->apiResponseSuccess('成功',$sku);
  73. }
  74. }