2023-01-29 10:26:52 +08:00

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