short-play-api/application/admin/controller/Promotionamountstatistics.php
2023-01-29 10:26:52 +08:00

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