Files
orico-official-website-old/app/admin/controller/Statistics.php
2024-10-29 14:04:59 +08:00

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;
}
}