From f2c8986cd746ba8be8f2e57d1ee4f4abbab12990 Mon Sep 17 00:00:00 2001 From: chenxiaojun <956334972@qq.com> Date: Mon, 25 Nov 2019 11:41:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E8=84=9A=E6=9C=AC->=E7=8E=A9?= =?UTF-8?q?=E5=AE=B6=E8=A7=92=E8=89=B2=E5=85=85=E5=80=BC=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/Controller/AutoController.class.php | 58 ++++++++++++++----- 1 file changed, 43 insertions(+), 15 deletions(-) diff --git a/Application/Admin/Controller/AutoController.class.php b/Application/Admin/Controller/AutoController.class.php index b442ad320..272885e65 100644 --- a/Application/Admin/Controller/AutoController.class.php +++ b/Application/Admin/Controller/AutoController.class.php @@ -894,27 +894,55 @@ public function auto_rrdae(){ public function userPlayDataCount() { $time = strtotime(date('Y-m-d 00:00:00', time() - (3600 * 24))); - $spendMap['pay_status'] = 1; - $spendMap['pay_game_status'] = 1; - $spendMap['game_player_id'] = ['gt', 0]; - $spendMap['pay_time'] = ['between', [$time, strtotime(date('Y-m-d 23:59:59', $time))]]; + $res = M('user_play_data_count', 'tab_')->where(array('create_time' => $time))->find(); + if (empty($res)) { + $spendMap['pay_status'] = 1; + $spendMap['pay_game_status'] = 1; + $spendMap['game_player_id'] = ['gt', 0]; + $spendMap['pay_time'] = ['between', [$time, strtotime(date('Y-m-d 23:59:59', $time))]]; + + $this->userPlayDataCountByMap($spendMap); + } + } + + //根据时间统计玩家充值--初始 + public function userPlayDataCountInitial() + { + $res = M('user_play_data_count', 'tab_')->order('id asc')->find(); + if (empty($res)) { + $time = strtotime(date('Y-m-d 00:00:00', time())); + $spendMap['pay_status'] = 1; + $spendMap['pay_game_status'] = 1; + $spendMap['game_player_id'] = ['gt', 0]; + $spendMap['pay_time'] = ['lt', $time]; + + $this->userPlayDataCountByMap($spendMap); + echo '初始化成功'; + } else { + echo '表存在记录,无法初始化'; + } + } + private function userPlayDataCountByMap($map) + { $field = 'FROM_UNIXTIME(pay_time, "%Y-%m-%d") as day,game_id,server_id,game_player_id,sum(pay_amount) as recharge_cost,count(id) as recharge_count'; $spendCostData = M('spend', 'tab_')->field($field) - ->where($spendMap) + ->where($map) ->group('day,game_player_id,server_id,game_id') ->select(); - $data = []; - foreach ($spendCostData as $list) { - $save['game_id'] = $list['game_id']; - $save['server_id'] = $list['server_id']; - $save['role_id'] = $list['game_player_id']; - $save['recharge_cost'] = $list['recharge_cost']; - $save['recharge_count'] = $list['recharge_count']; - $save['create_time'] = strtotime($list['day']); - $data[] = $save; + if (!empty($spendCostData)) { + $data = []; + foreach ($spendCostData as $list) { + $save['game_id'] = $list['game_id']; + $save['server_id'] = $list['server_id']; + $save['role_id'] = $list['game_player_id']; + $save['recharge_cost'] = $list['recharge_cost']; + $save['recharge_count'] = $list['recharge_count']; + $save['create_time'] = strtotime($list['day']); + $data[] = $save; + } + M('user_play_data_count', 'tab_')->addAll($data); } - M('user_play_data_count', 'tab_')->addAll($data); } }