Dashboard.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <?php
  2. namespace app\admin\controller;
  3. use app\common\controller\Backend;
  4. use app\common\model\UserRechargeLog;
  5. use think\Config;
  6. use think\Db;
  7. /**
  8. * 控制台
  9. *
  10. * @icon fa fa-dashboard
  11. * @remark 用于展示当前系统中的统计数据、统计报表及重要实时数据
  12. */
  13. class Dashboard extends Backend
  14. {
  15. //首页统计页
  16. public function index(){
  17. $todaystatime = strtotime(date('Y-m-d'));
  18. $todayendtime = $todaystatime + 86399;
  19. //今日抽奖总产出(钻石总数)、
  20. //开奖获得礼物的总钻石价值
  21. $egg_do_gift_price = Db::name('egg_do')->where('createtime','BETWEEN',[$todaystatime,$todayendtime])->sum('price');
  22. //房间数(在线/所有房间数)、
  23. $party_number_online = Db::name('party')->where('is_online',1)->count();
  24. $party_number = Db::name('party')->count();
  25. //app用户(今日/总注册人数/在线人数)、
  26. $register_num_today = Db::name('user')->where('createtime','BETWEEN',[$todaystatime,$todayendtime])->count();
  27. $register_num = Db::name('user')->count();
  28. $user_online = Db::name('user')->where('is_online',1)->count();
  29. //充值(总/今日充值数量、今日待支付)、
  30. $recharge = Db::name('rechar_order')->where('status',1)->sum('money');
  31. $recharge_today = Db::name('rechar_order')->where('createtime','BETWEEN',[$todaystatime,$todayendtime])->where('status',1)->sum('money');
  32. $recharge_today_wait = Db::name('rechar_order')->where('createtime','BETWEEN',[$todaystatime,$todayendtime])->where('status',0)->sum('money');
  33. //平台总资产余额、
  34. $allmoney = Db::name('user')->sum('money');
  35. //钻石(平台总数量/今日充值数量))
  36. $alljewel = Db::name('user')->sum('jewel');
  37. $recharge_money_today = Db::name('rechar_order')->where('createtime','BETWEEN',[$todaystatime,$todayendtime])->where('status',1)->sum('jewel');
  38. //
  39. $this->assign('egg_do_gift_price',$egg_do_gift_price);
  40. $this->assign('party_number_online',$party_number_online);
  41. $this->assign('party_number',$party_number);
  42. $this->assign('register_num_today',$register_num_today);
  43. $this->assign('register_num',$register_num);
  44. $this->assign('user_online',$user_online);
  45. $this->assign('recharge',$recharge);
  46. $this->assign('recharge_today',$recharge_today);
  47. $this->assign('recharge_today_wait',$recharge_today_wait);
  48. $this->assign('allmoney',$allmoney);
  49. $this->assign('alljewel',$alljewel);
  50. $this->assign('recharge_money_today',$recharge_money_today);
  51. return $this->view->fetch();
  52. }
  53. /**
  54. * 查看
  55. */
  56. public function old_index()
  57. {
  58. $todayRechargeMoney = UserRechargeLog::whereTime('createtime', 'today')->sum('money');
  59. $yesterdayRechargeMoney = UserRechargeLog::whereTime('createtime', 'yesterday')->sum('money');
  60. $monthRechargeMoney = UserRechargeLog::whereTime('createtime', 'month')->sum('money');
  61. $lastMonthRechargeMoney = UserRechargeLog::whereTime('createtime', 'last month')->sum('money');
  62. $this->view->assign([
  63. 'todayRechargeMoney' => $todayRechargeMoney,
  64. 'yesterdayRechargeMoney' => $yesterdayRechargeMoney,
  65. 'monthRechargeMoney' => $monthRechargeMoney,
  66. 'lastMonthRechargeMoney' => $lastMonthRechargeMoney,
  67. ]);
  68. return $this->view->fetch();
  69. }
  70. /**
  71. * 查看
  72. */
  73. public function oindex()
  74. {
  75. $seventtime = \fast\Date::unixtime('day', -7);
  76. $paylist = $createlist = [];
  77. for ($i = 0; $i < 7; $i++) {
  78. $day = date("Y-m-d", $seventtime + ($i * 86400));
  79. $createlist[$day] = mt_rand(20, 200);
  80. $paylist[$day] = mt_rand(1, mt_rand(1, $createlist[$day]));
  81. }
  82. $hooks = config('addons.hooks');
  83. $uploadmode = isset($hooks['upload_config_init']) && $hooks['upload_config_init'] ? implode(',', $hooks['upload_config_init']) : 'local';
  84. $addonComposerCfg = ROOT_PATH . '/vendor/karsonzhang/fastadmin-addons/composer.json';
  85. Config::parse($addonComposerCfg, "json", "composer");
  86. $config = Config::get("composer");
  87. $addonVersion = isset($config['version']) ? $config['version'] : __('Unknown');
  88. // 获取订单信息
  89. $orderInfo = \app\common\model\DispatchOrder::where(["status" => ["gt", 0]])->select();
  90. $orderCount = 0;
  91. $orderamount = 0;
  92. $orderTodaylogin = 0;
  93. if ($orderInfo) foreach ($orderInfo as $k => $v) {
  94. $orderCount++;
  95. $orderamount = $orderamount + $v["price"] * $v["num"];
  96. if ($v["createtime"] > strtotime(date("Y-m-d 00:00:00"))) {
  97. $orderTodaylogin++;
  98. }
  99. }
  100. // 获取用户信息
  101. $userInfo = \app\common\model\User::where(["status" => "normal"])->select();
  102. $userCount = 0;
  103. $userTodaysignup = 0;
  104. $userTodaylogin = 0;
  105. if ($userInfo) foreach ($userInfo as $k => $v) {
  106. $userCount++;
  107. if ($v["createtime"] > strtotime(date("Y-m-d 00:00:00"))) {
  108. $userTodaylogin++;
  109. }
  110. if ($v["logintime"] > strtotime(date("Y-m-d 00:00:00"))) {
  111. $userTodaylogin++;
  112. }
  113. }
  114. $this->view->assign([
  115. 'totaluser' => $userCount,
  116. 'totalviews' => 219390,
  117. 'totalorder' => $orderCount,
  118. 'totalorderamount' => $orderamount,
  119. 'todayuserlogin' => $userTodaylogin,
  120. 'todayusersignup' => $userTodaysignup,
  121. 'todayorder' => $orderTodaylogin,
  122. 'unsettleorder' => 132,
  123. 'sevendnu' => '80%',
  124. 'sevendau' => '32%',
  125. 'paylist' => $paylist,
  126. 'createlist' => $createlist,
  127. 'addonversion' => $addonVersion,
  128. 'uploadmode' => $uploadmode
  129. ]);
  130. return $this->view->fetch();
  131. }
  132. }