From 3b447b70d004cbab93fa4eec1cc12c8f3ffe2d2c Mon Sep 17 00:00:00 2001 From: chenzhi Date: Tue, 23 Mar 2021 14:35:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=85=AC=E4=BC=9A=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinancePromoteController.class.php | 23 ++++----- Application/Admin/Model/SpendModel.class.php | 19 +++++++ .../Admin/View/FinancePromote/index.html | 51 ++++++++++++------- 3 files changed, 63 insertions(+), 30 deletions(-) diff --git a/Application/Admin/Controller/FinancePromoteController.class.php b/Application/Admin/Controller/FinancePromoteController.class.php index 93fb2af19..0c7ab2198 100644 --- a/Application/Admin/Controller/FinancePromoteController.class.php +++ b/Application/Admin/Controller/FinancePromoteController.class.php @@ -294,13 +294,12 @@ class FinancePromoteController extends AdminController } $map['s.pay_status']=1; $map['s.is_check']=2; - D("Spend")->addSubsiteWhere($map,"s"); $field= "SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END) as cash_count, SUM(CASE WHEN pay_way = 0 THEN pay_amount ELSE 0 END) as balance_coin_count, SUM(CASE WHEN pay_way = -1 THEN pay_amount ELSE 0 END) as bind_coin_count, IFNULL(if(substring_index(substring_index(promote.`chain`,'/',2),'/',-1)='',s.promote_id,substring_index(substring_index(promote.`chain`,'/',2),'/',-1)),0) p_id, IFNULL(company_id,0) company_id,company_name,develop_type,IFNULL(promote.company_belong,0) company_belong"; - $query = M() + $query = SM() ->table("tab_spend s use index(promote_time)") ->field($field) ->where($map) @@ -379,13 +378,12 @@ class FinancePromoteController extends AdminController } $map['s.pay_status']=1; // $map['s.is_check']=1; - D("Spend")->addSubsiteWhere($map,"s"); $field= "SUM(CASE WHEN pay_way > 0 and s.is_check=1 THEN pay_amount ELSE 0 END) as cash_count, SUM(CASE WHEN pay_way = 0 and s.is_check=1 THEN pay_amount ELSE 0 END) as balance_coin_count, SUM(CASE WHEN pay_way = -1 and s.is_check=1 THEN pay_amount ELSE 0 END) as bind_coin_count, IFNULL(if(substring_index(substring_index(promote.`chain`,'/',2),'/',-1)='',s.promote_id,substring_index(substring_index(promote.`chain`,'/',2),'/',-1)),0) p_id, IFNULL(company_id,0) company_id,company_name,develop_type,IFNULL(promote.company_belong,0) company_belong"; - $query = M() + $query = SM() ->table("tab_spend s use index(promote_time)") ->field($field) ->where($map) @@ -610,13 +608,12 @@ class FinancePromoteController extends AdminController } $map['s.pay_status']=1; $map['s.is_check']=1; - D("Spend")->addSubsiteWhere($map,"s"); // dd($map); $field= "SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END) as cash_count, SUM(CASE WHEN pay_way = 0 THEN pay_amount ELSE 0 END) as balance_coin_count, SUM(CASE WHEN pay_way = -1 THEN pay_amount ELSE 0 END) as bind_coin_count, IFNULL(company_id,0) company_id,company_name,promote_id,promote.account promote_account,develop_type,IFNULL(promote.company_belong,0) company_belong"; - $query = M() + $query = SM() ->table("tab_spend s use index(promote_time)") ->field($field) ->where($map) @@ -895,9 +892,9 @@ class FinancePromoteController extends AdminController $group = ""; $order = "pay_time DESC"; if(isset($_REQUEST['export'])){ - $data = D('spend')->getSpendData($map,$field,$group,$order); + $data = D('spend')->getSubSpendData($map,$field,$group,$order); }else { - $data = D('spend')->getSpendData($map,$field,$group,$order,$page,$row); + $data = D('spend')->getSubSpendData($map,$field,$group,$order,$page,$row); } $marketAdmins = []; @@ -965,7 +962,7 @@ class FinancePromoteController extends AdminController $this->assign('sumInside', $sumInside); $this->assign('sumAll', null_to_0($sumAll)); - $count = D("spend")->getSpendData($map,$field,$group,$order); + $count = D("spend")->getSubSpendData($map,$field,$group,$order); $count = count($count); $page = set_pagination($count,$row); @@ -996,7 +993,7 @@ class FinancePromoteController extends AdminController $map['s.pay_status']=1; $map['s.is_check']=1; - $query = M("spend","tab_")->alias("s") + $query = SM("spend","tab_")->alias("s") ->field("s.game_id,s.game_name,s.sdk_version,p.partner as partner_name, SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END) as cash_count, SUM(CASE WHEN pay_way = 0 THEN pay_amount ELSE 0 END) as balance_coin_count, @@ -1039,7 +1036,7 @@ class FinancePromoteController extends AdminController $map['s.market_admin_id'] = $adminId; } - $query = M("spend","tab_")->alias("s") + $query = SM("spend","tab_")->alias("s") ->field("SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END) as cash_count, SUM(CASE WHEN pay_way = 0 THEN pay_amount ELSE 0 END) as balance_coin_count, SUM(CASE WHEN pay_way = -1 THEN pay_amount ELSE 0 END) as inside_cash_count"); @@ -1099,7 +1096,7 @@ class FinancePromoteController extends AdminController $row = 10; } $map['pay_status'] = 1; - $map['is_check'] = 1; + $map['tab_spend.is_check'] = 1; if (!empty(I('user_account'))) { $map['tab_spend.user_account'] = array('like','%'.I("user_account").'%'); @@ -1107,7 +1104,7 @@ class FinancePromoteController extends AdminController if (!empty(I('user_nickname'))) { $map['tab_spend.game_player_name'] = array('like',I("user_nickname").'%'); } - D("Spend")->addSubsiteWhere($map,"s"); + D("Spend")->addSubsiteWhere($map,"tab_spend"); $field = "pay_order_number,FROM_UNIXTIME(payed_time) as pay_time,tab_spend.user_account, tab_spend.user_nickname,tab_spend.game_name,tab_spend.promote_account,spend_ip,tab_spend.server_name,tab_spend.sdk_version, game_player_name,pay_amount,cost,pay_way"; diff --git a/Application/Admin/Model/SpendModel.class.php b/Application/Admin/Model/SpendModel.class.php index 0ce2fb602..51fecfd41 100644 --- a/Application/Admin/Model/SpendModel.class.php +++ b/Application/Admin/Model/SpendModel.class.php @@ -843,6 +843,19 @@ class SpendModel extends Model } return $data; } + public function getSubSpendData($map = [], $field = '', $group = '', $order = '', $page = 0, $row = 0, $join = false) + { + $query = SM('spend',"tab_")->field($field)->where($map)->group($group)->order($order); + if ($join) { + $query = $query->join($join); + } + if ($row == 0) { + $data = $query->select(); + } else { + $data = $query->page($page, $row)->select(); + } + return $data; + } public function sumSpend($map = [], $field = '') { @@ -850,6 +863,12 @@ class SpendModel extends Model return $sum; } + public function sumSubSpend($map = [], $field = '') + { + $sum = SM('spend',"tab_")->where($map)->sum($field); + + return $sum; + } private function getGameMapByGameStatMap($map) { diff --git a/Application/Admin/View/FinancePromote/index.html b/Application/Admin/View/FinancePromote/index.html index 4094d65e6..c6605e1b5 100644 --- a/Application/Admin/View/FinancePromote/index.html +++ b/Application/Admin/View/FinancePromote/index.html @@ -85,7 +85,7 @@