Dashboard.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. namespace app\admin\controller;
  3. use app\common\controller\Backend;
  4. use app\common\model\UserRechargeLog;
  5. use think\Config;
  6. /**
  7. * 控制台
  8. *
  9. * @icon fa fa-dashboard
  10. * @remark 用于展示当前系统中的统计数据、统计报表及重要实时数据
  11. */
  12. class Dashboard extends Backend
  13. {
  14. /**
  15. * 查看
  16. */
  17. public function index()
  18. {
  19. $todayRechargeMoney = UserRechargeLog::whereTime('createtime', 'today')->sum('money');
  20. $yesterdayRechargeMoney = UserRechargeLog::whereTime('createtime', 'yesterday')->sum('money');
  21. $monthRechargeMoney = UserRechargeLog::whereTime('createtime', 'month')->sum('money');
  22. $lastMonthRechargeMoney = UserRechargeLog::whereTime('createtime', 'last month')->sum('money');
  23. $this->view->assign([
  24. 'todayRechargeMoney' => $todayRechargeMoney,
  25. 'yesterdayRechargeMoney' => $yesterdayRechargeMoney,
  26. 'monthRechargeMoney' => $monthRechargeMoney,
  27. 'lastMonthRechargeMoney' => $lastMonthRechargeMoney,
  28. ]);
  29. return $this->view->fetch();
  30. }
  31. /**
  32. * 查看
  33. */
  34. public function oindex()
  35. {
  36. $seventtime = \fast\Date::unixtime('day', -7);
  37. $paylist = $createlist = [];
  38. for ($i = 0; $i < 7; $i++) {
  39. $day = date("Y-m-d", $seventtime + ($i * 86400));
  40. $createlist[$day] = mt_rand(20, 200);
  41. $paylist[$day] = mt_rand(1, mt_rand(1, $createlist[$day]));
  42. }
  43. $hooks = config('addons.hooks');
  44. $uploadmode = isset($hooks['upload_config_init']) && $hooks['upload_config_init'] ? implode(',', $hooks['upload_config_init']) : 'local';
  45. $addonComposerCfg = ROOT_PATH . '/vendor/karsonzhang/fastadmin-addons/composer.json';
  46. Config::parse($addonComposerCfg, "json", "composer");
  47. $config = Config::get("composer");
  48. $addonVersion = isset($config['version']) ? $config['version'] : __('Unknown');
  49. // 获取订单信息
  50. $orderInfo = \app\common\model\DispatchOrder::where(["status" => ["gt", 0]])->select();
  51. $orderCount = 0;
  52. $orderamount = 0;
  53. $orderTodaylogin = 0;
  54. if ($orderInfo) foreach ($orderInfo as $k => $v) {
  55. $orderCount++;
  56. $orderamount = $orderamount + $v["price"] * $v["num"];
  57. if ($v["createtime"] > strtotime(date("Y-m-d 00:00:00"))) {
  58. $orderTodaylogin++;
  59. }
  60. }
  61. // 获取用户信息
  62. $userInfo = \app\common\model\User::where(["status" => "normal"])->select();
  63. $userCount = 0;
  64. $userTodaysignup = 0;
  65. $userTodaylogin = 0;
  66. if ($userInfo) foreach ($userInfo as $k => $v) {
  67. $userCount++;
  68. if ($v["createtime"] > strtotime(date("Y-m-d 00:00:00"))) {
  69. $userTodaylogin++;
  70. }
  71. if ($v["logintime"] > strtotime(date("Y-m-d 00:00:00"))) {
  72. $userTodaylogin++;
  73. }
  74. }
  75. $this->view->assign([
  76. 'totaluser' => $userCount,
  77. 'totalviews' => 219390,
  78. 'totalorder' => $orderCount,
  79. 'totalorderamount' => $orderamount,
  80. 'todayuserlogin' => $userTodaylogin,
  81. 'todayusersignup' => $userTodaysignup,
  82. 'todayorder' => $orderTodaylogin,
  83. 'unsettleorder' => 132,
  84. 'sevendnu' => '80%',
  85. 'sevendau' => '32%',
  86. 'paylist' => $paylist,
  87. 'createlist' => $createlist,
  88. 'addonversion' => $addonVersion,
  89. 'uploadmode' => $uploadmode
  90. ]);
  91. return $this->view->fetch();
  92. }
  93. }