123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- <?php
- namespace app\admin\controller;
- use app\common\controller\Backend;
- use app\common\model\UserRechargeLog;
- use think\Config;
- use think\Db;
- /**
- * 控制台
- *
- * @icon fa fa-dashboard
- * @remark 用于展示当前系统中的统计数据、统计报表及重要实时数据
- */
- class Dashboard extends Backend
- {
- //首页统计页
- public function index(){
- //今日
- $todaystatime = strtotime(date('Y-m-d'));
- $todayendtime = $todaystatime + 86399;
- //昨日
- $yestodaystatime = $todaystatime - 86400;
- $yestodayendtime = $todaystatime - 1;
- //今日抽奖总产出(钻石总数)、
- //开奖获得礼物的总钻石价值
- $egg_do_gift_price = Db::name('egg_do')->where('createtime','BETWEEN',[$todaystatime,$todayendtime])->sum('price');
- //房间数(在线/所有房间数)、
- $party_number_online = Db::name('party')->where('is_online',1)->count();
- $party_number = Db::name('party')->count();
- //app用户(今日/总注册人数/在线人数)、
- $register_num_today = Db::name('user')->where('createtime','BETWEEN',[$todaystatime,$todayendtime])->count();
- $register_num = Db::name('user')->count();
- $user_online = Db::name('user')->where('is_online',1)->count();
- //充值(总/今日充值金额、今日待支付)、昨日支付
- $recharge = Db::name('rechar_order')->where('status',1)->sum('money');
- $recharge_today = Db::name('rechar_order')->where('createtime','BETWEEN',[$todaystatime,$todayendtime])->where('status',1)->sum('money');
- $recharge_today_wait = Db::name('rechar_order')->where('createtime','BETWEEN',[$todaystatime,$todayendtime])->where('status',0)->sum('money');
- $recharge_yestoday = Db::name('rechar_order')->where('createtime','BETWEEN',[$yestodaystatime,$yestodayendtime])->where('status',1)->sum('money');
- //平台总资产余额、
- $allmoney = Db::name('user')->sum('money');
- //钻石(平台总数量/今日充值数量))
- $alljewel = Db::name('user')->sum('jewel');
- $recharge_money_today = Db::name('rechar_order')->where('createtime','BETWEEN',[$todaystatime,$todayendtime])->where('status',1)->sum('jewel');
- //
- $this->assign('egg_do_gift_price',$egg_do_gift_price);
- $this->assign('party_number_online',$party_number_online);
- $this->assign('party_number',$party_number);
- $this->assign('register_num_today',$register_num_today);
- $this->assign('register_num',$register_num);
- $this->assign('user_online',$user_online);
- $this->assign('recharge',$recharge);
- $this->assign('recharge_today',$recharge_today);
- $this->assign('recharge_today_wait',$recharge_today_wait);
- $this->assign('recharge_yestoday',$recharge_yestoday);
- $this->assign('allmoney',$allmoney);
- $this->assign('alljewel',$alljewel);
- $this->assign('recharge_money_today',$recharge_money_today);
- return $this->view->fetch();
- }
- /**
- * 查看
- */
- public function old_index()
- {
- $todayRechargeMoney = UserRechargeLog::whereTime('createtime', 'today')->sum('money');
- $yesterdayRechargeMoney = UserRechargeLog::whereTime('createtime', 'yesterday')->sum('money');
- $monthRechargeMoney = UserRechargeLog::whereTime('createtime', 'month')->sum('money');
- $lastMonthRechargeMoney = UserRechargeLog::whereTime('createtime', 'last month')->sum('money');
- $this->view->assign([
- 'todayRechargeMoney' => $todayRechargeMoney,
- 'yesterdayRechargeMoney' => $yesterdayRechargeMoney,
- 'monthRechargeMoney' => $monthRechargeMoney,
- 'lastMonthRechargeMoney' => $lastMonthRechargeMoney,
- ]);
- return $this->view->fetch();
- }
- /**
- * 查看
- */
- public function oindex()
- {
- $seventtime = \fast\Date::unixtime('day', -7);
- $paylist = $createlist = [];
- for ($i = 0; $i < 7; $i++) {
- $day = date("Y-m-d", $seventtime + ($i * 86400));
- $createlist[$day] = mt_rand(20, 200);
- $paylist[$day] = mt_rand(1, mt_rand(1, $createlist[$day]));
- }
- $hooks = config('addons.hooks');
- $uploadmode = isset($hooks['upload_config_init']) && $hooks['upload_config_init'] ? implode(',', $hooks['upload_config_init']) : 'local';
- $addonComposerCfg = ROOT_PATH . '/vendor/karsonzhang/fastadmin-addons/composer.json';
- Config::parse($addonComposerCfg, "json", "composer");
- $config = Config::get("composer");
- $addonVersion = isset($config['version']) ? $config['version'] : __('Unknown');
- // 获取订单信息
- $orderInfo = \app\common\model\DispatchOrder::where(["status" => ["gt", 0]])->select();
- $orderCount = 0;
- $orderamount = 0;
- $orderTodaylogin = 0;
- if ($orderInfo) foreach ($orderInfo as $k => $v) {
- $orderCount++;
- $orderamount = $orderamount + $v["price"] * $v["num"];
- if ($v["createtime"] > strtotime(date("Y-m-d 00:00:00"))) {
- $orderTodaylogin++;
- }
- }
- // 获取用户信息
- $userInfo = \app\common\model\User::where(["status" => "normal"])->select();
- $userCount = 0;
- $userTodaysignup = 0;
- $userTodaylogin = 0;
- if ($userInfo) foreach ($userInfo as $k => $v) {
- $userCount++;
- if ($v["createtime"] > strtotime(date("Y-m-d 00:00:00"))) {
- $userTodaylogin++;
- }
- if ($v["logintime"] > strtotime(date("Y-m-d 00:00:00"))) {
- $userTodaylogin++;
- }
- }
- $this->view->assign([
- 'totaluser' => $userCount,
- 'totalviews' => 219390,
- 'totalorder' => $orderCount,
- 'totalorderamount' => $orderamount,
- 'todayuserlogin' => $userTodaylogin,
- 'todayusersignup' => $userTodaysignup,
- 'todayorder' => $orderTodaylogin,
- 'unsettleorder' => 132,
- 'sevendnu' => '80%',
- 'sevendau' => '32%',
- 'paylist' => $paylist,
- 'createlist' => $createlist,
- 'addonversion' => $addonVersion,
- 'uploadmode' => $uploadmode
- ]);
- return $this->view->fetch();
- }
- }
|