<?php namespace app\admin\controller; use app\common\controller\Backend; use think\Config; use think\Db; /** * 控制台 * * @icon fa fa-dashboard * @remark 用于展示当前系统中的统计数据、统计报表及重要实时数据 */ class Dashboard extends Backend { /** * 查看 */ public function index() { $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'); $status = config('verify.status'); //查询订单待发货数 $delivery = $this->orderNumber(['status'=>$status[2]]); //待退换货订单数 $return_flag = $this->orderNumber(['status'=>$status[6]]); //待退款订单数 $refund_flag = $this->orderNumber(['status'=>$status[3]]); //今日销售额 $today_sales = Db::name('order')->where(['status'=>['not in',[$status[0],$status[1],$status[4]]]])->whereTime('paytime','today')->useSoftDelete('deletetime')->sum('total_price'); //今日订单数 $today_order = Db::name('order')->whereTime('createtime','today')->useSoftDelete('deletetime')->count(); //今日下单人数 $today_person_order = Db::name('order')->where(['status'=>['>=',$status[2]]])->whereTime('paytime','today')->useSoftDelete('deletetime')->group('uid')->count(); //今日访客数 $type = config('verify.browse_type'); $today_person_browse = Db::name('statistics')->where(['type'=>$type[0]])->whereTime('createtime','day')->group('uid')->count(); //今日商品浏览量 $today_goods_browser = Db::name('statistics')->where(['type'=>$type[1]])->whereTime('createtime','day')->count(); //今日商品收藏量 $today_goods_collection = Db::name('statistics')->where(['type'=>$type[2]])->whereTime('createtime','day')->count(); $this->view->assign([ 'totaluser' => 35200, 'totalviews' => 219390, 'totalorder' => 1000, 'totalorderamount' => 174800, 'todayuserlogin' => 321, 'todayusersignup' => 430, 'todayorder' => 2324, 'unsettleorder' => 132, 'sevendnu' => '80%', 'sevendau' => '32%', 'paylist' => $paylist, 'createlist' => $createlist, 'addonversion' => $addonVersion, 'uploadmode' => $uploadmode, 'delivery' => $delivery,//待发货数 'return_flag' => $return_flag,//待退换货订单数 'refund_flag' => $refund_flag,//待退款订单数 'today_sales' => number_format($today_sales,'2'),//今日销售额 'today_order' => $today_order,//今日订单数 'today_person_order' => $today_person_order,//今日下单人数 'today_person_browse' => $today_person_browse??'0',//今日访客数 'today_goods_browser' => $today_goods_browser??'0',//今日商品浏览量 'today_goods_collection' => $today_goods_collection??'0',//今日商品收藏量 ]); return $this->view->fetch(); } public function orderNumber($where){ $count = Db::name('order') ->where($where) ->useSoftDelete('deletetime') ->count(); return $count; } }