78 lines
2.6 KiB
PHP
78 lines
2.6 KiB
PHP
<?php
|
|
namespace app\admin\controller;
|
|
use app\common\controller\Admin;
|
|
use think\Request;
|
|
use think\Loader;
|
|
// 推广链接充值金额总统计
|
|
|
|
class Promotionamountstatistics extends Admin{
|
|
|
|
public function index(){
|
|
if(IS_POST){
|
|
$startdata = input('post.startdata');
|
|
$enddata = input('post.enddata');
|
|
}else{
|
|
$startdata = input('startdata');
|
|
$enddata = input('enddata');
|
|
}
|
|
|
|
$title = input('qd');
|
|
|
|
if($startdata && $enddata){
|
|
// TP5有个bug url表单数据有空值自动转化了+号 因此需要去掉+
|
|
$startdata = str_replace('+',' ',$startdata);
|
|
$enddata = str_replace('+',' ',$enddata);
|
|
$text = "从 ".$startdata." 开始 到 ".$enddata." 的数据统计";
|
|
$startdata = strtotime($startdata);
|
|
$enddata = strtotime($enddata);
|
|
}else{
|
|
$startdata = mktime(0,0,0,date('m'),1,date('Y')); //本月
|
|
$enddata = time(); //现在
|
|
$text = "默认展示本月数据";
|
|
}
|
|
|
|
$data = array();
|
|
|
|
$where2 = array();
|
|
|
|
if($title){
|
|
$where2['t.title'] = array('like','%'.$title.'%');
|
|
}
|
|
|
|
// 基本条件
|
|
$where = array(
|
|
'status'=>1
|
|
);
|
|
|
|
//注册人数
|
|
$data['regnum'] = db('member')->whereTime('reg_time', 'between', [$startdata,$enddata])->count();
|
|
//充值次数
|
|
$data['paynum'] = db('order')->where('iscontrol',0)->where($where)->whereTime('create_time', 'between', [$startdata,$enddata])->count();
|
|
//充值金额
|
|
$data['money'] = db('order')->where('iscontrol',0)->where($where)->whereTime('create_time', 'between', [$startdata,$enddata])->sum('money');
|
|
|
|
//统计数据
|
|
$data['res'] = db('order')
|
|
->alias('o')
|
|
->join('tuiguang t', 't.id = o.channel', 'LEFT')
|
|
->where($where)
|
|
->where($where2)
|
|
->where('iscontrol',0)
|
|
->whereTime('o.create_time', 'between', [$startdata,$enddata])
|
|
->field('t.*, o.channel, sum(o.money) as sum')
|
|
->group('o.channel')
|
|
->order('sum desc')
|
|
->paginate(15,false,['query'=>request()->param()]);
|
|
|
|
// 展示前端时间戳
|
|
$startdata = date('Y-m-d H:i:s',$startdata);
|
|
$enddata = date('Y-m-d H:i:s',$enddata);
|
|
$this->assign($data);
|
|
$this->assign('text', $text);
|
|
$this->assign('startdata', $startdata);
|
|
$this->assign('enddata', $enddata);
|
|
$this->setMeta('数据详情');
|
|
return $this->fetch();
|
|
}
|
|
|
|
} |