198 lines
6.3 KiB
PHP
198 lines
6.3 KiB
PHP
<?php
|
|
namespace app\admin\controller;
|
|
use app\common\controller\Admin;
|
|
use think\Request;
|
|
use think\Loader;
|
|
use think\Cache;
|
|
|
|
/**
|
|
* 推广链接
|
|
*/
|
|
class Spread extends Admin{
|
|
|
|
public function index(){
|
|
$data = input('');
|
|
|
|
|
|
$this->setMeta('推广链接');
|
|
return $this->fetch();
|
|
}
|
|
|
|
public function refreshs(){
|
|
|
|
$groupId = session('user_auth.group');
|
|
$userid = session('user_auth.uid');
|
|
$page = input('page');
|
|
$order = input('order');
|
|
$tim = input('tim');
|
|
$linkid = input('linkid');
|
|
$map = array();
|
|
$page = empty($page)?0:$page-1;
|
|
$page = $page*10;
|
|
if($tim=='今日'){
|
|
$timetype = $this->timetype(3);
|
|
}elseif($tim=='昨日'){
|
|
$timetype = $this->timetype(4);
|
|
}
|
|
if($linkid){
|
|
$map['id'] = $linkid;
|
|
}
|
|
$startdata = strtotime($timetype['startdata']);
|
|
$enddata = strtotime($timetype['enddata']);
|
|
|
|
if($order=='latest'){
|
|
$field = '*';
|
|
$list = db('transfer')->field($field)->where($map)->order('id desc')->limit($page,10)->select();
|
|
$pagetotal = db('transfer')->where($map)->count('id');
|
|
}elseif($order=='money'){
|
|
$list = db('order')
|
|
->alias('o')
|
|
->join('transfer t', 't.id = o.ldurl', 'LEFT')
|
|
->where('o.status', 1)
|
|
->where('o.ldurl', '>' ,0)
|
|
->where('o.ispay', 1)
|
|
->where('iscontrol',0)
|
|
->where('o.create_time', 'between', [$startdata,$enddata])
|
|
->field('t.*,o.ldurl, sum(o.money) as money')
|
|
->group('o.ldurl')
|
|
->order('money desc')
|
|
->select();
|
|
}elseif($order=='moneytotal'){
|
|
$list = db('order')
|
|
->alias('o')
|
|
->join('transfer t', 't.id = o.ldurl', 'LEFT')
|
|
->where('o.status', 1)
|
|
->where('o.ldurl', '>' ,0)
|
|
->where('o.ispay', 1)
|
|
->where('iscontrol',0)
|
|
->field('t.*,o.ldurl, sum(o.money) as moneytotal')
|
|
->group('o.ldurl')
|
|
->order('moneytotal desc')
|
|
->select();
|
|
}elseif($order=='regnum'){
|
|
$list = db('member')
|
|
->alias('m')
|
|
->join('transfer t', 't.id = m.ldurl', 'LEFT')
|
|
->where('m.ldurl', '>' ,0)
|
|
->where('m.reg_time', 'between', [$startdata,$enddata])
|
|
->field('t.*,m.ldurl, count(m.uid) as regnum')
|
|
->group('t.id')
|
|
->order('regnum desc')
|
|
->select();
|
|
}elseif($order=='paynum'){
|
|
$list = db('order')
|
|
->alias('o')
|
|
->join('transfer t', 't.id = o.ldurl', 'LEFT')
|
|
->where('o.status', 1)
|
|
->where('o.ldurl', '>' ,0)
|
|
->where('o.ispay', 1)
|
|
->where('iscontrol',0)
|
|
->where('o.create_time', 'between', [$startdata,$enddata])
|
|
->field('t.*,o.ldurl, count(o.id) as paynum')
|
|
->group('o.ldurl')
|
|
->order('paynum desc')
|
|
->select();
|
|
}
|
|
|
|
foreach($list as $k=>$v){
|
|
|
|
$regnum['ldurl'] = $v['id'];
|
|
$moneys['status'] = 1;
|
|
$moneys['ispay'] = 1;
|
|
$moneys['is_complex'] = 1;
|
|
$moneys['iscontrol'] = 0;
|
|
$moneys['ldurl'] = $v['id'];
|
|
|
|
$list[$k]['addtime'] = date("m月d号",$v['addtime']);
|
|
//注册人数
|
|
if(empty($list[$k]['regnum'])){
|
|
$list[$k]['regnum'] = db('member')->where($regnum)->where('reg_time', 'between', [$starttime,$endtime])->count('uid');
|
|
}
|
|
//充值笔数
|
|
if(empty($list[$k]['paynum'])){
|
|
$list[$k]['paynum'] = db('order')->where($moneys)->where('create_time', 'between', [$starttime,$endtime])->count('id');
|
|
}
|
|
//充值金额
|
|
if(empty($list[$k]['money'])){
|
|
$money = db('order')->where($moneys)->where('create_time', 'between', [$starttime,$endtime])->sum('money');
|
|
$list[$k]['money'] = empty($moneys)?0:$moneys;
|
|
}
|
|
//总充值金额
|
|
if(empty($list[$k]['moneytotal'])){
|
|
$money = db('order')->where($moneys)->sum('money');
|
|
$list[$k]['moneytotal'] = empty($moneys)?0:$moneys;
|
|
}
|
|
}
|
|
|
|
exit(json_encode(array(
|
|
'status'=>1,
|
|
'list'=>$list,
|
|
'pagetotal'=>empty($pagetotal)?0:$pagetotal
|
|
)));
|
|
|
|
}
|
|
|
|
public function moneyinfo(){
|
|
|
|
exit(json_encode(array(
|
|
'status'=>1,
|
|
)));
|
|
}
|
|
|
|
//时间格式返回
|
|
public function timetype($t){
|
|
if($t==1){ //一年内
|
|
$startdata = '2021-03-16 0:0:0';
|
|
$enddata = strtotime(date('Y-m-d H:i:s')); //现在
|
|
$f = date('i');
|
|
$enddata = $enddata+((60-$f)*60);
|
|
$enddata = date('Y-m-d H:i:s',$enddata);
|
|
}elseif($t==2){ //一个小时内
|
|
$startdata = date('Y-m-d H:0:0');
|
|
$enddata = strtotime(date('Y-m-d H:i:s')); //现在
|
|
$f = date('i');
|
|
$enddata = $enddata+((60-$f)*60);
|
|
$enddata = date('Y-m-d H:i:s',$enddata);
|
|
}elseif($t==3){ //一天内
|
|
$startdata = date('Y-m-d 0:0:0');
|
|
$enddata = strtotime(date('Y-m-d H:i:s')); //现在
|
|
$f = date('i');
|
|
$enddata = $enddata+((60-$f)*60);
|
|
$enddata = date('Y-m-d H:i:s',$enddata);
|
|
}elseif($t==4){ //昨天
|
|
$startdata = date('Y-m-d H:i:s',mktime(0,0,0,date('m'),date('d')-1,date('Y')));
|
|
$enddata = date('Y-m-d H:i:s',mktime(0,0,0,date('m'),date('d'),date('Y')));
|
|
}elseif($t==5){ //一个小时前
|
|
$startdata = date("Y-m-d H:0:0", strtotime("-1 hour"));
|
|
$enddata = date("Y-m-d H:0:0");
|
|
}
|
|
$arr = array(
|
|
'startdata'=>$startdata,
|
|
'enddata'=>$enddata
|
|
);
|
|
return $arr;
|
|
}
|
|
|
|
/**
|
|
* 排序
|
|
*/
|
|
public function array_sort($arr, $keys, $type='asc'){
|
|
$keysvalue = $new_array = array();
|
|
foreach ($arr as $k=>$v){
|
|
$keysvalue[$k] = $v[$keys];
|
|
}
|
|
if($type == 'asc'){
|
|
asort($keysvalue);
|
|
}else{
|
|
arsort($keysvalue);
|
|
}
|
|
reset($keysvalue);
|
|
foreach ($keysvalue as $k=>$v){
|
|
$new_array[] = $arr[$k];
|
|
}
|
|
return $new_array;
|
|
}
|
|
|
|
|
|
|
|
} |