DefaultController.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. namespace addons\BusinessCard\backend\controllers;
  3. use addons\BusinessCard\common\models\BusinessCardStatistics;
  4. use Yii;
  5. class DefaultController extends BaseController
  6. {
  7. /**
  8. * 数据概况,排行榜
  9. *
  10. * @author hpei
  11. * @return mixed
  12. */
  13. public function actionIndex() {
  14. if (Yii::$app->request->isAjax && Yii::$app->request->isGet) {
  15. $where = [['=', 'mall_id', $this->mall_id]];
  16. $select = ['sum(card_num) card_num', 'sum(browse_num) browse_num'];
  17. $allData = BusinessCardStatistics::getList($where, $select, 'mall_id');
  18. $list['allData'] = $allData[0];
  19. return $this->success('success', $list);
  20. }
  21. return $this->render('index');
  22. }
  23. /**
  24. * 图表数据
  25. *
  26. * @param int date 天数 defalut 7
  27. * @author hpei
  28. * @return array
  29. */
  30. public function actionChart() {
  31. $list = [];
  32. if (Yii::$app->request->isAjax && Yii::$app->request->isGet) {
  33. $date = Yii::$app->request->get('date');
  34. $date = $date == '' ? 7 : $date;
  35. $start_time = strtotime("-$date day 0:0:0");
  36. $start_time += 86400;
  37. $end_time = $start_time + ($date * 86400) - 1;
  38. $where = [['>=', 'created_at', $start_time], ['<=', 'created_at', $end_time], ['=', 'mall_id', $this->mall_id]];
  39. $list = BusinessCardStatistics::getList($where, ['card_num', 'browse_num', 'created_at']);
  40. $data['date'] = [];
  41. $user_views = [];//浏览量
  42. $card_num = [];//名片总数
  43. //初始化统计
  44. for ($i = $start_time; $i < $end_time; $i += 86400) {
  45. $data['date'][] = date('Y-m-d', $i);
  46. array_push($user_views, 0);
  47. array_push($card_num, 0);
  48. }
  49. if (!empty($list)) {
  50. foreach ($list as $val) {
  51. if (in_array(date('Y-m-d', $val['created_at']), $data['date'])) {
  52. $index = array_search(date('Y-m-d', $val['created_at']), $data['date']);
  53. $user_views[$index] += $val['browse_num'];
  54. $card_num[$index] += $val['card_num'];
  55. }
  56. }
  57. }
  58. $data['series'] = compact(['clue_num', 'user_views', 'card_num', 'order_num', 'order_money']);
  59. }
  60. return $this->success('操作成功', $data);
  61. }
  62. public function setData($users, $data, $s) {
  63. var_dump($data);
  64. }
  65. }