You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.5 KiB

5 years ago
  1. <?php
  2. namespace App\Controller\v3;
  3. use App\Constants\v3\Tabs;
  4. use App\Controller\BaseController;
  5. use App\Model\v3\Goods;
  6. /**
  7. * 推荐商品相关
  8. * Class GoodsRecommend
  9. * @package App\Controller\v3
  10. */
  11. class GoodsRecommendController extends BaseController
  12. {
  13. /**
  14. * 获取首页tabs推荐商品列表
  15. * 1、前端上传tab标识
  16. * 2、根据tab标识从Elasticsearch中获取商品IDs
  17. * 3、根据IDs获取商品数据
  18. * 4、返回数据,id、封面图、名称、原价、现价、库存、月销、tag、规格、购物车相关、商户id、商户avatar、商户名
  19. */
  20. public function getByTabsForAppletIndex()
  21. {
  22. $goods = Goods::query()
  23. ->with(['store'])
  24. ->forPage($this->request->input('page', 1), $this->request->input('pagesize', 15))
  25. ->get()->toArray();
  26. return $this->success(['tab_data' => $goods]);
  27. }
  28. /**
  29. * 获取搜索页推荐商品列表
  30. * 1、前端上传标识
  31. * recommend_search_goods
  32. * recommend_search_stores
  33. * recommend_user_index
  34. * 2、根据标识从Elasticsearch中获取商品IDs
  35. * 3、根据IDs获取商品数据
  36. * 4、返回数据,id、封面图、名称、原价、现价、库存、月销、tag、规格、购物车相关、商户id、商户avatar、商户名
  37. */
  38. public function getByTab()
  39. {
  40. $goods = Goods::query()
  41. ->with(['store'])
  42. ->limit(6)
  43. ->get()->toArray();
  44. return $this->success(['tab_data' => $goods]);
  45. }
  46. }