Dashboard.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\model\order\StoreOrder;
  4. use app\admin\model\store\StoreProduct;
  5. use app\common\controller\Backend;
  6. use think\Config;
  7. use app\admin\model\Member;
  8. /**
  9. * 控制台
  10. *
  11. * @icon fa fa-dashboard
  12. * @remark 用于展示当前系统中的统计数据、统计报表及重要实时数据
  13. */
  14. class Dashboard extends Backend
  15. {
  16. /**
  17. * 查看
  18. */
  19. public function index()
  20. {
  21. $seventtime = \fast\Date::unixtime('day', -7);
  22. $paylist = $createlist = [];
  23. for ($i = 0; $i <= 7; $i++)
  24. {
  25. $day = date("Y-m-d", $seventtime + ($i * 86400));
  26. $where1['add_time'] = ['between', [strtotime($day.' 00:00:00'), strtotime($day.' 23:59:59')]];
  27. $where1['status']=array('in',['1','2','3','0','9']);
  28. $get_num_xiadan=StoreOrder::where($where1)->field('count(*) as num')->find();
  29. $where1['status']=array('in',['1','2','3']);
  30. $get_num_wancheng=StoreOrder::where($where1)->field('count(*) as num')->find();
  31. $createlist[$day] = $get_num_xiadan['num'];
  32. $paylist[$day] =$get_num_wancheng['num'];
  33. }
  34. $hooks = config('addons.hooks');
  35. $uploadmode = isset($hooks['upload_config_init']) && $hooks['upload_config_init'] ? implode(',', $hooks['upload_config_init']) : 'local';
  36. $addonComposerCfg = ROOT_PATH . '/vendor/karsonzhang/fastadmin-addons/composer.json';
  37. Config::parse($addonComposerCfg, "json", "composer");
  38. $config = Config::get("composer");
  39. $addonVersion = isset($config['version']) ? $config['version'] : __('Unknown');
  40. $get_member_count=Member::field('count(*) as num')->find();
  41. $order_where['status']=array('in',['3','4']);
  42. $get_order_count=StoreOrder::where($order_where)->field('count(*) as num,sum(pay_price) as price')->find();
  43. $where_member1['create_time']= ['between', [mktime(0,0,0,date('m'),date('d'),date('Y')), time()]];
  44. $get_member_count=Member::where($where_member1)->field('count(*) as num')->find();
  45. $where1['add_time'] = ['between', [mktime(0,0,0,date('m'),date('d'),date('Y')), time()]];
  46. $where1['status']=array('in',['1','2','3']);
  47. $get_order1=StoreOrder::where($where1)->field('count(*) as num')->find();
  48. $where2['add_time'] = ['between', [mktime(0,0,0,date('m'),date('d'),date('Y')), time()]];
  49. $where2['status']=array('in',['1']);
  50. $get_order2=StoreOrder::where($where2)->field('count(*) as num')->find();
  51. $get_store=StoreProduct::where('is_del','0')->where('is_show','1')->field('count(*) as num')->find();
  52. $this->view->assign([
  53. 'totaluser' => $get_member_count['num'],
  54. 'totalviews' => '111',
  55. 'totalorder' => $get_order_count['num'],
  56. 'totalorderamount' => $get_order_count['price'],
  57. // 'todayuserlogin' => 430,
  58. 'todayusersignup' => $get_member_count['num'],
  59. 'todayorder' => $get_order1['num'],
  60. 'unsettleorder' => $get_order2['num'],
  61. 'sevendnu' => '80%',
  62. 'sevendau' => '32%',
  63. 'paylist' => $paylist,
  64. 'createlist' => $createlist,
  65. 'addonversion' => $addonVersion,
  66. 'uploadmode' => $uploadmode,
  67. 'product_num' =>$get_store['num']
  68. ]);
  69. return $this->view->fetch();
  70. }
  71. }