From 3a3afa739c96ad34201ecdcbb8068943d4faa23e Mon Sep 17 00:00:00 2001 From: zhanglingsheng Date: Wed, 25 Dec 2019 13:36:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B6=85=E7=BA=A7=E7=AD=BE=E7=BB=9F=E8=AE=A1--?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/ExportController.class.php | 50 +++++- .../SuperStatisticalController.class.php | 47 ++++-- .../Admin/View/SuperStatistical/index.html | 19 ++- .../Admin/View/SuperStatistical/lists.html | 148 ++++++++++++++++++ .../View/SuperStatistical/superDetail.html | 68 +++++++- 5 files changed, 311 insertions(+), 21 deletions(-) diff --git a/Application/Admin/Controller/ExportController.class.php b/Application/Admin/Controller/ExportController.class.php index 2a87bac71..471afcb1c 100644 --- a/Application/Admin/Controller/ExportController.class.php +++ b/Application/Admin/Controller/ExportController.class.php @@ -1983,8 +1983,17 @@ class ExportController extends Controller array('promote_super_money', '推广超级签金额'), array('official_super_money', '官方超级签金额'), ); + $params = I('get.'); + if(isset($params['timestart']) && isset($params['timeend'])) { + $startTime = strtotime($params['timestart']); + $endTime = strtotime($params['timeend']) + 86399; + $map['pay_time'] = array('BETWEEN', [$startTime, $endTime]); + } + if(isset($params['game_id'])) { + $map['tab_game.id'] = $params['game_id']; + } $map['supersign_token'] = ['NEQ','']; - $supersign_game = M('game', 'tab_')->field('id,game_name,supersign_token')->where($map)->select(); + $supersign_game = M('game', 'tab_')->field('tab_game.id,tab_game.game_name,tab_game.supersign_token')->join('tab_game_supersign on tab_game_supersign.game_id = tab_game.id')->where($map)->group('tab_game.id')->page($page,$row)->select(); $xlsData = []; $count['authorization'] = 0; $count['pay_num'] = 0; @@ -2012,15 +2021,22 @@ class ExportController extends Controller } } $arr['authorization_num'] = count($re_data); - $game_supersign = M('game_supersign', 'tab_')->field('promote_id')->join('tab_user on tab_game_supersign.user_id = tab_user.id')->where(['game_id' => $v['id'], 'pay_status' => 1])->select(); + if(isset($params['timestart']) && isset($params['timeend'])) { + $startTime = strtotime($params['timestart']); + $endTime = strtotime($params['timeend']) + 86399; + $where['pay_time'] = array('BETWEEN', [$startTime, $endTime]); + } + $where['game_id'] = $v['id']; + $where['pay_status'] = 1; + $game_supersign = M('game_supersign', 'tab_')->field('promote_id,pay_price')->join('tab_user on tab_game_supersign.user_id = tab_user.id')->where($where)->select(); $arr['pay_game_supersign'] = count($game_supersign); $arr['promote_super_money'] = 0; $arr['official_super_money'] = 0; foreach($game_supersign as $key => $val) { if($val['promote_id'] != 0) { - $arr['promote_super_money'] += 10; + $arr['promote_super_money'] += $val['pay_price']; }else { - $arr['official_super_money'] += 10; + $arr['official_super_money'] += $val['pay_price']; } } $xlsData[] = $arr; @@ -2046,6 +2062,14 @@ class ExportController extends Controller $map['tab_user.promote_id'] = ['in', $promoteIds]; } } + if(isset($params['timestart']) && isset($params['timeend'])) { + $startTime = strtotime($params['timestart']); + $endTime = strtotime($params['timeend']) + 86399; + $map['tab_game_supersign.pay_time'] = array('BETWEEN', [$startTime, $endTime]); + } + if(isset($params['game_id'])) { + $map['tab_game_supersign.game_id'] = $params['game_id']; + } $xlsCell = array( array('order_id', '订单号'), array('account', '游戏账号'), @@ -2066,8 +2090,21 @@ class ExportController extends Controller array('buy_num', '超级签被购买数量'), array('money_all', '超级签金额合计'), ); + $params = I('get.'); + $startDate = empty($params['timestart']) ? '': $params['timestart']; + $endDate = empty($params['timeend']) ? '' : $params['timeend']; + $startTime = strtotime($startDate); + $endTime = strtotime($endDate) + 86399; + if(!empty($startDate)) { + $where['pay_time'] = array('BETWEEN', [$startTime, $endTime]); + $map['pay_time'] = array('BETWEEN', [$startTime, $endTime]); + } + if(isset($params['game_id'])) { + $where['game_id'] = $params['game_id']; + $map['game_id'] = $params['game_id']; + } $map['supersign_token'] = ['NEQ','']; - $supersign_game = M('game', 'tab_')->field('supersign_token')->where($map)->select(); + $supersign_game = M('game', 'tab_')->field('tab_game.id,tab_game.game_name,tab_game.supersign_token')->join('tab_game_supersign on tab_game_supersign.game_id = tab_game.id')->where($map)->group('tab_game.id')->select(); $supersign_token = array_column($supersign_game, 'supersign_token'); $authorization_all_num = 0; foreach($supersign_token as $k => $v) { @@ -2094,7 +2131,8 @@ class ExportController extends Controller } $where['pay_status'] = 1; $xlsData[0]['buy_num'] = M('game_supersign', 'tab_')->where($where)->count(); - $xlsData[0]['money_all'] = $xlsData[0]['buy_num'] * 10; + $pay_price = M('game_supersign', 'tab_')->field('sum(pay_price) as pay_price')->where($where)->select(); + $xlsData[0]['money_all'] = $pay_price[0]['pay_price'] == '' ? 0 : $pay_price[0]['pay_price']; $xlsData[0]['authorization_all_num'] = $authorization_all_num; break; case 25: diff --git a/Application/Admin/Controller/SuperStatisticalController.class.php b/Application/Admin/Controller/SuperStatisticalController.class.php index 5b11bc33f..cd7366a57 100644 --- a/Application/Admin/Controller/SuperStatisticalController.class.php +++ b/Application/Admin/Controller/SuperStatisticalController.class.php @@ -5,7 +5,6 @@ namespace Admin\Controller; class SuperStatisticalController extends ThinkController { - private $super_money = 10; private $ticketList_url = 'https://app.ipa365.com/Kirin/OpenApi/TicketList'; @@ -18,12 +17,14 @@ class SuperStatisticalController extends ThinkController if(!empty($startDate)) { $where['pay_time'] = array('BETWEEN', [$startTime, $endTime]); + $map['pay_time'] = array('BETWEEN', [$startTime, $endTime]); } if(isset($params['game_id'])) { $where['game_id'] = $params['game_id']; + $map['game_id'] = $params['game_id']; } $map['supersign_token'] = ['NEQ','']; - $supersign_game = M('game', 'tab_')->field('supersign_token')->where($map)->select(); + $supersign_game = M('game', 'tab_')->field('id,game_name,supersign_token')->where(['supersign_token' => ['NEQ','']])->select(); $supersign_token = array_column($supersign_game, 'supersign_token'); $authorization_all_num = 0; foreach($supersign_token as $k => $v) { @@ -31,7 +32,8 @@ class SuperStatisticalController extends ThinkController } $where['pay_status'] = 1; $data['buy_num'] = M('game_supersign', 'tab_')->where($where)->count(); - $data['money_all'] = $data['buy_num'] * $this->super_money; + $pay_price = M('game_supersign', 'tab_')->field('sum(pay_price) as pay_price')->where($where)->select(); + $data['money_all'] = $pay_price[0]['pay_price'] == '' ? 0 : $pay_price[0]['pay_price']; $data['authorization_all_num'] = $authorization_all_num; $this->assign('data', $data); $this->display('index'); @@ -40,8 +42,17 @@ class SuperStatisticalController extends ThinkController public function lists($p = 1,$row = 10) { $page = $p ? $p : 1; $row = $row ? $row : 10; + $params = I('get.'); + if(isset($params['timestart']) && isset($params['timeend'])) { + $startTime = strtotime($params['timestart']); + $endTime = strtotime($params['timeend']) + 86399; + $map['pay_time'] = array('BETWEEN', [$startTime, $endTime]); + } + if(isset($params['game_id'])) { + $map['tab_game.id'] = $params['game_id']; + } $map['supersign_token'] = ['NEQ','']; - $supersign_game = M('game', 'tab_')->field('id,game_name,supersign_token')->where($map)->page($page,$row)->select(); + $supersign_game = M('game', 'tab_')->field('tab_game.id,tab_game.game_name,tab_game.supersign_token')->join('tab_game_supersign on tab_game_supersign.game_id = tab_game.id')->where($map)->group('tab_game.id')->page($page,$row)->select(); $data = []; $num['authorization'] = 0; $num['pay_num'] = 0; @@ -51,7 +62,15 @@ class SuperStatisticalController extends ThinkController $arr['game_name'] = $v['game_name']; $arr['authorization_num'] = count($this->game_supersign_num($v['supersign_token'])); $num['authorization'] += $arr['authorization_num']; - $game_supersign = M('game_supersign', 'tab_')->field('promote_id')->join('tab_user on tab_game_supersign.user_id = tab_user.id')->where(['game_id' => $v['id'], 'pay_status' => 1])->select(); + + if(isset($params['timestart']) && isset($params['timeend'])) { + $startTime = strtotime($params['timestart']); + $endTime = strtotime($params['timeend']) + 86399; + $where['pay_time'] = array('BETWEEN', [$startTime, $endTime]); + } + $where['game_id'] = $v['id']; + $where['pay_status'] = 1; + $game_supersign = M('game_supersign', 'tab_')->field('promote_id,pay_price')->join('tab_user on tab_game_supersign.user_id = tab_user.id')->where($where)->select(); $arr['pay_game_supersign'] = count($game_supersign); $num['pay_num'] += $arr['pay_game_supersign']; @@ -59,16 +78,16 @@ class SuperStatisticalController extends ThinkController $arr['official_super_money'] = 0; foreach($game_supersign as $key => $val) { if($val['promote_id'] != 0) { - $arr['promote_super_money'] += $this->super_money; + $arr['promote_super_money'] += $val['pay_price']; }else { - $arr['official_super_money'] += $this->super_money; + $arr['official_super_money'] += $val['pay_price']; } } $num['official_super_money'] += $arr['official_super_money']; $num['promote_super_money'] += $arr['promote_super_money']; $data[] = $arr; } - $count = M('game', 'tab_')->where($map)->count(); + $count = count(M('game', 'tab_')->field('tab_game.id,tab_game.game_name,tab_game.supersign_token')->join('tab_game_supersign on tab_game_supersign.game_id = tab_game.id')->where($map)->group('tab_game.id')->select()); $page = set_pagination($count, $row); $this->assign('_page', $page); $this->assign('data', $data); @@ -121,14 +140,20 @@ class SuperStatisticalController extends ThinkController $map['tab_user.promote_id'] = ['in', $promoteIds]; } } - $data = M('game_supersign', 'tab_')->field('tab_game_supersign.id,tab_game_supersign.order_id,tab_user.account,tab_user.promote_account,tab_user.device_number,tab_game.game_name,tab_game_supersign.pay_time')->join('tab_user on tab_game_supersign.user_id = tab_user.id')->join('tab_game on tab_game_supersign.game_id = tab_game.id')->where($map)->page($page,$row)->order('id DESC')->select(); + if(isset($params['timestart']) && isset($params['timeend'])) { + $startTime = strtotime($params['timestart']); + $endTime = strtotime($params['timeend']) + 86399; + $map['tab_game_supersign.pay_time'] = array('BETWEEN', [$startTime, $endTime]); + } + if(isset($params['game_id'])) { + $map['tab_game_supersign.game_id'] = $params['game_id']; + } + $data = M('game_supersign', 'tab_')->field('tab_game_supersign.id,tab_game_supersign.order_id,tab_user.account,tab_user.promote_account,tab_user.device_number,tab_game.game_name,tab_game_supersign.pay_time,tab_game_supersign.pay_price')->join('tab_user on tab_game_supersign.user_id = tab_user.id')->join('tab_game on tab_game_supersign.game_id = tab_game.id')->where($map)->page($page,$row)->order('id DESC')->select(); $count = M('game_supersign', 'tab_')->field('tab_game_supersign.order_id,tab_user.account,tab_user.promote_account,tab_user.device_number,tab_game.game_name,tab_game_supersign.pay_time')->join('tab_user on tab_game_supersign.user_id = tab_user.id')->join('tab_game on tab_game_supersign.game_id = tab_game.id')->where($map)->count(); - $super_money_all = $count * $this->super_money; $page = set_pagination($count, $row); $this->assign('_page', $page); $this->assign('data', $data); - $this->assign('super_money', $this->super_money); $this->assign('super_money_all', $super_money_all); $this->display('superDetail'); } diff --git a/Application/Admin/View/SuperStatistical/index.html b/Application/Admin/View/SuperStatistical/index.html index 6f32c073b..e24b3ec0e 100644 --- a/Application/Admin/View/SuperStatistical/index.html +++ b/Application/Admin/View/SuperStatistical/index.html @@ -137,6 +137,19 @@ //导航高亮 highlight_subnav('{:U('SuperStatistical/index')}'); $(function () { + params = '' + var time_start = $("#time-start").val() + var time_end = $("#time-end").val() + var game_name = $("#game_name").val() + if(time_start != '') { + params = params + '/timestart/' + time_start + } + if(time_end != '') { + params = params + '/timeend/' + time_end + } + if(game_name != '') { + params = params + '/game_id/' + game_name + } $("#role").click(function () { layer.open({ type: 2, @@ -144,7 +157,7 @@ shadeClose: true, shade: 0.8, area: ['70%', '80%'], - content: ['admin.php?s=/SuperStatistical/lists' , 'no'] + content: ['admin.php?s=/SuperStatistical/lists' + params , 'no'] }); }); $("#role1").click(function () { @@ -154,7 +167,7 @@ shadeClose: true, shade: 0.8, area: ['70%', '80%'], - content: ['admin.php?s=/SuperStatistical/lists' , 'no'] + content: ['admin.php?s=/SuperStatistical/lists' + params , 'no'] }); }); $("#superDetail").click(function () { @@ -164,7 +177,7 @@ shadeClose: true, shade: 0.8, area: ['70%', '80%'], - content: ['admin.php?s=/SuperStatistical/superDetail' , 'no'] + content: ['admin.php?s=/SuperStatistical/superDetail' + params , 'no'] }); }); //搜索功能 diff --git a/Application/Admin/View/SuperStatistical/lists.html b/Application/Admin/View/SuperStatistical/lists.html index 7d3bf6524..d5fa7b0e0 100644 --- a/Application/Admin/View/SuperStatistical/lists.html +++ b/Application/Admin/View/SuperStatistical/lists.html @@ -11,13 +11,35 @@ + +
@@ -25,7 +47,34 @@ +
+
+ +
+
+ +
+ + +
+
+
+ +
+ +
+ 搜索 +
+
@@ -68,4 +117,103 @@
+ + if(C('COLOR_STYLE')=='blue_color') echo ' + + '; + + + + + + + \ No newline at end of file diff --git a/Application/Admin/View/SuperStatistical/superDetail.html b/Application/Admin/View/SuperStatistical/superDetail.html index f868fed0b..50b94141b 100644 --- a/Application/Admin/View/SuperStatistical/superDetail.html +++ b/Application/Admin/View/SuperStatistical/superDetail.html @@ -76,6 +76,23 @@
+
+ +
+ + +
+
+
+ +
@@ -109,7 +126,7 @@ {$vo.device_number} {$vo.game_name} {$vo.pay_time|date='Y-m-d H:i:s',###} - {$super_money} + {$vo.pay_price} @@ -131,6 +148,22 @@
+ + if(C('COLOR_STYLE')=='blue_color') echo ' + + '; + + + + + +