Membergoodsbrowse.php 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. namespace app\api\controller;
  3. use think\facade\Lang;
  4. /**
  5. * ============================================================================
  6. *
  7. * ============================================================================
  8. *
  9. * ----------------------------------------------------------------------------
  10. *
  11. * ============================================================================
  12. * 浏览历史控制器
  13. */
  14. class Membergoodsbrowse extends MobileMember
  15. {
  16. public function initialize()
  17. {
  18. parent::initialize(); // TODO: Change the autogenerated stub
  19. Lang::load(base_path() . 'home/lang/' . config('lang.default_lang') . '/membergoodsbrowse.lang.php');
  20. }
  21. /**
  22. * 我的足迹
  23. */
  24. public function browse_list()
  25. {
  26. $goodsbrowse_model = model('goodsbrowse');
  27. $page = intval(input('param.page'));
  28. $per_page = intval(input('param.per_page'));
  29. //查询浏览记录
  30. $condition = array();
  31. $condition[] = array('member_id', '=', $this->member_info['member_id']);
  32. $timearray = $goodsbrowse_model->getGoodsbrowseList($condition, 'goodsbrowse_time', 0, 'goodsbrowse_time desc');
  33. foreach ($timearray as $key => $val) {
  34. $timearray[$key]['goodsbrowse_time'] = date('Y-m-d', $val['goodsbrowse_time']);
  35. }
  36. $timearray = array_unique(array_column($timearray, 'goodsbrowse_time')); //去除日期数组里面的重复日期
  37. $count = count($timearray); //日期数组长度
  38. $page_total = ceil($count / $per_page); //总页数
  39. if (($count - ($per_page * $page)) > 0) {
  40. $hasmore = true;
  41. } else {
  42. $hasmore = false;
  43. }
  44. $start = $per_page * ($page - 1); //数组起始位置
  45. $pagetimearray = array_slice($timearray, $start, $per_page); //获取页数日期数组
  46. $browsegoodslist = array();
  47. foreach ($pagetimearray as $key => $val) {
  48. $browsegoodslist[$key]['time'] = $val;
  49. $condition = array();
  50. $condition[] = array('member_id', '=', $this->member_info['member_id']);
  51. $condition[] = array('goodsbrowse_time', '>=', strtotime($val));
  52. $condition[] = array('goodsbrowse_time', '<=', strtotime($val) + 86399);
  53. $goodsidarray = $goodsbrowse_model->getGoodsbrowseList($condition, 'goods_id');
  54. $goodsidarray = array_column($goodsidarray, 'goods_id');
  55. $goodsidarray = implode(',', $goodsidarray);
  56. $goods_list = model('goods')->getGoodsList(array(array('goods_id', 'in', $goodsidarray)), 'goods_id, goods_name, goods_advword, goods_promotion_price, goods_promotion_type, goods_marketprice, goods_image, store_id, gc_id, gc_id_1, gc_id_2, gc_id_3');
  57. foreach ($goods_list as $k => $v) {
  58. $goods_list[$k]['goods_image_url'] = goods_cthumb($v['goods_image'], 480, $v['store_id']);
  59. }
  60. $browsegoodslist[$key]['goods_list'] = $goods_list;
  61. }
  62. $result = array_merge(array('goodsbrowse_list' => $browsegoodslist), array('hasmore' => $hasmore), array('page_total' => $page_total));
  63. ds_json_encode(10000, '', $result);
  64. }
  65. /**
  66. * 清空足迹
  67. */
  68. public function browse_clearall()
  69. {
  70. //清除缓存中浏览记录
  71. dcache($this->member_info['member_id'], 'goodsbrowse');
  72. model('goodsbrowse')->delGoodsbrowse(array('member_id' => $this->member_info['member_id']));
  73. ds_json_encode(10000, '', 1);
  74. }
  75. }