User.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace app\supplier\controller\statistics;
  3. use app\supplier\controller\Controller;
  4. use app\supplier\service\statistics\UserService;
  5. /**
  6. * 会员数据控制器
  7. */
  8. class User extends Controller
  9. {
  10. /**
  11. * 会员数据统计
  12. */
  13. public function index()
  14. {
  15. return $this->renderSuccess('', [
  16. // 会员统计
  17. 'user' => (new UserService($this->getSupplierId()))->getData(),
  18. ]);
  19. }
  20. /**
  21. * 新增会员
  22. */
  23. public function visit($search_time)
  24. {
  25. $days = $this->getDays($search_time);
  26. return $this->renderSuccess('', [
  27. // 日期
  28. 'days' => $days,
  29. // 数据
  30. 'data' => (new UserService($this->getSupplierId()))->getVisitByDate($days),
  31. ]);
  32. }
  33. /**
  34. * 获取具体日期数组
  35. */
  36. private function getDays($search_time)
  37. {
  38. //搜索时间段
  39. if(!isset($search_time) || empty($search_time)){
  40. //没有传,则默认为最近7天
  41. $end_time = date('Y-m-d', time());
  42. $start_time = date('Y-m-d', strtotime('-7 day',time()));
  43. }else{
  44. $start_time = array_shift($search_time);
  45. $end_time = array_pop($search_time);
  46. }
  47. $dt_start = strtotime($start_time);
  48. $dt_end = strtotime($end_time);
  49. $date = [];
  50. $date[] = date('Y-m-d', strtotime($start_time));
  51. while($dt_start < $dt_end) {
  52. $date[] = date('Y-m-d', strtotime('+1 day',$dt_start));
  53. $dt_start = strtotime('+1 day',$dt_start);
  54. }
  55. return $date;
  56. }
  57. }