StoreProduct.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\model\api;
  4. use think\Model;
  5. /**
  6. * @mixin \think\Model
  7. */
  8. class StoreProduct extends Model
  9. {
  10. protected $name = 'store_product';
  11. /**
  12. * 获取商品列表
  13. * @param array $where
  14. * @param int $page
  15. * @param int $pageSize
  16. * @return array
  17. */
  18. public function getList($where = [], $page = 1, $pageSize = 20)
  19. {
  20. $query = $this->where($where);
  21. $totalCount = $query->count();
  22. $list = $query
  23. ->order('sort', 'desc')
  24. ->order('id', 'desc')
  25. ->page($page, $pageSize)
  26. ->select()
  27. ->toArray();
  28. return [
  29. 'list' => $list,
  30. 'totalCount' => $totalCount,
  31. 'pageSize' => $pageSize,
  32. 'page' => $page
  33. ];
  34. }
  35. /**
  36. * 获取商品详情
  37. * @param int $id
  38. * @return array|null
  39. */
  40. public function getDetail($id)
  41. {
  42. $product = $this->where('id', $id)->find();
  43. if (!$product) {
  44. return null;
  45. }
  46. $data = $product->toArray();
  47. // 获取SKU列表
  48. $skuList = (new StoreProductAttrValue())->where('product_id', $id)->select()->toArray();
  49. $data['sku_list'] = $skuList;
  50. return $data;
  51. }
  52. }