diff --git a/Application/Admin/Controller/ExportController.class.php b/Application/Admin/Controller/ExportController.class.php index 392ec9170..a40c1dcd9 100644 --- a/Application/Admin/Controller/ExportController.class.php +++ b/Application/Admin/Controller/ExportController.class.php @@ -5303,8 +5303,10 @@ if ($key == 'model'){ $xlsCell = array( array('count_date','月份'), array('cash_count','游戏现金流水'), - array('balance_coin_count','平台币流水'), + array('balance_coin_deposit','平台币收入'), array('inside_cash_count','内冲流水'), + array('bind_coin_count','内充支出'), + array('balance_coin_count','平台币支出'), array('all_count','总流水'), ); @@ -5341,21 +5343,23 @@ if ($key == 'model'){ // $sumAll = D("spend_count")->sumSpendCountField($map,$allField); $order = "id DESC"; $xlsData = M('spend_month_count','tab_') - ->field("cash_count,balance_coin_count,inside_cash_count,all_count,count_date") + ->field("cash_count,balance_coin_count,inside_cash_count,all_count,count_date,balance_coin_deposit,bind_coin_count") ->where($map) ->order($order) ->select(); $sumData = M('spend_month_count','tab_') - ->field("sum(cash_count) as cash_count,sum(balance_coin_count) as balance_coin_count,sum(inside_cash_count) as inside_cash_count,sum(all_count) as all_count,count_date") + ->field("sum(cash_count) as cash_count,sum(balance_coin_count) as balance_coin_count,sum(inside_cash_count) as inside_cash_count,sum(all_count) as all_count,count_date,sum(balance_coin_deposit) as balance_coin_deposit,sum(bind_coin_count) as bind_coin_count") ->where($map) ->order($order) ->find(); $sumData = [['count_date'=>'总计', 'cash_count'=>$sumData['cash_count'], - 'balance_coin_count'=>$sumData['balance_coin_count'], + 'balance_coin_deposit'=>$sumData['balance_coin_deposit'], 'inside_cash_count'=>$sumData['inside_cash_count'], + 'bind_coin_count'=>$sumData['bind_coin_count'], + 'balance_coin_count'=>$sumData['balance_coin_count'], 'all_count'=>$sumData['all_count']]]; $xlsData = array_merge($xlsData,$sumData); @@ -5373,8 +5377,8 @@ if ($key == 'model'){ array('game_name','游戏'), array('partner_name','合作方'), array('cash_count','游戏现金流水'), - array('balance_coin_count','平台币流水'), - array('inside_cash_count','内冲流水'), + array('balance_coin_count','平台币支出'), + array('inside_cash_count','公会内充支出'), array('all_cash_count','总流水'), ); @@ -5397,7 +5401,7 @@ if ($key == 'model'){ } if (!empty(I('partner_id'))) { - $map['partner_id']=I('collaborate_id'); + $map['partner_id']=I('partner_id'); } if (I('sign') == 2&&empty(I('root_id'))) { @@ -5465,12 +5469,14 @@ if ($key == 'model'){ function gameFinanceDetail() { - + set_time_limit(0); + ini_set('memory_limit', '512M'); $month = I("game_name"); $xlsName = $month.'充值流水'; $xlsCell = array( array('pay_order_number','支付订单号'), + array('extend','游戏订单号'), array('pay_time','充值时间'), array('user_account','玩家账号'), array('game_name','游戏名称'), @@ -5509,6 +5515,13 @@ if ($key == 'model'){ $map['promote_id'] = ['in',$promote_id]; } + if (!empty(I('partner_id'))&&empty(I("game_id"))) { + $wherePartner = I('partner_id'); + $gameId = M("game","tab_")->field("id")->where("partner_id={$wherePartner}")->select(); + $gameId = implode(',',array_column($gameId,'id')); + $map['game_id'] = ['in',$gameId]; + } + if (!empty(I("count_date"))) { $month = I("count_date"); $tarry = explode('-',$month); @@ -5527,22 +5540,102 @@ if ($key == 'model'){ $map['user_nickname'] = array('like',I("user_nickname").'%'); } - $field = "pay_order_number,FROM_UNIXTIME(pay_time) as pay_time,user_account,game_name,promote_account,spend_ip,server_name,game_player_name,pay_amount,cost,pay_way"; + $field = "pay_order_number,FROM_UNIXTIME(pay_time) as pay_time,user_account,game_name,promote_account,spend_ip,server_name,game_player_name,pay_amount,cost,pay_way,extend"; $group = ""; $order = "pay_time DESC"; - $xlsData = D('spend')->getSpendData($map,$field,$group,$order); + for($start = $startTime;$start<$endTime;$start=$start+86400) { + + $map['pay_time'] = array('between',array($start,$start+86400)); + + $xlsData1 = D('spend')->getSpendData($map,$field,$group,$order); + + if ($xlsData1) { + $xlsData[date('m-d',$start)] = $xlsData1; + } + } foreach($xlsData as $key => $value) { - $xlsData[$key]['pay_way'] = getPayType($value['pay_way']); + foreach ($value as $k => $v) { + $xlsData[$key][$k]['pay_way'] = getPayType($v['pay_way']); + $xlsData[$key][$k]['extend'] = "'".$v['extend']; + } } +// dump($xlsData);die(); + + + $map['pay_time'] = array('between',array($startTime,$endTime)); $sum = D('spend')->sumSpend($map,'pay_amount'); - $sumData = [['pay_order_number'=>'总计', + $xlsData['10-'] = [['pay_order_number'=>'总计', 'pay_way'=>$sum]]; - $xlsData = array_merge($xlsData,$sumData); +// $xlsData = array_merge($xlsData,$sumData); +// dump($xlsData);die(); - $this->exportExcel($xlsName, $xlsCell, $xlsData); + $this->exportNewExcel($xlsName, $xlsCell, $xlsData); + } + + public function exportNewExcel($expTitle, $expCellName, $expTableData) + { + $xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称 +// $fileName = session('user_auth.username').date('_YmdHis');//or $xlsTitle 文件名称可根据自己情况设定 + $fileName = $expTitle; + $cellNum = count($expCellName); + $dataNum = count(current($expTableData)); + Vendor("PHPExcel.PHPExcel"); + $objPHPExcel = new \PHPExcel(); + $cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ'); + $objPHPExcel->getActiveSheet(0)->mergeCells('A1:' . $cellName[$cellNum - 1] . '1');//合并单元格 + $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $expTitle); + $objPHPExcel->setActiveSheetIndex(0)->getStyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER); + + $objPHPExcel->setActiveSheetIndex(0)->setTitle(key($expTableData)); + for ($i = 0; $i < $cellNum; $i++) { + $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i] . '2', $expCellName[$i][1]); + } + for ($i = 0; $i < $dataNum; $i++) { + for ($j = 0; $j < $cellNum; $j++) { + $objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j] . ($i + 3), current($expTableData)[$i][$expCellName[$j][0]]); + } + } +// var_dump($expTableData);die(); + unset($expTableData[key($expTableData)]); + + $sheetNum = 1; + foreach($expTableData as $key => $value) { + $dataNum = count($value); + $objPHPExcel->createSheet(); + + if ($key==0) { + break; + } + if ($key == '10-') { + $objPHPExcel->setActiveSheetIndex($sheetNum)->setTitle('总计'); + } else { + $objPHPExcel->setActiveSheetIndex($sheetNum)->setTitle($key); + } + + $objPHPExcel->getActiveSheet($sheetNum)->mergeCells('A1:' . $cellName[$cellNum - 1] . '1');//合并单元格 + $objPHPExcel->setActiveSheetIndex($sheetNum)->setCellValue('A1', $expTitle); + $objPHPExcel->setActiveSheetIndex($sheetNum)->getStyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER); + for ($i = 0; $i < $cellNum; $i++) { + $objPHPExcel->setActiveSheetIndex($sheetNum)->setCellValue($cellName[$i] . '2', $expCellName[$i][1]); + } + for ($i = 0; $i < $dataNum; $i++) { + for ($j = 0; $j < $cellNum; $j++) { + $objPHPExcel->getActiveSheet($sheetNum)->setCellValue($cellName[$j] . ($i + 3), $value[$i][$expCellName[$j][0]]); + } + } + $sheetNum++; + } +//die(); + ob_end_clean();//清除缓冲区,避免乱码 + header('pragma:public'); + header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $xlsTitle . '.xls"'); + header("Content-Disposition:attachment;filename=$fileName.xls");//attachment新窗口打印inline本窗口打印 + $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); + $objWriter->save('php://output'); + exit; } function getPromoteList($root_id = 0) { @@ -5574,8 +5667,9 @@ if ($key == 'model'){ $xlsCell = array( array('promote_account','会长渠道'), array('cash_count','游戏现金流水'), - array('balance_coin_count','平台币流水'), - array('inside_cash_count','内充流水'), + array('balance_coin_count','平台币支出'), + array('inside_cash_count','公会内充发放'), + array('bind_coin_count','公会内充支出'), array('all_count','总流水'), ); @@ -5586,13 +5680,13 @@ if ($key == 'model'){ $map['parent_id'] = 0; $map['root_id'] = 0; $xlsData = M('spend_user_count','tab_') - ->field('promote_id,promote_account,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,sum(inside_cash_count) inside_cash_count, sum(all_count) as all_count') + ->field('promote_id,promote_account,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,sum(inside_cash_count) inside_cash_count, sum(all_count) as all_count, sum(bind_coin_count) as bind_coin_count') ->where($map) ->group('promote_id') ->select(); $sumData = M('spend_user_count','tab_') - ->field('sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,sum(inside_cash_count) inside_cash_count, sum(all_count) as all_count') + ->field('sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,sum(inside_cash_count) inside_cash_count, sum(all_count) as all_count, sum(bind_coin_count) as bind_coin_count') ->where($map) ->find(); @@ -5601,6 +5695,7 @@ if ($key == 'model'){ 'cash_count'=>$sumData['cash_count'], 'balance_coin_count'=>$sumData['balance_coin_count'], 'inside_cash_count'=>$sumData['inside_cash_count'], + 'bind_coin_count'=>$sumData['bind_coin_count'], 'all_count'=>$sumData['all_count'], ]]; $xlsData = array_merge($xlsData,$sumData); @@ -5644,10 +5739,11 @@ if ($key == 'model'){ $xlsName = '组长月结统计'; $xlsCell = array( - array('promote_account','组长渠道'), + array('promote_account','会长渠道'), array('cash_count','游戏现金流水'), - array('balance_coin_count','平台币流水'), - array('inside_cash_count','内充流水'), + array('balance_coin_count','平台币支出'), + array('inside_cash_count','公会内充发放'), + array('bind_coin_count','公会内充支出'), array('all_count','总流水'), ); @@ -5655,7 +5751,7 @@ if ($key == 'model'){ // $map['parent_id'] =$root_id; $xlsData = M('spend_user_count','tab_') - ->field('promote_id,promote_account,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,sum(inside_cash_count) inside_cash_count, sum(all_count) as all_count') + ->field('promote_id,promote_account,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,sum(inside_cash_count) inside_cash_count, sum(all_count) as all_count, sum(bind_coin_count) as bind_coin_count') ->where($map) ->group('promote_id') ->select(); @@ -5664,7 +5760,7 @@ if ($key == 'model'){ } $sumData = M('spend_user_count','tab_') - ->field('promote_id,promote_account,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,sum(inside_cash_count) inside_cash_count, sum(all_count) as all_count') + ->field('promote_id,promote_account,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,sum(inside_cash_count) inside_cash_count, sum(all_count) as all_count, sum(bind_coin_count) as bind_coin_count') ->where($map) ->find(); if (empty(I("root_name"))) { @@ -5672,12 +5768,14 @@ if ($key == 'model'){ $sumData['balance_coin_count'] = number_format($sumData['balance_coin_count'] + $parentData[0]['balance_coin_count'], 2, '.', ''); $sumData['inside_cash_count'] = number_format($sumData['inside_cash_count'] + $parentData[0]['inside_cash_count'], 2, '.', ''); $sumData['all_count'] = number_format($sumData['all_count'] + $parentData[0]['all_count'], 2, '.', ''); + $sumData['bind_coin_count'] = number_format($sumData['bind_coin_count'] + $parentData[0]['bind_coin_count'], 2, '.', ''); } $sumData = [['promote_account'=>'总计', 'cash_count'=>$sumData['cash_count'], 'balance_coin_count'=>$sumData['balance_coin_count'], 'inside_cash_count'=>$sumData['inside_cash_count'], + 'bind_coin_count'=>$sumData['bind_coin_count'], 'all_count'=>$sumData['all_count'], ]]; $xlsData = array_merge($xlsData,$sumData); @@ -5715,16 +5813,17 @@ if ($key == 'model'){ $xlsName = '推广员月结统计'; $xlsCell = array( - array('promote_account','推广员渠道'), + array('promote_account','会长渠道'), array('cash_count','游戏现金流水'), - array('balance_coin_count','平台币流水'), - array('inside_cash_count','内充流水'), + array('balance_coin_count','平台币支出'), + array('inside_cash_count','公会内充发放'), + array('bind_coin_count','公会内充支出'), array('all_count','总流水'), ); //获取数据 $xlsData = M('spend_user_count','tab_') - ->field('promote_id,promote_account,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,sum(inside_cash_count) inside_cash_count, sum(all_count) as all_count') + ->field('promote_id,promote_account,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,sum(inside_cash_count) inside_cash_count, sum(all_count) as all_count, sum(bind_coin_count) as bind_coin_count') ->where($map) ->group('promote_id') ->select(); @@ -5732,18 +5831,20 @@ if ($key == 'model'){ $xlsData = array_merge($parentData,$xlsData); $sumData = M('spend_user_count','tab_') - ->field('promote_id,promote_account,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,sum(inside_cash_count) inside_cash_count, sum(all_count) as all_count') + ->field('promote_id,promote_account,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,sum(inside_cash_count) inside_cash_count, sum(all_count) as all_count, sum(bind_coin_count) as bind_coin_count') ->where($map) ->find(); $sumData['cash_count'] = number_format($sumData['cash_count']+$parentData[0]['cash_count'],2,'.',''); $sumData['balance_coin_count'] = number_format($sumData['balance_coin_count']+$parentData[0]['balance_coin_count'],2,'.',''); $sumData['inside_cash_count'] = number_format($sumData['inside_cash_count']+$parentData[0]['inside_cash_count'],2,'.',''); $sumData['all_count'] = number_format($sumData['all_count']+$parentData[0]['all_count'],2,'.',''); + $sumData['bind_coin_count'] = number_format($sumData['bind_coin_count']+$parentData[0]['bind_coin_count'],2,'.',''); $sumData = [['promote_account'=>'总计', 'cash_count'=>$sumData['cash_count'], 'balance_coin_count'=>$sumData['balance_coin_count'], 'inside_cash_count'=>$sumData['inside_cash_count'], + 'bind_coin_count'=>$sumData['bind_coin_count'], 'all_count'=>$sumData['all_count'], ]]; $xlsData = array_merge($xlsData,$sumData); @@ -5767,19 +5868,20 @@ if ($key == 'model'){ } $data = M('spend_user_count','tab_') - ->field('promote_id,promote_account, sum(cash_count) as cash_count,sum(balance_coin_count) as balance_coin_count,sum(inside_cash_count) as inside_cash_count, sum(cash_count+balance_coin_count+inside_cash_count) as all_count') + ->field('promote_id,promote_account, sum(cash_count) as cash_count,sum(balance_coin_count) as balance_coin_count,sum(inside_cash_count) as inside_cash_count, sum(all_count) as all_count, sum(bind_coin_count) as bind_coin_count') ->where($map)->select(); $map1['parent_id'] = $data[0]['promote_id']; $map1['count_date'] = $date; $sunData = M('spend_user_count','tab_') - ->field('promote_id,promote_account, sum(cash_count) as cash_count,sum(balance_coin_count) as balance_coin_count,sum(inside_cash_count) as inside_cash_count, sum(cash_count+balance_coin_count+inside_cash_count) as all_count') + ->field('promote_id,promote_account, sum(cash_count) as cash_count,sum(balance_coin_count) as balance_coin_count,sum(inside_cash_count) as inside_cash_count, sum(all_count) as all_count, sum(bind_coin_count) as bind_coin_count') ->where($map1)->find(); $data[0]['cash_count'] = number_format($data[0]['cash_count']-$sunData['cash_count'],2,'.',''); $data[0]['balance_coin_count'] = number_format($data[0]['balance_coin_count']-$sunData['balance_coin_count'],2,'.',''); $data[0]['inside_cash_count'] = number_format($data[0]['inside_cash_count']-$sunData['inside_cash_count'],2,'.',''); $data[0]['all_count'] = number_format($data[0]['all_count']-$sunData['all_count'],2,'.',''); + $data[0]['bind_coin_count'] = number_format($data[0]['bind_coin_count']-$sunData['bind_coin_count'],2,'.',''); // $map['inside_cash_count'] = ['neq',0]; // $insideData = D("spend_count")->getSpendCountData($map,"promote_id,inside_cash_count as count","promote_id,count_date"); diff --git a/Application/Admin/Controller/FinanceController.class.php b/Application/Admin/Controller/FinanceController.class.php index 9f94d658c..82e92ea12 100644 --- a/Application/Admin/Controller/FinanceController.class.php +++ b/Application/Admin/Controller/FinanceController.class.php @@ -153,9 +153,9 @@ class FinanceController extends ThinkController } } -// if (!empty(I('partner_id'))) { -// $map['partner_id']=I('collaborate_id'); -// } + if (!empty(I('partner_id'))) { + $map['partner_id']=I('partner_id'); + } @@ -232,6 +232,7 @@ class FinanceController extends ThinkController function gameFinanceDetail($p = 1) { + set_time_limit(0); if (!empty(I("promote_id"))) { $promote_id[] = I("promote_id"); } @@ -257,7 +258,13 @@ class FinanceController extends ThinkController $map['promote_id'] = ['in',$promote_id]; } - + if (!empty(I('partner_id'))&&empty(I("game_id"))) { + $wherePartner = I('partner_id'); + $gameId = M("game","tab_")->field("id")->where("partner_id={$wherePartner}")->select(); + $gameId = implode(',',array_column($gameId,'id')); + $map['game_id'] = ['in',$gameId]; + } +// var_dump($map);die(); $page = intval($p); $page = $page ? $page : 1; //默认显示第一页数据 $row=10; diff --git a/Application/Admin/Controller/SdkMenuController.class.php b/Application/Admin/Controller/SdkMenuController.class.php index 309f4d59a..a2cf93f67 100644 --- a/Application/Admin/Controller/SdkMenuController.class.php +++ b/Application/Admin/Controller/SdkMenuController.class.php @@ -10,6 +10,12 @@ class SdkMenuController extends ThinkController{ '2' => '外部链接', ]; + public $menu_version = [ + '0' => '双平台', + '1' => '安卓', + '2' => 'ios', + ]; + public function lists() { $menu_name = I('get.menu_name','sdk_menu'); @@ -21,6 +27,7 @@ class SdkMenuController extends ThinkController{ { $config[$k]['icon'] = is_https()?'https://':'http://' . $_SERVER['HTTP_HOST'] . $v['icon']; $config[$k]['type'] = $this->but_type[$v['type']]; + $config[$k]['menu_version'] = $this->menu_version[$v['menu_version']]; } } $this->assign('list',$config); @@ -70,6 +77,7 @@ class SdkMenuController extends ThinkController{ $this->assign('data',$data); $this->assign('menu_name',$menu_name); $this->assign('but_type',$this->but_type); + $this->assign('menu_version',$this->menu_version); $this->display('add'); } @@ -121,6 +129,7 @@ class SdkMenuController extends ThinkController{ $this->assign('data',$data); $this->assign('menu_name',$menu_name); $this->assign('but_type',$this->but_type); + $this->assign('menu_version',$this->menu_version); $this->display('add'); } diff --git a/Application/Admin/View/Finance/gameFinance.html b/Application/Admin/View/Finance/gameFinance.html index cc67e94bc..9d1d4f65c 100644 --- a/Application/Admin/View/Finance/gameFinance.html +++ b/Application/Admin/View/Finance/gameFinance.html @@ -177,7 +177,7 @@ 查看 + 'sign'=>$_REQUEST['sign'],'from'=>$_REQUEST['from'],'all'=>1))}" >查看 diff --git a/Application/Admin/View/Finance/gameFinanceDetail.html b/Application/Admin/View/Finance/gameFinanceDetail.html index 95339bf98..72c538978 100644 --- a/Application/Admin/View/Finance/gameFinanceDetail.html +++ b/Application/Admin/View/Finance/gameFinanceDetail.html @@ -42,8 +42,10 @@
diff --git a/Application/Admin/View/SdkMenu/add.html b/Application/Admin/View/SdkMenu/add.html index b0dde8bd1..6e1f166ee 100644 --- a/Application/Admin/View/SdkMenu/add.html +++ b/Application/Admin/View/SdkMenu/add.html @@ -31,6 +31,23 @@ +'; + echo ''; + exit; + } +} + diff --git a/Application/Home/Controller/PromoteController.class.php b/Application/Home/Controller/PromoteController.class.php index 1c73b54b0..b6f18c89e 100644 --- a/Application/Home/Controller/PromoteController.class.php +++ b/Application/Home/Controller/PromoteController.class.php @@ -824,81 +824,6 @@ class PromoteController extends BaseController return '' === $str ? '' : md5(sha1($str) . $key); } - /** - *子账号 - */ - public function mychlid($p = 0) - { - $account = I('account', ''); - $idcard = I('idcard', ''); - $mobile = I('mobile', ''); - $realName = I('real_name', ''); - $status = I('status', 'all'); - - $promoteId = session("promote_auth.pid"); - - $model = new PromoteModel(); - $promotes = $model->field(['id', 'account'])->where('parent_id=' . $promoteId)->select(); - $subPromotes = $model->field(['id', 'account'])->where('parent_id=' . $promoteId . ' or grand_id=' . $promoteId . ' or id=' . $promoteId)->select(); - - $map = []; - if ($account) { - $map['account'] = ['like', '%' . $account . '%']; - } - if ($mobile) { - $map['mobile_phone'] = ['like', '%' . $mobile . '%']; - } - if ($idcard) { - $map['idcard'] = ['like', '%' . $idcard . '%']; - } - if ($realName) { - $map['real_name'] = ['like', '%' . $realName . '%']; - } - if ($status != 'all') { - $map['status'] = ['eq', $status]; - } - $map['parent_id'] = session("promote_auth.pid"); - - $appendCallback = function ($data) { - $promote = new PromoteModel(); - $player = new UserPlayModel(); - $ids = array_column($data, 'id'); - $parentIds = array_column($data, 'parent_id'); - - if (count($ids) == 0) { - return [ - 'hasChildList' => [], - 'hasPlayerList' => [], - 'hasShiftList' => [], - 'hasShiftPlayerList' => [], - 'parentPromotes' => [], - ]; - } - - $parentList = $promote->field(['id', 'account'])->where(['id' => ['in', $parentIds]])->select(); - $parentPromotes = []; - foreach ($parentList as $parent) { - $parentPromotes[$parent['id']] = $parent['account']; - } - - $countList = $promote->field(['count(*)' => 'count', 'parent_id' => 'parent_id'])->where(['parent_id' => ['in', $ids]])->group('parent_id')->select(); - $playerList = $player->field(['count(*)' => 'count', 'promote_id' => 'promote_id'])->where(['promote_id' => ['in', $ids]])->group('promote_id')->select(); - $shiftList = M('ShiftTask')->field(['count(*)' => 'count', 'from_promote_id' => 'from_promote_id'])->where(['status' => 0, 'type' => 1, 'promote_id' => ['in', $ids]])->group('from_promote_id')->select(); - $shiftPlayerList = M('ShiftTask')->field(['count(*)' => 'count', 'from_promote_id' => 'from_promote_id'])->where(['status' => 0, 'type' => 2, 'promote_id' => ['in', $ids]])->group('from_promote_id')->select(); - return [ - 'hasChildList' => array_column($countList, 'parent_id'), - 'hasPlayerList' => array_column($playerList, 'promote_id'), - 'hasShiftList' => array_column($shiftList, 'from_promote_id'), - 'hasShiftPlayerList' => array_column($shiftPlayerList, 'from_promote_id'), - 'parentPromotes' => $parentPromotes, - ]; - }; - - $this->assign('subPromotes', $subPromotes); - $this->assign('promotes', $promotes); - parent::lists("Promote", $p, $map, $appendCallback); - } - public function children() { $account = I('account', ''); @@ -975,96 +900,6 @@ class PromoteController extends BaseController $this->display(); } - /** - *子账号 - */ - public function mygrand($p = 0) - { - $account = I('account', ''); - $idcard = I('idcard', ''); - $mobile = I('mobile', ''); - $realName = I('real_name', ''); - $status = I('status', 'all'); - - $promoteId = session("promote_auth.pid"); - $model = new PromoteModel(); - $promotes = $model->field(['id', 'account'])->where('parent_id=' . $promoteId)->select(); - $subPromotes = $model->field(['id', 'account'])->where('parent_id=' . $promoteId . ' or grand_id=' . $promoteId . ' or id=' . $promoteId)->select(); - - $map = []; - if ($account) { - $map['account'] = ['like', '%' . $account . '%']; - } - if ($mobile) { - $map['mobile_phone'] = ['like', '%' . $mobile . '%']; - } - if ($idcard) { - $map['idcard'] = ['like', '%' . $idcard . '%']; - } - if ($realName) { - $map['real_name'] = ['like', '%' . $realName . '%']; - } - if ($status != 'all') { - $map['status'] = ['eq', $status]; - } - - $promote = D('promote')->where(['id' => session('promote_auth.pid')])->find(); - - $isGrand = false; - if ($promote['parent_id'] == 0 && $promote['grand_id'] == 0) { - $map['grand_id'] = session("promote_auth.pid"); - $isGrand = true; - } else { - $map['parent_id'] = session("promote_auth.pid"); - } - - $appendCallback = function ($data) use ($promote) { - $promoteModel = new PromoteModel(); - $player = new UserPlayModel(); - $ids = array_column($data, 'id'); - $parentIds = array_column($data, 'parent_id'); - if (count($ids) == 0) { - return [ - 'hasPlayerList' => [], - 'hasShiftList' => [], - 'hasShiftPlayerList' => [], - 'parentPromotes' => [], - ]; - } - - $parentList = $promoteModel->field(['id', 'account'])->where(['id' => ['in', $parentIds]])->select(); - $parentPromotes = []; - foreach ($parentList as $parent) { - $parentPromotes[$parent['id']] = $parent['account']; - } - - $list = []; - foreach ($data as $key => $item) { - if ($promote['parent_id'] > 0 && $promote['grand_id'] == 0) { - $item['idcard'] = hideStar($item['idcard'], 4, 10); - $item['mobile_phone'] = hideStar($item['mobile_phone'], 3, 4); - } - $list[$key] = $item; - } - - $playerList = $player->field(['count(*)' => 'count', 'promote_id' => 'promote_id'])->where(['promote_id' => ['in', $ids]])->group('promote_id')->select(); - $shiftList = M('ShiftTask')->field(['count(*)' => 'count', 'from_promote_id' => 'from_promote_id'])->where(['status' => 0, 'type' => 1, 'promote_id' => ['in', $ids]])->group('from_promote_id')->select(); - $shiftPlayerList = M('ShiftTask')->field(['count(*)' => 'count', 'from_promote_id' => 'from_promote_id'])->where(['status' => 0, 'type' => 2, 'promote_id' => ['in', $ids]])->group('from_promote_id')->select(); - return [ - 'list_data' => $list, - 'hasPlayerList' => array_column($playerList, 'promote_id'), - 'hasShiftList' => array_column($shiftList, 'from_promote_id'), - 'hasShiftPlayerList' => array_column($shiftPlayerList, 'from_promote_id'), - 'parentPromotes' => $parentPromotes, - ]; - }; - - $this->assign('isGrand', $isGrand); - $this->assign('subPromotes', $subPromotes); - $this->assign('promotes', $promotes); - parent::lists("Promote", $p, $map, $appendCallback); - } - public function addPromote() { if (IS_POST) { @@ -1076,6 +911,10 @@ class PromoteController extends BaseController $parent = $this->getLoginPromote(); } $promoteService = new PromoteService(); + $result = $promoteService->checkAddPromote($params); + if (!$result['status']) { + $this->ajaxReturn(['status' => 0, 'msg' => $result['message']]); + } $status = $promoteService->addPromote($params, $parent); if ($status) { $this->ajaxReturn(['status' => 1, 'msg' => '添加成功']); @@ -1863,108 +1702,6 @@ class PromoteController extends BaseController } - public function promoteList($p = 1) - { - - switch ($_GET['type']) { - case '': - case 1: - $this->promoteLists($p); - break; - default: - $this->siteApplyList($p); - break; - } - } - -// 推广员列表 - const model_name = 'Promote'; - - public function promoteLists($p) - { - $map = []; - $map['_string'] = 'id=' . session('promote_auth.pid') - . ' or parent_id=' . session('promote_auth.pid') - . ' or grand_id=' . session('promote_auth.pid'); - - $selectMap = $map; - - if (isset($_REQUEST['promote_id'])) { - $promoteid = $_REQUEST['promote_id']; - unset($_REQUEST['promote_id']); - if (isset($_REQUEST['parent_id'])) { - - $parent_id = $_REQUEST['parent_id']; - unset($_REQUEST['parent_id']); - if ($promoteid == $parent_id) { - $map['id'] = $promoteid; - } else { - $maps['parent_id'] = $parent_id; - $maps['grand_id'] = $parent_id; - $maps['_logic'] = 'or'; - $pro = M('promote', 'tab_')->field('id,account')->where([array('id' => $promoteid), $maps])->select(); - - if (!empty($pro_ids)) { - $map['id'] = array('eq', -1); - } - - } - - } else { - $map['id'] = $promoteid; - /* $maps['parent_id'] = $promoteid; - $maps['grand_id'] = $promoteid; - $maps['_logic'] = 'or'; - $pro = M('promote','tab_')->field('id,account')->where($maps)->select(); - $pro_ids = array_column($pro,'id'); - $pro_ids[] = $promoteid; - if (!empty($pro_ids)){ - $map['id'] = ['in',$pro_ids]; - }else{ - $map['id'] = array('eq',-1); - } */ - - } - } else { - if (isset($_REQUEST['parent_id'])) { - if ($_REQUEST['parent_id'] == '全部') { - unset($_REQUEST['parent_id']); - } - $zid = get_zi_promote_id($_REQUEST['parent_id']); - if ($zid) { - $zid = $zid . ',' . $_REQUEST['parent_id']; - } else { - $zid = $_REQUEST['parent_id']; - } - $map['id'] = array('in', $zid); - unset($_REQUEST['parent_id']); - } - } - if (isset($_REQUEST['admin_id'])) { - if ($_REQUEST['admin_id'] == "全部") { - unset($_REQUEST['admin']); - } else { - $map['ba_id'] = $_REQUEST['admin_id']; - } - } - - if (I('promote_level') == 1) { - $map['parent_id'] = 0; - } elseif (I('promote_level') == 2) { - $map['parent_id'] = ['neq', 0]; - $map['grand_id'] = 0; - } elseif (I('promote_level') == 3) { - $map['parent_id'] = ['neq', 0]; - $map['grand_id'] = ['neq', 0]; - } - - $model = new PromoteModel(); - $promotes = $model->field(['id', 'account'])->where($selectMap)->select(); - - $this->assign('promotes', $promotes); - self::order_lists(self::model_name, $p, $map); - } - /** * [数组分页,二维数组字段排序] * @param [type] $model [description] diff --git a/Application/Home/Controller/QueryController.class.php b/Application/Home/Controller/QueryController.class.php index 350e5b389..d942b216f 100644 --- a/Application/Home/Controller/QueryController.class.php +++ b/Application/Home/Controller/QueryController.class.php @@ -716,8 +716,7 @@ class QueryController extends BaseController ]; $ids = M('promote', 'tab_')->where($map)->getField('id', true); - $subPromotes = M('promote', 'tab_')->field(['id', 'account', 'real_name'])->where(['parent_id' => $promote['id']])->select(); - $games = $this->getGamesByPromote($promote); + $games = $this->getGamesByPromote($searchPromote); $params = []; $searchGameName = ''; @@ -776,7 +775,6 @@ class QueryController extends BaseController $timeout = 1; } $this->assign('games', $games); - $this->assign('subPromotes', $subPromotes); $this->assign('timeout', $timeout); $this->assign('records', $records); $this->assign('searchGameName', $searchGameName); @@ -1099,6 +1097,9 @@ class QueryController extends BaseController $params['game_id'] = ['in', $gameIds]; } } + if ($serverId > 0) { + $params['server_id'] = $serverId; + } $params['begin_time'] = $begTime; $params['end_time'] = $endTime; diff --git a/Application/Home/View/default/Finance/settlementDtl.html b/Application/Home/View/default/Finance/settlementDtl.html index f4c2a7744..f66bf47b3 100644 --- a/Application/Home/View/default/Finance/settlementDtl.html +++ b/Application/Home/View/default/Finance/settlementDtl.html @@ -76,7 +76,7 @@',$debug[0]['file'],' ',$debug[0]['line'],PHP_EOL,''; + if (is_object($var) || is_array($var)) { + $mode = 0; + } else { + $mode = 1; + } + switch($mode){ + case 0: print_r($var); break; + case 1: var_dump($var); break; + default: print_r($var); + } + echo '