diff --git a/Application/Admin/Controller/ExportController.class.php b/Application/Admin/Controller/ExportController.class.php index ffca0c5aa..45e09933d 100644 --- a/Application/Admin/Controller/ExportController.class.php +++ b/Application/Admin/Controller/ExportController.class.php @@ -5452,4 +5452,154 @@ if ($key == 'model'){ $this->exportExcel($xlsName, $xlsCell, $xlsData); } + function exportGetRootUser() { + + //获取所有数据 + if (!empty(I("count_date"))) { + $map['count_date'] = I("count_date"); + } else { + $this->error('月份不能为空'); + } + $xlsName = '会长月结统计'; + + $xlsCell = array( + array('promote_account','会长渠道'), + array('cash_count','游戏现金流水'), + array('balance_coin_count','平台币流水'), + array('inside_cash_count','内充流水'), + array('all_count','总流水'), + ); + + if (!empty(I("root_name"))) { + $map['promote_account']=['like','%'.I("root_name").'%']; + } + + $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') + ->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') + ->where($map) + ->find(); + + + $sumData = [['promote_account'=>'总计', + 'cash_count'=>$sumData['cash_count'], + 'balance_coin_count'=>$sumData['balance_coin_count'], + 'inside_cash_count'=>$sumData['inside_cash_count'], + 'all_count'=>$sumData['all_count'], + ]]; + $xlsData = array_merge($xlsData,$sumData); + + $this->exportExcel($xlsName, $xlsCell, $xlsData); + + } + + function exportGetParentUser() { + + //获取所有数据 + if (!empty(I("count_date")) ) { + $month = I("count_date"); + $map['count_date'] =$month; + } else { + $this->error('参数错误'); + } + + if (!empty(I("root_id")) || I("root_id") == 0) { + $root_id = I("root_id"); + } else { + $this->error('参数错误'); + } + + if (!empty(I("root_name"))) { + $map['promote_account']=['like','%'.I("root_name").'%']; + } + + $xlsName = '组长月结统计'; + + $xlsCell = array( + array('promote_account','组长渠道'), + array('cash_count','游戏现金流水'), + array('balance_coin_count','平台币流水'), + array('inside_cash_count','内充流水'), + array('all_count','总流水'), + ); + + //获取数据 + $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') + ->where($map) + ->group('promote_id') + ->select(); + + $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') + ->where($map) + ->find(); + + $sumData = [['promote_account'=>'总计', + 'cash_count'=>$sumData['cash_count'], + 'balance_coin_count'=>$sumData['balance_coin_count'], + 'inside_cash_count'=>$sumData['inside_cash_count'], + 'all_count'=>$sumData['all_count'], + ]]; + $xlsData = array_merge($xlsData,$sumData); + + $this->exportExcel($xlsName, $xlsCell, $xlsData); + + } + + function exportGetPromoteUser() { + + //获取所有数据 + if (!empty(I("count_date")) && !empty(I("parent_id"))) { + $month = I("count_date"); + $parent_id = I("parent_id"); + $map['parent_id'] =$parent_id; + $map['count_date'] =$month; + } else { + $this->error('参数错误'); + } + + $xlsName = '推广员月结统计'; + + $xlsCell = array( + array('promote_id','推广员渠道'), + array('cash_count','游戏现金流水'), + array('balance_coin_count','平台币流水'), + array('inside_cash_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') + ->where($map) + ->group('promote_id') + ->select(); + + $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') + ->where($map) + ->find(); + + $sumData = [['promote_id'=>'总计', + 'cash_count'=>$sumData['cash_count'], + 'balance_coin_count'=>$sumData['balance_coin_count'], + 'inside_cash_count'=>$sumData['inside_cash_count'], + 'all_count'=>$sumData['all_count'], + ]]; + $xlsData = array_merge($xlsData,$sumData); + + $this->exportExcel($xlsName, $xlsCell, $xlsData); + + } + } diff --git a/Application/Admin/Controller/FinanceController.class.php b/Application/Admin/Controller/FinanceController.class.php index 620545cb1..ee86f2ee4 100644 --- a/Application/Admin/Controller/FinanceController.class.php +++ b/Application/Admin/Controller/FinanceController.class.php @@ -104,23 +104,25 @@ class FinanceController extends ThinkController $map['count_date']=I('count_date'); } -// if (!empty(I('game_id'))) { -// $map['game_id']=I('game_id'); -// } -// if (!empty(I('collaborate_id'))) { -// $map['collaborate_id']=I('collaborate_id'); -// } + if(!empty(I('root_id'))) { + $root_id = I('root_id'); + $map['_string'] = "promote_id = {$root_id} or parent_id = {$root_id} or root_id = {$root_id}"; + } + + if(!empty(I('parent_id'))) { + $parent_id = I('parent_id'); + $map['_string'] = "promote_id = {$parent_id} or parent_id = {$parent_id}"; + } + + if (!empty(I('promote_id'))) { + $promote_id = I('promote_id'); + $map['_string'] = "promote_id = {$promote_id}"; + } -// $data = M("spend_count","tab_") -// ->field("count_date,cash_count,balance_coin_count,inside_cash_count,all_cash_count") -// ->where($map) -// ->page($page,$row) -// ->group("game_id") -// ->select(); $map['bind_coin_count'] = ['neq',0]; $insideData = D("spend_count")->getSpendCountData($map,"game_id,bind_coin_count as count","promote_id,count_date,game_id"); unset($map['bind_coin_count']); -//内充流水与绑定流水数据 + //内充流水与绑定流水数据 $insideDataSum = []; foreach ($insideData as $key => $value) { if (isset($insideDataSum[$value['game_id']])) { @@ -129,8 +131,6 @@ class FinanceController extends ThinkController $insideDataSum[$value['game_id']] = $value['count']; } } -// var_dump($insideData); -// var_dump($insideDataSum);die(); $field = "count_date,sum(cash_count) as cash_count,sum(balance_coin_count) as balance_coin_count, sum(bind_coin_count) as inside_cash_count,sum(cash_count+balance_coin_count+bind_coin_count) as all_cash_count,game_name,game_id,partner_name"; @@ -138,6 +138,9 @@ class FinanceController extends ThinkController $group = "game_id"; $order = "id DESC"; $data = D("spend_count")->getSpendCountData($map,$field,$group,$order,$page,$row); + +// echo D("spend_count")->_sql();die(); + foreach ($data as $key => $value) { $data[$key]['inside_cash_count'] = $insideDataSum[$value['game_id']]; } @@ -166,6 +169,8 @@ class FinanceController extends ThinkController function gameFinanceDetail($p = 1) { +// $this->getPromoteList();die(); + $page = intval($p); $page = $page ? $page : 1; //默认显示第一页数据 $row=10; @@ -219,174 +224,187 @@ class FinanceController extends ThinkController } //按月份获取会长统计 - public function getRootUser() + public function getRootUser($p = 1) { + + $page = intval($p); + $page = $page ? $page : 1; //默认显示第一页数据 + $row=10; + if(isset($_REQUEST['row'])) {$row = $_REQUEST['row'];}else{$row = 10;} + //获取所有数据 if (!empty(I("count_date"))) { - $month = I("count_date"); + $map['count_date'] = I("count_date"); } else { $this->error('月份不能为空'); } - $from = " - ( - SELECT root_id,root_name,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,inside_cash_count FROM tab_spend_count WHERE root_id > 0 and count_date='{$month}' group by root_id - UNION - SELECT promote_id,promote_account,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,inside_cash_count FROM tab_spend_count WHERE parent_id = 0 and count_date='{$month}' group by promote_id - UNION - SELECT parent_id,parent_name,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,inside_cash_count FROM tab_spend_count WHERE parent_id > 0 and root_id = 0 and count_date='{$month}' group by parent_id - ) - "; - $subQueryAll = M()->table($from." a") - ->field('root_id,root_name,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,sum(inside_cash_count) inside_cash_count') - // ->limit(1) - ->group("a.root_id") - ->select(); - dump($subQueryAll); + if (!empty(I("root_name"))) { + $map['promote_account']=['like','%'.I("root_name").'%']; + } + + $map['parent_id'] = 0; + $map['root_id'] = 0; + $subQueryAll = 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') + ->where($map) + ->group('promote_id') + ->page($page,$row) + ->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') + ->where($map) + ->find(); + + $count = 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') + ->where($map) + ->group('promote_id') + ->select(); + + $count = count($count); + $page = set_pagination($count,$row); + if($page) {$this->assign('_page', $page);} + + $this->assign('sumData',$sumData); + $this->assign('data',$subQueryAll); + $this->display(); } - //按月份获取组长统计 - public function getParentUser() + public function getParentUser($p = 1) { - if (!empty(I("count_date")) && !empty(I("root_id"))) { + + $page = intval($p); + $page = $page ? $page : 1; //默认显示第一页数据 + $row=10; + if(isset($_REQUEST['row'])) {$row = $_REQUEST['row'];}else{$row = 10;} + + if (!empty(I("count_date")) ) { $month = I("count_date"); - $root_id = I("root_id"); + $map['count_date'] =$month; + } else { $this->error('参数错误'); } - //获取数据 - $from = " - ( - SELECT parent_id,parent_name,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,inside_cash_count FROM tab_spend_count WHERE root_id = '{$root_id}' and count_date='{$month}' group by parent_id - UNION - SELECT promote_id,promote_account,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,inside_cash_count FROM tab_spend_count WHERE parent_id = '{$root_id}' and count_date='{$month}' group by promote_id - ) - "; - $subQueryAll = M()->table($from." a") - ->field('parent_id,parent_name,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,sum(inside_cash_count) inside_cash_count') - // ->limit(1) - ->group("a.parent_id") - ->select(); - dump($subQueryAll); - # code... - } - public function getPromoteUser() - { - if (!empty(I("count_date")) && !empty(I("parent_id"))) { - $month = I("count_date"); - $parent_id = I("parent_id"); + + + if (!empty(I("root_id"))) { + + + + $root_id = I("root_id"); + $map['parent_id'] =$root_id; + + } else if(!empty(I("sign"))){ + $map['parent_id'] = ['neq',0]; + $map['root_id'] = ['eq',0]; + } else { - $this->error('参数错误'); + if (I("root_id") == 0) { + $this->display(); + } } - //获取数据 - $from = " - ( - SELECT promote_id,promote_account,sum(cash_count) cash_count,sum(balance_coin_count) balance_coin_count,inside_cash_count FROM tab_spend_count WHERE parent_id = '{$parent_id}' and count_date='{$month}' group by promote_id - ) - "; - $subQueryAll = M()->table($from." a") - ->field('promote_id,promote_account,cash_count,balance_coin_count,inside_cash_count') - // ->limit(1) - ->group("a.promote_id") - ->select(); - dump($subQueryAll); - # code... - } - function presidentFinance($p = 1) { + if (!empty(I("root_name"))) { + $rootname = I("root_name"); + $map['promote_account'] =['like','%'.$rootname.'%']; + } + + + $subQueryAll = 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') + ->where($map) + ->group('promote_id') + ->page($page,$row) + ->select(); + + $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') + ->where($map) + ->find(); + + $count = 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') + ->where($map) + ->group('promote_id') + ->select(); + + $count = count($count); + $page = set_pagination($count,$row); + if($page) {$this->assign('_page', $page);} + + $this->assign('sumData',$sumData); + $this->assign('data',$subQueryAll); + $this->display(); + + } + public function getPromoteUser($p = 1) + { $page = intval($p); $page = $page ? $page : 1; //默认显示第一页数据 $row=10; if(isset($_REQUEST['row'])) {$row = $_REQUEST['row'];}else{$row = 10;} - $map1['_string'] = ''; - $map = []; - if (!empty(I('promote_account'))) { - $map['promote_account'] = I('promote_account'); - } if (!empty(I("count_date"))) { - $map['count_date'] = I('count_date'); - $map1['_string'] = "count_date = {$map['count_date']} and "; + $month = I("count_date"); + $map['count_date'] =$month; + } else { + $this->error('参数错误'); } - $map['parent_id'] = 0; + if (!empty(I("parent_id"))) { + $parent_id = I("parent_id"); + $map['parent_id'] =$parent_id; + } - $field = "parent_id,root_id,promote_id,promote_account,count_date,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) as all_cash_count"; + if (!empty(I('sign'))) { + $map['parent_id'] = ['neq',0]; + $map['root_id'] = I("root_id"); + } - $group = "promote_id"; - $order = "id DESC"; -// $data = D("spend_count")->getSpendCountData($map,$field,$group,$order,$page,$row); - $data = - $data = M("spend_count","tab_") - ->field($field) + $subQueryAll = 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') ->where($map) + ->group('promote_id') ->page($page,$row) - ->group($group)->order($order)->select(); + ->select(); - $map['inside_cash_count'] = ['neq',0]; - $insideData = D("spend_count")->getSpendCountData($map,"promote_id,inside_cash_count as count","promote_id,count_date"); - unset($map['inside_cash_count']); + $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') + ->where($map) + ->find(); - $insideDataSum = []; - foreach ($insideData as $key => $value) { - if (isset($insideDataSum[$value['promote_id']])) { - $insideDataSum[$value['promote_id']] = $insideDataSum[$value['promote_id']] + $value['count']; - } else { - $insideDataSum[$value['promote_id']] = $value['count']; - } - } -// echo D("spend_count")->_sql(); -// dump($insideDataSum);die(); + $count = 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') + ->where($map) + ->group('promote_id') + ->select(); - $promote_array = []; - foreach ($data as $key => $value) { - if ($value['promote_id']!=0) { - array_push($promote_array,$value['promote_id']); - } - } - $promote_id = implode(',',$promote_array); + $count = count($count); + $page = set_pagination($count,$row); + if($page) {$this->assign('_page', $page);} - if ($promote_id) { - $map1['_string'] = "(parent_id IN({$promote_id}) or root_id IN({$promote_id}))"; - $sunData = D("spend_count")->getSpendCountData($map1,$field,$group,$order); + $sum = array_sum($sumData); - $map1['inside_cash_count'] = ['neq',0]; - $sunInsideData = D("spend_count")->getSpendCountData($map1,"promote_id,inside_cash_count as count","promote_id,count_date"); + $this->assign('sumData',$sumData); + $this->assign('data',$subQueryAll); + $this->display(); + # code... + } - foreach($sunInsideData as $key => $value) { - if (in_array($value['parent_id'],$promote_array)) { - $insideDataSum[$value['parent_id']] = $insideDataSum[$value['parent_id']] + $value['count']; - }else if (in_array($value['root_id'],$promote_array)) { - $insideDataSum[$value['root_id']] = $insideDataSum[$value['root_id']] + $value['count']; - } - } + function getPromoteList($root_id = 0) { - } else { - $sunData = []; - } - dump($promote_id);die(); - $handleData = []; - foreach ($sunData as $key =>$value) { - if (in_array($value['parent_id'],$promote_array)) { - $handleData[$value['parent_id']]['cash_count'] = $handleData[$value['parent_id']]['cash_count']+$value['cash_count']; - $handleData[$value['parent_id']]['balance_coin_count'] = $handleData[$value['parent_id']]['balance_coin_count']+$value['balance_coin_count']; - $handleData[$value['parent_id']]['inside_cash_count'] = $handleData[$value['parent_id']]['inside_cash_count']+$value['inside_cash_count']; - } - if (in_array($value['root_id'],$promote_array)) { - $handleData[$value['root_id']]['cash_count'] = $handleData[$value['root_id']]['cash_count'] + $value['cash_count']; - $handleData[$value['root_id']]['balance_coin_count'] = $handleData[$value['root_id']]['balance_coin_count'] + $value['balance_coin_count']; - $handleData[$value['root_id']]['inside_cash_count'] = $handleData[$value['root_id']]['inside_cash_count']+ $value['inside_cash_count']; - } - } + $data = M('promote') + ->field("id") + ->where("parent_id={$root_id} and grand_id={$root_id}") + ->select(); - foreach($data as $key => $value) { - $data[$key]['cash_count'] = $value['cash_count'] + $handleData[$value['promote_id']]['cash_count']; - $data[$key]['balance_coin_count'] = $value['balance_coin_count'] + $handleData[$value['promote_id']]['balance_coin_count']; - $data[$key]['inside_cash_count'] = $value['inside_cash_count'] + $handleData[$value['promote_id']]['inside_cash_count']; + $handleData = []; + foreach ($data as $key => $value) { + array_push($data[$key]['id'],$handleData); } + return $handleData; - $this->assign('data',$data); - $this->display(); } } \ No newline at end of file diff --git a/Application/Admin/View/Finance/gameFinance.html b/Application/Admin/View/Finance/gameFinance.html index 8a5e6a4d5..8be65cb6a 100644 --- a/Application/Admin/View/Finance/gameFinance.html +++ b/Application/Admin/View/Finance/gameFinance.html @@ -86,15 +86,15 @@ - {$data.game_name} - {$data.partner_name} - {$data.cash_count} - {$data.balance_coin_count} - {$data.inside_cash_count} - {$data.all_cash_count} + {$data.game_name} + {$data.partner_name} + {$data.cash_count}0 + {$data.balance_coin_count}0 + {$data.inside_cash_count}0 + {$data.all_cash_count}0 查看 + array('count_date'=>$_REQUEST['count_date'],'game_id'=>$data['game_id'],'game_name'=>$data['game_name'],))}" >查看 diff --git a/Application/Admin/View/Finance/index.html b/Application/Admin/View/Finance/index.html index a6293d1e0..fc4b50cfc 100644 --- a/Application/Admin/View/Finance/index.html +++ b/Application/Admin/View/Finance/index.html @@ -122,7 +122,7 @@ 游戏查看 - $data['count_date']) ,false)}" >渠道查看