Commit 2287ae3a by 冷斌

fix bug

parent 7280e223
......@@ -2,29 +2,29 @@
namespace Admin\Controller;
use Common\Controller\AdminbaseController;
class MainController extends AdminbaseController {
public function index(){
$adminid=$_SESSION['ADMIN_ID'];
if(!sp_auth_check($adminid)){
$role_id=$_SESSION['role_id'];
if($role_id==7 || $role_id==6 || $role_id==8){
$code=M('users')->where("id={$adminid}")->getField('user_activation_key');
$url=get_upload_path('/Appapi/Reg/index?agentid='.$code);
$url=get_upload_path('?g=Appapi&m=Reg&a=index&agentid='.$code);
$img='data/upload/promoters/qr_'.$code.'.png';
if(!file_exists(SITE_PATH.$img)){
include SITE_PATH.'simplewind/Lib/Util/phpqrcode.php';
$value = $url; //二维码内容
$errorCorrectionLevel = 'L'; //容错级别
$matrixPointSize = 6; //生成图片大小
$errorCorrectionLevel = 'L'; //容错级别
$matrixPointSize = 6; //生成图片大小
//生成二维码图片
$filename = SITE_PATH.$img;
\QRcode::png($value,$filename , $errorCorrectionLevel, $matrixPointSize, 2);
\QRcode::png($value,$filename , $errorCorrectionLevel, $matrixPointSize, 2);
}
$img_url=get_upload_path('/'.$img);
$this->assign("url",$url);
......@@ -38,18 +38,18 @@ class MainController extends AdminbaseController {
$config=getConfigPub();
$this->assign("config",$config);
$User=M("users");
$nowtime=time();
//当天0点
$today=date("Y-m-d",$nowtime);
$today_start=strtotime($today);
//当天 23:59:59
$today_end=strtotime("{$today} + 1 day");
/* 总注册数 */
$users_total=$User->where("user_type=2")->count();
$this->assign("users_total",number_format($users_total));
/* 基础数据 */
$congifpri=getConfigPri();
......@@ -57,7 +57,7 @@ class MainController extends AdminbaseController {
$appkey=$congifpri['um_appkey_android'];
$basic_today_android=$this->getDailyData($appkey,$today);
}
if($congifpri['um_appkey_ios']){
$appkey=$congifpri['um_appkey_ios'];
$basic_today_ios=$this->getDailyData($appkey,$today);
......@@ -67,12 +67,12 @@ class MainController extends AdminbaseController {
$basic_today['totalUsers']=number_format($basic_today_android['totalUsers']+$basic_today_ios['totalUsers']);
$basic_today['activityUsers']=number_format($basic_today_android['activityUsers']+$basic_today_ios['activityUsers']);
$basic_today['launches']=number_format($basic_today_android['launches']+$basic_today_ios['launches']);
$data_basic=$this->getBasic($today_start,$today_end,1);
$this->assign("basic_today",$basic_today);
$this->assign("data_basicj",json_encode($data_basic));
//设备终端
$source=$User
->field("count(id) as nums,source")
......@@ -89,7 +89,7 @@ class MainController extends AdminbaseController {
if($source){
$nums=array_column($source,'nums');
$nums_totoal=array_sum($nums);
foreach($source as $k=>$v){
$data_source['name'][]=$v['source'];
$data_source['nums'][]=$v['nums'];
......@@ -97,7 +97,7 @@ class MainController extends AdminbaseController {
$data_source['nums_per'][]=round($v['nums']*100/$nums_totoal);
}
}
$this->assign("data_sourcej",json_encode($data_source));
/* 注册渠道 */
$login_type=$User
......@@ -118,16 +118,16 @@ class MainController extends AdminbaseController {
$data_type['name'][]=$v['login_type'];
}
}
$this->assign("data_typej",json_encode($data_type));
/* 主播数据 */
$Liverecord = M("users_liverecord");
$anchor_total=$User->where("user_type=2")->count();
$anchor_online=M("users_live")->where("islive=1")->count();
$anchor_live_long_total=$Liverecord->sum("endtime-starttime");
if(!$anchor_live_long_total){
$anchor_live_long_total=0;
......@@ -135,18 +135,18 @@ class MainController extends AdminbaseController {
if($anchor_live_long_total>0){
$anchor_live_long_total=number_format(floor($anchor_live_long_total/60));
}
$anchorinfo=$this->getAnchorInfo($today_start,$today_end);
$anchor=[
'anchor_total'=>$anchor_total,
'anchor_online'=>$anchor_online,
'anchor_live_long_total'=>$anchor_live_long_total,
];
$anchor=array_merge($anchor,$anchorinfo);
$this->assign("anchor",$anchor);
/* 网红榜 */
$votes_list=$User
->field("id,user_nicename,avatar,avatar_thumb,votestotal")
......@@ -157,7 +157,7 @@ class MainController extends AdminbaseController {
foreach($votes_list as $k=>$v){
$v['avatar']=get_upload_path($v['avatar']);
$v['avatar_thumb']=get_upload_path($v['avatar_thumb']);
$votes_list[$k]=$v;
}
$this->assign("votes_list",$votes_list);
......@@ -171,11 +171,11 @@ class MainController extends AdminbaseController {
foreach($rich_list as $k=>$v){
$v['avatar']=get_upload_path($v['avatar']);
$v['avatar_thumb']=get_upload_path($v['avatar_thumb']);
$rich_list[$k]=$v;
}
$this->assign("rich_list",$rich_list);
/* 财务 */
$Charge=M('users_charge');
$charge_total=$Charge->where("status=1")->sum("money");
......@@ -185,17 +185,17 @@ class MainController extends AdminbaseController {
if($charge_total>0){
$charge_total=number_format($charge_total);
}
$data_charge=$this->getCharge($today_start,$today_end);
$this->assign("charge_total",$charge_total);
$this->assign("data_chargej",json_encode($data_charge));
/* 提现 */
$Cash=M('users_cashrecord');
$cashinfo=$this->getCash($today_start,$today_end);
$cash_total=$Cash->where("status=1")->sum("money");
if(!$cash_total){
$cash_total=0;
......@@ -203,13 +203,13 @@ class MainController extends AdminbaseController {
if($cash_total>0){
$cash_total=number_format($cash_total);
}
$this->assign("cashinfo",$cashinfo);
$this->assign("cash_total",$cash_total);
$this->display();
}
function getdata(){
$rs=['code'=>0,'msg'=>'','info'=>[]];
$action=I('action');
......@@ -236,7 +236,7 @@ class MainController extends AdminbaseController {
/* 昨日 */
$yesterday_start=$today_start - 60*60*24;
$yesterday_end=$today_start;
$start=$yesterday_start;
$end=$yesterday_end;
break;
......@@ -244,7 +244,7 @@ class MainController extends AdminbaseController {
/* 近7日 */
$week_start=$today_end - 60*60*24*7;
$week_end=$today_end;
$start=$week_start;
$end=$week_end;
break;
......@@ -252,18 +252,18 @@ class MainController extends AdminbaseController {
/* 近30日 */
$month_start=$today_end - 60*60*24*30;
$month_end=$today_end;
$start=$month_start;
$end=$month_end;
break;
}
}else{
if($start_time){
$start=strtotime($start_time);
}
if($end_time){
$end=strtotime($end_time) + 60*60*24;
$end=strtotime($end_time) + 60*60*24;
}
}
......@@ -291,12 +291,12 @@ class MainController extends AdminbaseController {
$info=$this->getCash($start,$end);
break;
}
$rs['info']=$info;
echo json_encode($rs);
exit;
}
/* 基础数据 */
function getBasic($starttime,$endtime,$basic_type){
$rs=[
......@@ -305,7 +305,7 @@ class MainController extends AdminbaseController {
'nums'=>0,
];
$start=date("Y-m-d",$starttime);
$end=date("Y-m-d",($endtime - 60*60*24));
$congifpri=getConfigPri();
......@@ -317,9 +317,9 @@ class MainController extends AdminbaseController {
for($i=$starttime;$i<$endtime;$i+=60*60*24){
$rs['name'][]=date("Y-m-d",$i);
}
}
if($congifpri['um_appkey_android']){
$appkey=$congifpri['um_appkey_android'];
switch($basic_type){
......@@ -340,7 +340,7 @@ class MainController extends AdminbaseController {
break;
}
}
if($congifpri['um_appkey_ios']){
$appkey=$congifpri['um_appkey_ios'];
switch($basic_type){
......@@ -361,7 +361,7 @@ class MainController extends AdminbaseController {
break;
}
}
switch($basic_type){
case '1':
if($periodType=='hourly'){
......@@ -391,11 +391,11 @@ class MainController extends AdminbaseController {
}
break;
case '3':
foreach($rs['name'] as $k=>$v){
$rs['data'][]= floor( ($durations_android[$k] + $durations_ios[$k])/60);
}
break;
case '4':
if($periodType=='hourly'){
......@@ -429,10 +429,10 @@ class MainController extends AdminbaseController {
}else{
$rs['nums']=array_sum($rs['data']);
}
return $rs;
}
/* 获取某天总数 */
function getDailyData($appkey,$start){
......@@ -440,11 +440,11 @@ class MainController extends AdminbaseController {
'appkey'=>$appkey,
'date'=>$start,
];
$urlPath='param2/1/com.umeng.uapp/umeng.uapp.getDailyData/';
$rs=$this->getUmengData($urlPath,$data);
return $rs['dailyData'];
}
/* 获取App新增用户数 */
......@@ -455,9 +455,9 @@ class MainController extends AdminbaseController {
'endDate'=>$end,
'periodType'=>$periodType,
];
$urlPath='param2/1/com.umeng.uapp/umeng.uapp.getNewUsers/';
$rs=$this->getUmengData($urlPath,$data);
return $rs['newUserInfo'];
......@@ -471,19 +471,19 @@ class MainController extends AdminbaseController {
'endDate'=>$end,
'periodType'=>$periodType,
];
$urlPath='param2/1/com.umeng.uapp/umeng.uapp.getLaunches/';
$rs=$this->getUmengData($urlPath,$data);
return $rs['launchInfo'];
}
/* 获取App使用时长 */
function getDurations($appkey,$start,$end,$periodType){
$urlPath='param2/1/com.umeng.uapp/umeng.uapp.getDurations/';
$info=[];
$start_time=strtotime($start);
$end_time=strtotime($end);
for($i=$start_time;$i<=$end_time;$i+=60*60*24){
......@@ -495,7 +495,7 @@ class MainController extends AdminbaseController {
];
$rs=$this->getUmengData($urlPath,$data);
$info[]=$rs['average'];
}
return $info;
......@@ -509,11 +509,11 @@ class MainController extends AdminbaseController {
'endDate'=>$end,
'periodType'=>$periodType,
];
$urlPath='param2/1/com.umeng.uapp/umeng.uapp.getActiveUsers/';
$rs=$this->getUmengData($urlPath,$data);
return $rs['activeUserInfo'];
}
/* 留存用户数 */
......@@ -525,23 +525,23 @@ class MainController extends AdminbaseController {
'endDate'=>$end,
'periodType'=>$periodType,
];
$urlPath='param2/1/com.umeng.uapp/umeng.uapp.getRetentions/';
$rs=$this->getUmengData($urlPath,$data);
return $rs['retentionInfo'];
}
function getUmengData($urlPath,$data){
$congifpri=getConfigPri();
$url='https://gateway.open.umeng.com/openapi/';
$appkey=$congifpri['um_apikey'];
$apiSecurity=$congifpri['um_apisecurity'];
$urlPath.=$appkey;
ksort($data);
$param='';
foreach($data as $k=>$v){
......@@ -549,17 +549,17 @@ class MainController extends AdminbaseController {
}
$s=$urlPath.$param;
$Signature=strtoupper ( bin2hex ( hash_hmac("sha1", $s, $apiSecurity, true) ) );
$url.=$urlPath;
$query=http_build_query($data);
$query.='&_aop_signature='.$Signature;
$rs=$this->Post($query,$url);
return json_decode($rs,true);
}
function Post($curlPost,$url){
$curl = curl_init();
......@@ -577,9 +577,9 @@ class MainController extends AdminbaseController {
}
/* 用户画像 */
function getUsers($start,$end){
}
/* 主播数据 */
function getAnchorInfo($start,$end){
$Liverecord = M("users_liverecord");
......@@ -603,7 +603,7 @@ class MainController extends AdminbaseController {
];
return $info;
}
/* 财务 */
function getCharge($start,$end){
$Charge=M('users_charge');
......@@ -638,7 +638,7 @@ class MainController extends AdminbaseController {
if(!$charge_total_today){
$charge_total_today=0;
}
$data_charge['color']=$charge_color;
$data_charge['name'][]='充值总额';
$data_charge['money'][]=$charge_total_today;
......@@ -649,14 +649,14 @@ class MainController extends AdminbaseController {
if(!$money){
$money=0;
}
$data_charge['money'][]=$money;
}
return $data_charge;
return $data_charge;
}
/* 提现 */
function getCash($start,$end){
$Cash=M('users_cashrecord');
......@@ -667,7 +667,7 @@ class MainController extends AdminbaseController {
if($cash_apply>0){
$cash_apply=number_format($cash_apply);
}
$cash_adopt=$Cash->where("status=1 and addtime>={$start} and addtime<{$end}")->sum("money");
if(!$cash_adopt){
$cash_adopt=0;
......@@ -675,7 +675,7 @@ class MainController extends AdminbaseController {
if($cash_adopt>0){
$cash_adopt=number_format($cash_adopt);
}
$cash_anchor=$Cash->where("addtime>={$start} and addtime<{$end}")->group("uid")->count();
if(!$cash_anchor){
$cash_anchor=0;
......@@ -683,7 +683,7 @@ class MainController extends AdminbaseController {
if($cash_anchor>0){
$cash_anchor=number_format($cash_anchor);
}
$info=[
'cash_apply'=>$cash_apply,
......@@ -692,9 +692,9 @@ class MainController extends AdminbaseController {
];
return $info;
}
/* 导出 */
function export(){
......@@ -722,7 +722,7 @@ class MainController extends AdminbaseController {
/* 昨日 */
$yesterday_start=$today_start - 60*60*24;
$yesterday_end=$today_start;
$start=$yesterday_start;
$end=$yesterday_end;
break;
......@@ -730,7 +730,7 @@ class MainController extends AdminbaseController {
/* 近7日 */
$week_start=$today_end - 60*60*24*7;
$week_end=$today_end;
$start=$week_start;
$end=$week_end;
break;
......@@ -738,25 +738,25 @@ class MainController extends AdminbaseController {
/* 近30日 */
$month_start=$today_end - 60*60*24*30;
$month_end=$today_end;
$start=$month_start;
$end=$month_end;
break;
}
}else{
if($start_time){
$start=strtotime($start_time);
}
if($end_time){
$end=strtotime($end_time) + 60*60*24;
$end=strtotime($end_time) + 60*60*24;
}
}
if($start==0){
exit;
}
$xlsData=[];
switch($action){
......@@ -770,7 +770,7 @@ class MainController extends AdminbaseController {
if($start == $end){
$periodType='hourly';
$title=' 基本指标 '.$start;
$date=['00:00','01:00','02:00','03:00','04:00','05:00','06:00','07:00','08:00','09:00','10:00','11:00','12:00','13:00','14:00','15:00','16:00','17:00','18:00','19:00','20:00','21:00','22:00','23:00',];
}else{
$periodType='daily';
......@@ -778,9 +778,9 @@ class MainController extends AdminbaseController {
}
$xlsName = " 基本指标导出";
$cellName = array('A','B','C','D','E');
$xlsCell = array('date','newUsers','launches','duration','activityUsers');
$xlsData[]=[
'date'=>$title,
'newUsers'=>'',
......@@ -790,7 +790,7 @@ class MainController extends AdminbaseController {
'ismerge'=>'1',
];
$xlsData[]=[
'date'=>'时间',
'newUsers'=>'新注册用户(位)',
......@@ -799,19 +799,19 @@ class MainController extends AdminbaseController {
'activityUsers'=>'活跃用户数(位)',
'ismerge'=>'0',
];
if($congifpri['um_appkey_android']){
$appkey=$congifpri['um_appkey_android'];
$newusers_android=$this->getNewUsers($appkey,$start,$end,$periodType);
$launches_android=$this->getLaunches($appkey,$start,$end,$periodType);
if($periodType!='hourly'){
$durations_android=$this->getDurations($appkey,$start,$end,$periodType);
$durations_android=$this->getDurations($appkey,$start,$end,$periodType);
}
$activeusers_android=$this->getActiveUsers($appkey,$start,$end,$periodType);
}
if($congifpri['um_appkey_ios']){
$appkey=$congifpri['um_appkey_ios'];
$newusers_ios=$this->getNewUsers($appkey,$start,$end,$periodType);
......@@ -821,8 +821,8 @@ class MainController extends AdminbaseController {
}
$activeusers_ios=$this->getActiveUsers($appkey,$start,$end,$periodType);
}
if($periodType!='hourly'){
for($i=$starttime,$n=0;$i<$endtime;$i+=60*60*24,$n++){
$info=[];
......@@ -834,7 +834,7 @@ class MainController extends AdminbaseController {
$info['ismerge']='0';
$xlsData[]=$info;
}
}else{
for($n=0;$n<24;$n++){
$info=[];
......@@ -845,7 +845,7 @@ class MainController extends AdminbaseController {
$info['activityUsers']=$activeusers_android[0]['hourValue'][$n] + $activeusers_ios[0]['hourValue'][$n];
$info['ismerge']='0';
$xlsData[]=$info;
}
}
}
break;
case '2':
......@@ -860,12 +860,12 @@ class MainController extends AdminbaseController {
}
if($anchor_live_long_total>0){
$anchor_live_long_total=number_format(floor($anchor_live_long_total/60));
}
}
$xlsName = "主播数据导出";
$cellName = array('A','B','C','D','E');
$xlsCell = array('date','anchor_today','anchor_live_today','anchor_live_long_today');
$xlsData[]=[
'date'=>'总直播时长 '.$anchor_live_long_total.' 分钟',
'anchor_today'=>'',
......@@ -873,7 +873,7 @@ class MainController extends AdminbaseController {
'anchor_live_long_today'=>'',
'ismerge'=>'1',
];
$xlsData[]=[
'date'=>date("Y-m-d",$start).'至'.date("Y-m-d",($end-1)),
'anchor_today'=>'',
......@@ -881,7 +881,7 @@ class MainController extends AdminbaseController {
'anchor_live_long_today'=>'',
'ismerge'=>'1',
];
$xlsData[]=[
'date'=>'时间',
'anchor_today'=>'开播主播数量(位)',
......@@ -889,7 +889,7 @@ class MainController extends AdminbaseController {
'anchor_live_long_today'=>'直播时长(分钟)',
'ismerge'=>'0',
];
for($i=$start;$i<$end;$i+=60*60*24){
$i2=$i+60*60*24;
$info=$this->getAnchorInfo($i,$i2);
......@@ -899,13 +899,13 @@ class MainController extends AdminbaseController {
$xlsData[]=$info;
}
break;
case '4':
$xlsName = "财务导出";
$cellName = array('A','B','C','D','E');
$Charge=M('users_charge');
$charge_total=$Charge->where("status=1")->sum("money");
if(!$charge_total){
......@@ -914,9 +914,9 @@ class MainController extends AdminbaseController {
if($charge_total>0){
$charge_total=number_format($charge_total);
}
$xlsCell = array('date','total','ali','wx','apple');
$xlsData[]=[
'date'=>'历史总收益 '.$charge_total.' 元',
'total'=>'',
......@@ -925,7 +925,7 @@ class MainController extends AdminbaseController {
'apple'=>'',
'ismerge'=>'1',
];
$xlsData[]=[
'date'=>date("Y-m-d",$start).'至'.date("Y-m-d",($end-1)),
'total'=>'',
......@@ -934,7 +934,7 @@ class MainController extends AdminbaseController {
'apple'=>'',
'ismerge'=>'1',
];
$xlsData[]=[
'date'=>'时间',
'total'=>'充值金额(元)',
......@@ -943,7 +943,7 @@ class MainController extends AdminbaseController {
'apple'=>'苹果充值( 元)',
'ismerge'=>'0',
];
for($i=$start;$i<$end;$i+=60*60*24){
$i2=$i+60*60*24;
$char_info=$this->getCharge($i,$i2);
......@@ -961,7 +961,7 @@ class MainController extends AdminbaseController {
$xlsName = "提现导出";
$cellName = array('A','B','C','D');
$Cash=M('users_cashrecord');
$cash_total=$Cash->where("status=1")->sum("money");
if(!$cash_total){
$cash_total=0;
......@@ -969,9 +969,9 @@ class MainController extends AdminbaseController {
if($cash_total>0){
$cash_total=number_format($cash_total);
}
$xlsCell = array('date','cash_apply','cash_adopt','cash_anchor');
$xlsData[]=[
'date'=>'总提现金额 '.$cash_total.' 元',
'cash_apply'=>'',
......@@ -979,7 +979,7 @@ class MainController extends AdminbaseController {
'cash_anchor'=>'',
'ismerge'=>'1',
];
$xlsData[]=[
'date'=>date("Y-m-d",$start).'至'.date("Y-m-d",($end-1)),
'cash_apply'=>'',
......@@ -987,7 +987,7 @@ class MainController extends AdminbaseController {
'cash_anchor'=>'',
'ismerge'=>'1',
];
$xlsData[]=[
'date'=>'时间',
'cash_apply'=>'申请金额(元)',
......@@ -995,7 +995,7 @@ class MainController extends AdminbaseController {
'cash_anchor'=>'主播提现数量( 位)',
'ismerge'=>'0',
];
for($i=$start;$i<$end;$i+=60*60*24){
$i2=$i+60*60*24;
$info=$this->getCash($i,$i2);
......@@ -1005,8 +1005,8 @@ class MainController extends AdminbaseController {
}
break;
}
$this->exportExcel($xlsName,$xlsCell,$xlsData,$cellName);
$this->exportExcel($xlsName,$xlsCell,$xlsData,$cellName);
}
/**导出Excel 表格
* @param $expTitle 名称
......@@ -1030,7 +1030,7 @@ class MainController extends AdminbaseController {
$cellinfo=$expTableData[$i];
if($cellinfo['ismerge']==1){
$objPHPExcel->getActiveSheet()->mergeCells('A'.($i+1).':'.end($cellName).($i+1));//合并单元格(如果要拆分单元格是需要先合并再拆分的,否则程序会报错)
$objPHPExcel->getActiveSheet(0)->setCellValue('A'.($i+1), $cellinfo[$expCellName[0]]);
}else{
for($j=0;$j<$cellNum;$j++){
......@@ -1038,7 +1038,7 @@ class MainController extends AdminbaseController {
$objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j].($i+1), $cellinfo[$key]);
}
}
}
header('pragma:public');
header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"');
......@@ -1046,5 +1046,5 @@ class MainController extends AdminbaseController {
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');//Excel5为xls格式,excel2007为xlsx格式
$objWriter->save('php://output');
exit;
}
}
\ No newline at end of file
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment