BrowseRecords.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\store\model;
  4. use app\common\library\helper;
  5. use app\common\model\BrowseRecords as BrowseRecordsModel;
  6. class BrowseRecords extends BrowseRecordsModel
  7. {
  8. public function getList($userId = 0, $source_type = 1)
  9. {
  10. $list = $this->with(['user', 'goods'])->where('source_type', '=', $source_type)
  11. ->order('update_time', 'desc')
  12. ->paginate()
  13. ->each(function ($item) use ($source_type) {
  14. $item['items'] = [];
  15. if ($source_type == 1) { // 商品
  16. if (!empty($item['goods'])) {
  17. $goodsInfo = $item['goods'];
  18. // 商品图片列表
  19. $goodsInfo['goods_images'] = helper::getArrayColumn($goodsInfo['images'], 'file');
  20. // 商品主图
  21. $goodsInfo['goods_image'] = current($goodsInfo['goods_images'])['preview_url'];
  22. $goods = [
  23. 'goods_id' => $goodsInfo['goods_id'],
  24. 'goods_name' => $goodsInfo['goods_name'],
  25. 'spec_type' => $goodsInfo['spec_type'],
  26. 'goods_price_min' => $goodsInfo['goods_price_min'],
  27. 'goods_price_max' => $goodsInfo['goods_price_max'],
  28. 'line_price_min' => $goodsInfo['line_price_min'],
  29. 'line_price_max' => $goodsInfo['line_price_max'],
  30. 'goods_images' => $goodsInfo['goods_images'],
  31. 'goods_image' => $goodsInfo['goods_image'],
  32. 'stock_total' => $goodsInfo['stock_total'],
  33. 'goods_no' => $goodsInfo['goods_no'],
  34. 'status' => $goodsInfo['status'],
  35. ];
  36. unset($item['goods']);
  37. $item['items'] = $goods;
  38. }
  39. }
  40. });
  41. return $list;
  42. }
  43. }