78 lines
2.2 KiB
PHP
Executable File
78 lines
2.2 KiB
PHP
Executable File
<?php
|
|
|
|
namespace app\admin\controller;
|
|
|
|
use think\Lang;
|
|
use think\Loader;
|
|
use think\Config;
|
|
|
|
class Statistics extends BaseController {
|
|
|
|
public function index() {
|
|
return view();
|
|
}
|
|
|
|
public function get_click_sum() {
|
|
$params = $this->request->get();
|
|
$begin_datetime = $params['begin_datetime'];
|
|
$end_datetime = $params['end_datetime'];
|
|
$type = $params['type'];
|
|
$code = $params['code'];
|
|
|
|
if ($begin_datetime == '') {
|
|
$begin_datetime = date('Y-m-01 00:00:00');
|
|
$end_datetime = date('Y-m-t H:i:s');
|
|
}
|
|
|
|
$where = [];
|
|
if ($type != '') {
|
|
$where['type'] = $type;
|
|
}
|
|
if ($code != '') {
|
|
$where['code'] = $code;
|
|
}
|
|
|
|
$result = model('click_sum')->field('year(create_time) y, month(create_time) m, day(create_time) d, count(id) click_count')->group('year(create_time), month(create_time), day(create_time)')->whereTime('create_time', 'between', [$begin_datetime, $end_datetime])->where($where)->select();
|
|
// tiaoshi($result);die;
|
|
$tmp_click_sum = [];
|
|
foreach ($result as $key => $value) {
|
|
$k = $value['m'] . '-' . $value['d'];
|
|
$v = $value['click_count'];
|
|
$tmp_click_sum[$k] = $v;
|
|
}
|
|
|
|
$begin_time = strtotime($begin_datetime);
|
|
$end_time = strtotime($end_datetime);
|
|
$click_sum = [];
|
|
$j = 0;
|
|
for($i=$begin_time;$i<=$end_time;$i+=86400) {
|
|
$k = $this->filter_date(date('m-d', $i));
|
|
$click_sum[$j]['date'] = $k;
|
|
$click_sum[$j]['click_count'] = isset($tmp_click_sum[$k]) ? $tmp_click_sum[$k] : 0;
|
|
$j++;
|
|
}
|
|
|
|
$data = [
|
|
'click_sum' => $click_sum,
|
|
];
|
|
|
|
return $this->json(200, 'ok', $data);
|
|
}
|
|
|
|
// 06-09 -> 6-9
|
|
private function filter_date($date) {
|
|
$m = substr($date, 0, strpos($date, "-"));
|
|
$d = substr($date, strpos($date, "-") + 1);
|
|
|
|
if (substr($m, 0, 1) == 0) {
|
|
$m = substr($m, 1);
|
|
}
|
|
if (substr($d, 0, 1) == 0) {
|
|
$d = substr($d, 1);
|
|
}
|
|
|
|
return $m . '-' . $d;
|
|
}
|
|
|
|
}
|