From 3fbdc9daa0f538823721a4426bfbb3d2325c4599 Mon Sep 17 00:00:00 2001 From: chenxiaojun <956334972@qq.com> Date: Fri, 15 Nov 2019 13:59:43 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=90=8E=E5=8F=B0->=E6=B8=B8?= =?UTF-8?q?=E6=88=8F=E8=AE=A2=E5=8D=95->=E6=B8=B8=E6=88=8F=E5=85=85?= =?UTF-8?q?=E5=80=BC--sql=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/SpendController.class.php | 150 +++++++++--------- Application/Admin/Model/SpendModel.class.php | 14 +- 2 files changed, 78 insertions(+), 86 deletions(-) diff --git a/Application/Admin/Controller/SpendController.class.php b/Application/Admin/Controller/SpendController.class.php index fe443906c..5c4574c51 100644 --- a/Application/Admin/Controller/SpendController.class.php +++ b/Application/Admin/Controller/SpendController.class.php @@ -1,120 +1,120 @@ */ -class SpendController extends ThinkController { - const model_name = 'Spend'; - public function lists(){ - if(isset($_REQUEST['user_account'])){ - $map['tab_spend.user_account']=array('like','%'.trim($_REQUEST['user_account']).'%'); - unset($_REQUEST['user_account']); - } - if(isset($_REQUEST['spend_ip'])){ - $map['tab_spend.spend_ip']=array('like','%'.trim($_REQUEST['spend_ip']).'%'); +class SpendController extends ThinkController +{ + const model_name = 'Spend'; + + public function lists() + { + if (isset($_REQUEST['user_account'])) { + $map['user_account'] = array('like', trim($_REQUEST['user_account'])); + unset($_REQUEST['user_account']); + } + if (isset($_REQUEST['spend_ip'])) { + $map['spend_ip'] = array('like', trim($_REQUEST['spend_ip']) . '%'); unset($_REQUEST['spend_ip']); } - if(isset($_REQUEST['time-start'])&&isset($_REQUEST['time-end'])){ - $map['tab_spend.pay_time'] =array('BETWEEN',array(strtotime($_REQUEST['time-start']),strtotime($_REQUEST['time-end'])+24*60*60-1)); - unset($_REQUEST['time-start']);unset($_REQUEST['time-end']); - }elseif(isset($_REQUEST['time-start'])){ - $map['tab_spend.pay_time'] = ['GT',strtotime(I('time-start'))]; + if (isset($_REQUEST['time-start']) && isset($_REQUEST['time-end'])) { + $map['pay_time'] = array('BETWEEN', array(strtotime($_REQUEST['time-start']), strtotime($_REQUEST['time-end']) + 24 * 60 * 60 - 1)); + unset($_REQUEST['time-start']); + unset($_REQUEST['time-end']); + } elseif (isset($_REQUEST['time-start'])) { + $map['pay_time'] = ['GT', strtotime(I('time-start'))]; unset($_REQUEST['time-start']); - }elseif(isset($_REQUEST['time-end'])){ - $map['tab_spend.pay_time'] = ['LT',strtotime(I('time-end'))+86399]; + } elseif (isset($_REQUEST['time-end'])) { + $map['pay_time'] = ['LT', strtotime(I('time-end')) + 86399]; unset($_REQUEST['time-end']); } - if(isset($_REQUEST['start'])&&isset($_REQUEST['end'])){ - $map['tab_spend.pay_time'] =array('BETWEEN',array(strtotime($_REQUEST['start']),strtotime($_REQUEST['end'])+24*60*60-1)); - unset($_REQUEST['start']);unset($_REQUEST['end']); - }elseif(isset($_REQUEST['start'])){ - $map['tab_spend.pay_time'] = ['GT',strtotime(I('start'))]; + if (isset($_REQUEST['start']) && isset($_REQUEST['end'])) { + $map['pay_time'] = array('BETWEEN', array(strtotime($_REQUEST['start']), strtotime($_REQUEST['end']) + 24 * 60 * 60 - 1)); unset($_REQUEST['start']); - }elseif(isset($_REQUEST['end'])){ - $map['tab_spend.pay_time'] = ['LT',strtotime(I('end'))+86399]; + unset($_REQUEST['end']); + } elseif (isset($_REQUEST['start'])) { + $map['pay_time'] = ['GT', strtotime(I('start'))]; + unset($_REQUEST['start']); + } elseif (isset($_REQUEST['end'])) { + $map['pay_time'] = ['LT', strtotime(I('end')) + 86399]; unset($_REQUEST['end']); } - if(isset($_REQUEST['game_name'])){ - if($_REQUEST['game_name']=='全部'){ + if (isset($_REQUEST['game_name'])) { + if ($_REQUEST['game_name'] == '全部') { + unset($_REQUEST['game_name']); + } else { + $map['game_id'] = ['in', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id')]; unset($_REQUEST['game_name']); - }else{ - $map['tab_spend.game_id']= ['in', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id')]; - unset($_REQUEST['game_name']); } } - if(isset($_REQUEST['server_name'])){ - $map['tab_spend.server_name']=$_REQUEST['server_name']; + if (isset($_REQUEST['server_name'])) { + $map['server_name'] = $_REQUEST['server_name']; unset($_REQUEST['server_name']); } - if(isset($_REQUEST['pay_order_number'])){ - $map['tab_spend.pay_order_number']=array('like','%'.trim($_REQUEST['pay_order_number']).'%'); - unset($_REQUEST['pay_order_number']); + if (isset($_REQUEST['pay_order_number'])) { + $map['pay_order_number'] = array('like', trim($_REQUEST['pay_order_number']) . '%'); + unset($_REQUEST['pay_order_number']); } - if(isset($_REQUEST['pay_status'])){ - $map['tab_spend.pay_status']=$_REQUEST['pay_status']; + if (isset($_REQUEST['pay_status'])) { + $map['pay_status'] = $_REQUEST['pay_status']; unset($_REQUEST['pay_status']); } - if(isset($_REQUEST['pay_way'])){ - if($_REQUEST['pay_way']==2){ - $map['tab_spend.pay_way']=['in','2,3,4']; - }else{ - $map['tab_spend.pay_way']=$_REQUEST['pay_way']; + if (isset($_REQUEST['pay_way'])) { + if ($_REQUEST['pay_way'] == 2) { + $map['pay_way'] = ['in', '2,3,4']; + } else { + $map['pay_way'] = $_REQUEST['pay_way']; } unset($_REQUEST['pay_way']); } - if(isset($_REQUEST['pay_game_status'])){ - $map['tab_spend.pay_game_status']=$_REQUEST['pay_game_status']; + if (isset($_REQUEST['pay_game_status'])) { + $map['pay_game_status'] = $_REQUEST['pay_game_status']; unset($_REQUEST['pay_game_status']); } - if(isset($_REQUEST['promote_id'])) { - if ($_REQUEST['promote_id'] == 0) { + if (isset($_REQUEST['promote_id'])) { + $promoteId = intval($_REQUEST['promote_id']); + if ($promoteId == 0) { $map['promote_id'] = 0; } else { - $map['_complex'] = ['tp.chain'=>['like', "%/{$_REQUEST['promote_id']}/%"], 'tp.id'=>$_REQUEST['promote_id'], '_logic' => 'or']; + $promoteMap['chain'] = ['like', "%/$promoteId/%"]; + $promoteIds = M('Promote', 'tab_')->where($promoteMap)->getField('id', true); + $promoteIds[] = $promoteId; + $map['promote_id'] = ['in', $promoteIds]; } - $tab_promote_join = "left join tab_promote as tp on tp.id = tab_spend.promote_id"; - //unset($_REQUEST['promote_id']); - } else { - $tab_promote_join = false; } - if($_REQUEST['data_order']!=''){ - $data_order=reset(explode(',',$_REQUEST['data_order'])); - $data_order_type=end(explode(',',$_REQUEST['data_order'])); - $this->assign('userarpu_order',$data_order); - $this->assign('userarpu_order_type',$data_order_type); - $sort = $data_order==3?'desc':'asc'; - $order = $data_order_type.' '.$sort; + if ($_REQUEST['data_order'] != '') { + $data_order = reset(explode(',', $_REQUEST['data_order'])); + $data_order_type = end(explode(',', $_REQUEST['data_order'])); + $this->assign('userarpu_order', $data_order); + $this->assign('userarpu_order_type', $data_order_type); + $sort = $data_order == 3 ? 'desc' : 'asc'; + $order = $data_order_type . ' ' . $sort; } else { $order = ' pay_time desc '; } - $map1=$map; - $map1['pay_status']=1; - $total=null_to_0(D(self::model_name)->where($map1)->join($tab_promote_join)->sum('pay_amount')); - $ttotal=null_to_0(D(self::model_name)->where('pay_time'.total(1))->where(array('pay_status'=>1))->join($tab_promote_join)->sum('pay_amount')); - $ytotal=null_to_0(D(self::model_name)->where('pay_time'.total(5))->where(array('pay_status'=>1))->join($tab_promote_join)->sum('pay_amount')); - $this->assign('total',$total); - $this->assign('ttotal',$ttotal); - $this->assign('ytotal',$ytotal); - + $map1 = $map; + $map1['pay_status'] = 1; + $total = null_to_0(D(self::model_name)->where($map1)->sum('pay_amount')); + $ttotal = null_to_0(D(self::model_name)->where('pay_time' . total(1))->where(array('pay_status' => 1))->sum('pay_amount')); + $ytotal = null_to_0(D(self::model_name)->where('pay_time' . total(5))->where(array('pay_status' => 1))->sum('pay_amount')); + $this->assign('total', $total); + $this->assign('ttotal', $ttotal); + $this->assign('ytotal', $ytotal); $this->meta_title = $this->m_title = '游戏充值'; - $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Spend/lists','status'=>1])->find()); - + $this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Spend/lists', 'status' => 1])->find()); - /*parent::lists(self::model_name,$_GET["p"],$map);*/ - - $data = D(self::model_name)->lists($_GET["p"], $map, $order); - - - $this->assign('list_data',$data['data']); - $this->assign('_page',$data['page']); + $data = D(self::model_name)->lists($_GET["p"], $map, $order); + $this->assign('list_data', $data['data']); + $this->assign('_page', $data['page']); $this->display(); } - + } diff --git a/Application/Admin/Model/SpendModel.class.php b/Application/Admin/Model/SpendModel.class.php index 775981c5e..1ba165eea 100644 --- a/Application/Admin/Model/SpendModel.class.php +++ b/Application/Admin/Model/SpendModel.class.php @@ -710,29 +710,21 @@ protected function _after_select(&$result,$options){ */ public function lists($p=1, $map=array(), $order, $field=true) { - $page = intval($p); - $page = $page ? $page : 1; //默认显示第一页数据 - if(isset($_REQUEST['row'])) { $row = $_REQUEST['row']; } else { $row = 10; } - $list = $this->field("tab_spend.*") - ->join("left join tab_promote as tp on tp.id = tab_spend.promote_id") + $list = $this ->where($map) ->page($page, $row) - ->order($order?$order:'tab_spend.pay_time desc') + ->order($order?$order:'pay_time desc') ->select(); - - $count = $this->where($map)->join("left join tab_promote as tp on tp.id = tab_spend.promote_id")->count(); - + $count = $this->where($map)->count(); $data['data'] = $list; - $page = set_pagination($count,$row); - if($page) { $data['page']=$page; }