180 lines
6.9 KiB
PHP
180 lines
6.9 KiB
PHP
<?php
|
|
namespace app\admin\controller;
|
|
use app\common\controller\Admin;
|
|
use think\Request;
|
|
use think\Loader;
|
|
use think\Cache;
|
|
|
|
/**
|
|
* 投手数据详细统计
|
|
*/
|
|
class Channelstatistics extends Admin{
|
|
|
|
public function index(){
|
|
$uid = input('uid');
|
|
$groupId = session('user_auth.group');
|
|
if(empty($uid)){
|
|
$uid = session('user_auth.uid');
|
|
if($groupId==999){
|
|
$this->redirect('Channelstatistics/adminexhibit');
|
|
}
|
|
if($groupId!==999 && $groupId!==9){
|
|
echo '无权限访问';
|
|
exit;
|
|
}
|
|
}
|
|
$data = array();
|
|
$info = array();
|
|
$trinfo = array();
|
|
//今日
|
|
$startdata = strtotime(date('Y-m-d')); //今日凌晨
|
|
$enddata = time(); //现在
|
|
//昨日
|
|
$startdata2=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
|
|
$enddata2=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
|
|
//本月
|
|
$startdata3=mktime(0,0,0,date('m'),1,date('Y'));
|
|
$enddata3=mktime(23,59,59,date('m'),date('t'),date('Y'));
|
|
//上月
|
|
$getmonth = $this->getmonth();
|
|
$startdata4 = $getmonth[0];
|
|
$enddata4 = $getmonth[1]+86399;
|
|
|
|
$user = db('member')->field('uid,username,nickname')->where('uid',$uid)->find();
|
|
$nickname = empty($user['nickname'])?$user['username']:$user['nickname'];
|
|
|
|
$trlist = db('transfer')->where('gid',$uid)->order('id desc')->select();
|
|
if($trlist){
|
|
$data['day'] = 0;
|
|
$data['yesterday'] = 0;
|
|
$data['month'] = 0;
|
|
$data['lastmonth'] = 0;
|
|
$data['money'] = 0;
|
|
foreach($trlist as $k=>$v){
|
|
$datawhere['status'] = 1;
|
|
$datawhere['ldurl'] = $v['pageurl'];
|
|
$data['day'] += db('order')->where('iscontrol',0)->where($datawhere)->where('hidden',0)->where('create_time', 'between', [$startdata,$enddata])->sum('money');
|
|
$data['yesterday'] += db('order')->where('iscontrol',0)->where($datawhere)->where('hidden',0)->where('create_time', 'between', [$startdata2,$enddata2])->sum('money');
|
|
$data['month'] += db('order')->where('iscontrol',0)->where($datawhere)->where('hidden',0)->where('create_time', 'between', [$startdata3,$enddata3])->sum('money');
|
|
$data['lastmonth'] += db('order')->where('iscontrol',0)->where($datawhere)->where('hidden',0)->where('create_time', 'between', [$startdata4,$enddata4])->sum('money');
|
|
$data['money'] += db('order')->where('iscontrol',0)->where($datawhere)->where('hidden',0)->sum('money');
|
|
//每个落地页的详情
|
|
$trinfo[$k]['money'] = db('order')->where('iscontrol',0)->where($datawhere)->where('hidden',0)->sum('money');
|
|
$trinfo[$k]['userpaynum'] = db('order')->where('iscontrol',0)->where($datawhere)->where('hidden',0)->group('uid')->count('id');
|
|
$trinfo[$k]['paybi'] = db('order')->where('iscontrol',0)->where($datawhere)->where('hidden',0)->count('id');
|
|
$trinfo[$k]['tid'] = $v['id'];
|
|
$trinfo[$k]['text'] = $v['remark'];
|
|
}
|
|
}
|
|
//近6个月统计
|
|
$nowday=$this->to_sex_month(6);
|
|
//var_dump($nowday);exit;
|
|
foreach($nowday as $k=>$v){
|
|
$info[date('Y-m',$v[0])] = array(
|
|
'money'=>$this->money($uid,$v[0],$v[1]+86399),
|
|
'userpaynum'=>$this->userpaynum($uid,$v[0],$v[1]+86399),
|
|
'paybi'=>$this->paybi($uid,$v[0],$v[1]+86399),
|
|
);
|
|
}
|
|
|
|
$this->assign("trinfo",$trinfo);
|
|
$this->assign("info",$info);
|
|
$this->assign($data);
|
|
$this->setMeta('推广统计 账号:'.$nickname);
|
|
return $this->fetch();
|
|
}
|
|
|
|
//管理员权限
|
|
public function adminexhibit(){
|
|
$data = input('');
|
|
$where = array();
|
|
if($data['name']){
|
|
$where['nickname'] = array('like',"%".$data['name']."%");
|
|
}
|
|
$user = db('member')->field('uid,username,group,nickname')->where('group',9)->where($where)->paginate(6);
|
|
$page = $user->render();
|
|
$data=$user->all();
|
|
// foreach($data as $k=>$v){
|
|
|
|
// }
|
|
$user = $data;
|
|
$this->assign('page', $page);
|
|
$this->assign("user",$user);
|
|
$this->setMeta('推广师统计');
|
|
return $this->fetch();
|
|
}
|
|
|
|
public function money($uid,$a,$e){
|
|
$trlist = db('transfer')->where('gid',$uid)->select();
|
|
if($trlist){
|
|
$num = 0;
|
|
foreach($trlist as $k=>$v){
|
|
$datawhere['status'] = 1;
|
|
$datawhere['ldurl'] = $v['pageurl'];
|
|
$num += db('order')->where('iscontrol',0)->where($datawhere)->where('hidden',0)->where('create_time', 'between', [$a,$e])->sum('money');
|
|
}
|
|
return $num;
|
|
}
|
|
}
|
|
|
|
public function userpaynum($uid,$a,$e){
|
|
$trlist = db('transfer')->where('gid',$uid)->select();
|
|
if($trlist){
|
|
$num = 0;
|
|
foreach($trlist as $k=>$v){
|
|
$datawhere['status'] = 1;
|
|
$datawhere['ldurl'] = $v['pageurl'];
|
|
$num += db('order')->where('iscontrol',0)->where($datawhere)->where('hidden',0)->where('create_time', 'between', [$a,$e])->group('uid')->count('id');
|
|
}
|
|
return $num;
|
|
}
|
|
}
|
|
|
|
public function paybi($uid,$a,$e){
|
|
$trlist = db('transfer')->where('gid',$uid)->select();
|
|
if($trlist){
|
|
$num = 0;
|
|
foreach($trlist as $k=>$v){
|
|
$datawhere['status'] = 1;
|
|
$datawhere['ldurl'] = $v['pageurl'];
|
|
$num += db('order')->where('iscontrol',0)->where($datawhere)->where('hidden',0)->where('create_time', 'between', [$a,$e])->count('id');
|
|
}
|
|
return $num;
|
|
}
|
|
}
|
|
|
|
//前$mun个月时间戳
|
|
public function to_sex_month($mun){
|
|
$arr = array();
|
|
for($i = 1;$i <= $mun; ++$i){
|
|
$t = strtotime("-$i month");
|
|
$lastDay = date('Y-m-',$t).date('t',$t);
|
|
$arr[] = explode('/',strtotime(date('Y-m-01',$t)).'/'.strtotime($lastDay));
|
|
}
|
|
return $arr;
|
|
}
|
|
|
|
//获取上月开始结束时间戳
|
|
public function getmonth(){
|
|
$thismonth = date('m');
|
|
$thisyear = date('Y');
|
|
if ($thismonth == 1) {
|
|
$lastmonth = 12;
|
|
$lastyear = $thisyear - 1;
|
|
} else {
|
|
$lastmonth = $thismonth - 1;
|
|
$lastyear = $thisyear;
|
|
}
|
|
$lastStartDay = $lastyear . '-' . $lastmonth . '-1';
|
|
$lastEndDay = $lastyear . '-' . $lastmonth . '-' . date('t', strtotime($lastStartDay));
|
|
|
|
$b_time = strtotime($lastStartDay);//上个月的月初时间戳
|
|
$e_time = strtotime($lastEndDay);//上个月的月末时间戳
|
|
$startdata=$b_time;
|
|
$enddata=$e_time;
|
|
$data = array($startdata,$enddata);
|
|
return $data;
|
|
}
|
|
|
|
|
|
} |