@ -104,14 +104,25 @@ class FinanceController extends ThinkController
$map['count_date']=I('count_date');
}
if(!empty(I('root_id'))||!I('sign') ) {
if(!empty(I('root_id'))||I('root_id')=='0' ) {
$root_id = I('root_id');
if ($root_id == 0) {
// $map['_string'] = "promote_id = {$root_id}";
} else {
if ($root_id == ' 0' ) {
$map['_string'] = "promote_id = {$root_id}";
} else if($root_id) {
$map['_string'] = "promote_id = {$root_id} or parent_id = {$root_id} or root_id = {$root_id}";
}
}
if (I('sign') == 2& & empty(I('root_id'))) {
$map['_string'] = "parent_id >0 or root_id>0";
}
if (I('sign') == 3& & empty(I('root_id'))) {
$map['_string'] = "parent_id >0 and root_id>0";
}
// var_dump($map);die();
if(!empty(I('parent_id'))) {
$parent_id = I('parent_id');
$map['_string'] = "promote_id = {$parent_id} or parent_id = {$parent_id}";
@ -122,9 +133,6 @@ class FinanceController extends ThinkController
$map['_string'] = "promote_id = {$promote_id}";
}
// var_dump($map);die();
$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']);
@ -144,6 +152,7 @@ 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();
// echo D("spend_count")->_sql();die();
@ -176,15 +185,17 @@ class FinanceController extends ThinkController
function gameFinanceDetail($p = 1) {
if (!empty(I("promote_id"))) {
$promote_id = I("promote_id");
$promote_id[] = I("promote_id");
}
if (!empty(I("root_id"))) {
$root_id = I("root_id");
$promote_id = $this->getPromoteList($root_id);
array_push($promote_id,$root_id);
} else if (I("root_id")==0) {
$promote_id = 0;
}
if ($_REQUEST['root_id']=='0') {
$map['promote_id'] = $_REQUEST['root_id'];
}
if (!empty(I("parent_id"))) {
@ -193,7 +204,11 @@ class FinanceController extends ThinkController
array_push($promote_id,$parent_id);
}
dump($promote_id);die();
$promote_id = implode(',',$promote_id);
if ($promote_id) {
$map['promote_id'] = ['in',$promote_id];
}
$page = intval($p);
$page = $page ? $page : 1; //默认显示第一页数据
@ -202,16 +217,12 @@ class FinanceController extends ThinkController
if (!empty(I("count_date"))) {
$month = I("count_date");
} else {
$this->error('月份不能为空');
$tarry = explode('-',$month);
$startTime=mktime(0,0,0,$tarry[1],1,$tarry[0]);
$endTime =mktime(0,0,0,$tarry[1]-0+1,1,$tarry[0])-1;
$map['pay_time'] = array('between',array($startTime,$endTime));
}
$tarry = explode('-',$month);
$startTime=mktime(0,0,0,$tarry[1],1,$tarry[0]);
$endTime =mktime(0,0,0,$tarry[1]-0+1,1,$tarry[0])-1;
$map['pay_time'] = array('between',array($startTime,$endTime));
$map['pay_status'] = 1;
if (!empty(I("game_id"))) {
$map['game_id'] = I("game_id");
@ -222,11 +233,12 @@ class FinanceController extends ThinkController
if (!empty(I('user_nickname'))) {
$map['user_nickname'] = array('like',I("user_nickname").'%');
}
// var_dump($map);die();
$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";
$group = "";
$order = "pay_time DESC";
$data = D('spend')->getSpendData($map,$field,$group,$order,$page,$row);
// echo D("spend")->_sql();die();
foreach($data as $key => $value) {
$data[$key]['pay_way'] = getPayType($value['pay_way']);
@ -259,9 +271,8 @@ class FinanceController extends ThinkController
//获取所有数据
if (!empty(I("count_date"))) {
$map['count_date'] = I("count_date");
} else {
$this->error('月份不能为空');
}
if (!empty(I("root_name"))) {
$map['promote_account']=['like','%'.I("root_name").'%'];
}
@ -306,16 +317,15 @@ class FinanceController extends ThinkController
$month = I("count_date");
$map['count_date'] =$month;
} else {
$this->error('参数错误');
}
$parentData = [];
if (!empty(I("root_id"))) {
$root_id = I("root_id");
if ($page == 1) {
$parentData = $this->getParentSpendData($root_id,$month);
}
$map['parent_id'] =$root_id;
} else if(!empty(I("sign"))){
@ -324,7 +334,8 @@ class FinanceController extends ThinkController
} else {
if (I("root_id") == 0) {
$this->display();
$root_id = I("root_id");
$map['promote_id'] = $root_id;
}
}
@ -341,10 +352,16 @@ class FinanceController extends ThinkController
->page($page,$row)
->select();
$subQueryAll = array_merge($parentData,$subQueryAll);
$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['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,'.','');
$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')
@ -371,20 +388,30 @@ class FinanceController extends ThinkController
if (!empty(I("count_date"))) {
$month = I("count_date");
$map['count_date'] =$month;
} else {
$this->error('参数错误');
}
$parentData = [];
if (!empty(I("parent_id"))) {
$parent_id = I("parent_id");
if ($page == 1) {
$parentData = $this->getParentSpendData($parent_id,$month);
}
$map['parent_id'] =$parent_id;
}
if (!empty(I('sign'))) {
$map['parent_id'] = ['neq',0];
$map['root_id'] = I("root_id");
if (!empty(I('root_id'))) {
$map['root_id'] = I('root_id');
} else {
$map['root_id'] = ['neq',0];
}
}
// var_dump($map);die();
// var_dump($map);die();
$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)
@ -392,10 +419,16 @@ class FinanceController extends ThinkController
->page($page,$row)
->select();
$subQueryAll = array_merge($parentData,$subQueryAll);
$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['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,'.','');
$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')
@ -431,4 +464,66 @@ class FinanceController extends ThinkController
}
function getGameList() {
if (I('partner_id')) {
$map['partner_id'] = I('partner_id');
}
$data = M('game','tab_')->field("id,game_name")->where($map)->select();
$this->ajaxReturn($data,'json');
}
function getParentSpendData($root_id,$date) {
$data = [];
if (!$root_id) {
$this->error('数据错误');
} else {
$map = [];
if ($root_id) {
$map['promote_id'] = $root_id;
}
if ($date) {
$map['count_date'] = $date;
}
$data = M('spend_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) as all_count')
->where($map)->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['bind_coin_count']);
//内充流水与绑定流水数据
$insideDataSum = 0;
foreach ($insideData as $key => $value) {
if (isset($insideDataSum)) {
$insideDataSum = $insideDataSum + $value['count'];
} else {
$insideDataSum = $value['count'];
}
}
}
if (!$data[0]['cash_count']& & !$data[0]['balance_coin_count']& & !$data[0]['inside_cash_count']& & !$data[0]['all_count']) {
$promoteData = M('promote','tab_')->field('account as promote_account')->where("id={$root_id}")->find();
$data[0]['promote_id'] = $root_id;
$data[0]['promote_account'] = $promoteData['promote_account'];
$data[0]['cash_count'] = number_format(0.00,2,'.','');
$data[0]['balance_coin_count'] = number_format(0.00,2,'.','');
$data[0]['inside_cash_count'] = number_format(0.00,2,'.','');
$data[0]['all_count'] = number_format(0.00,2,'.','');
}
$data[0]['inside_cash_count'] = number_format($insideDataSum,2,'.','');
$data[0]['all_count'] = number_format($insideDataSum+$data[0]['all_count'],2,'.','');
// var_dump($data);die();
return $data;
}
}