UserVisitRepository.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. /**
  3. * @package merchant
  4. *
  5. * @author xaboy
  6. * @day 2020/5/27
  7. *
  8. *
  9. */
  10. namespace app\common\repositories\user;
  11. use app\common\dao\user\UserVisitDao;
  12. use app\common\repositories\BaseRepository;
  13. /**
  14. * Class UserVisitRepository
  15. * @package app\common\repositories\user
  16. * @author xaboy
  17. * @day 2020/5/27
  18. * @mixin UserVisitDao
  19. */
  20. class UserVisitRepository extends BaseRepository
  21. {
  22. /**
  23. * @var UserVisitDao
  24. */
  25. protected $dao;
  26. /**
  27. * UserVisitRepository constructor.
  28. * @param UserVisitDao $dao
  29. */
  30. public function __construct(UserVisitDao $dao)
  31. {
  32. $this->dao = $dao;
  33. }
  34. public function getRecommend(?int $uid)
  35. {
  36. $data = $this->dao->search($uid,'product')->with(['product'=>function($query){
  37. $query->field('product_id,cate_id');
  38. }])->limit(7)->select();
  39. $i = [];
  40. if(is_array($data)){
  41. foreach ($data as $item){
  42. $i[] = $item['product']['cate_id'];
  43. }
  44. }
  45. return $i;
  46. }
  47. public function getHistory($uid,$page, $limit)
  48. {
  49. $query = $this->dao->search($uid,'product');
  50. $query->with(['product'=>function($query){
  51. $query->field('product_id,image,store_name,slider_image,price,is_show,status,sales');
  52. }]);
  53. $count = $query->count();
  54. $list = $query->page($page,$limit)->select();
  55. return compact('count','list');
  56. }
  57. }