diff --git a/app/Admin/Controllers/HomeController.php b/app/Admin/Controllers/HomeController.php index 48a0d9b..f61d503 100644 --- a/app/Admin/Controllers/HomeController.php +++ b/app/Admin/Controllers/HomeController.php @@ -3,6 +3,8 @@ namespace App\Admin\Controllers; use App\Http\Controllers\Controller; +use App\Models\Area; +use App\Models\AreaCode; use Encore\Admin\Auth\Permission; use Encore\Admin\Facades\Admin; use Encore\Admin\Layout\Column; @@ -33,8 +35,9 @@ class HomeController extends Controller $admin = Admin::user(); if ($admin->id == 1) { $this->getUserData(); - $this->getUserStockData(); - $this->getUserStockOrderData(); + $this->getAreaData(); +// $this->getUserStockData(); +// $this->getUserStockOrderData(); } else { $this->content->row($this->setDivider('您没有权限查看数据')); } @@ -58,30 +61,6 @@ class HomeController extends Controller 'color' => 'blue', 'count' => User::count() ], - 'ty' => [ - 'name' => '月卡', - 'color' => 'green', - 'count' => User::query() - ->whereHas('identities', function ($q) { - $q->where('id', 2); - })->count() - ], - 'jk' => [ - 'name' => '季卡用户数', - 'color' => 'red', - 'count' => User::query() - ->whereHas('identities', function ($q) { - $q->where('id', 3); - })->count() - ], - 'nk' => [ - 'name' => '年卡用户数', - 'color' => 'yellow', - 'count' => User::query() - ->whereHas('identities', function ($q) { - $q->where('id', 4); - })->count(), - ], ]; $this->content->row(function (Row $row) use ($users) { @@ -153,6 +132,117 @@ class HomeController extends Controller return $this->content; } + /** + * Notes: 区域数据 + * + * @Author: 玄尘 + * @Date: 2023/1/28 11:26 + * @return mixed + */ + public function getAreaData() + { + $this->content->row($this->setDivider('提货码')); + $areas = [ + 'all' => [ + 'name' => '区域总数', + 'color' => 'blue', + 'link' => '/admin/areas', + 'count' => Area::count() + ], + 'stock' => [ + 'name' => '提货码总数', + 'color' => 'green', + 'link' => '/admin/areas', + 'count' => Area::sum('stock') + ], + 'release' => [ + 'name' => '提货码释放总数', + 'color' => 'green', + 'link' => '/admin/areas_codes', + 'count' => AreaCode::count() + ], + 'get' => [ + 'name' => '提货码领取总数', + 'color' => 'green', + 'link' => '/admin/areas_codes', + 'count' => AreaCode::whereNotNull('user_id')->count() + ], + 'use' => [ + 'name' => '提货码兑换总数', + 'color' => 'green', + 'link' => '/admin/areas_codes?status='.AreaCode::STATUS_USED, + 'count' => AreaCode::whereNotNull('user_id')->where('status', AreaCode::STATUS_USED)->count() + ], + 'sign' => [ + 'name' => '提货码核销总数', + 'color' => 'green', + 'link' => '/admin/areas_codes?status='.AreaCode::STATUS_SIGN, + 'count' => AreaCode::whereNotNull('user_id')->where('status', AreaCode::STATUS_SIGN)->count() + ], + ]; + + $this->content->row(function (Row $row) use ($areas) { + foreach ($areas as $area) { + $row->column(2, function (Column $column) use ($area) { + $column->append(new InfoBox( + $area['name'], + 'goods', + $area['color'], + $area['link'], + $area['count'], + )); + + }); + } + }); + + return $this->content; + } + + public function getUserFreeData() + { + $this->content->row($this->setDivider('会员水库存数')); + + $all = UserStock::query()->sum('stock'); + $holds = UserStock::query()->sum('hold'); + $sy = bcsub($all, $holds); + + $users = [ + 'all' => [ + 'name' => '总数', + 'color' => 'blue', + 'count' => UserStock::query()->sum('stock') + ], + 'stock' => [ + 'name' => '已提货数', + 'color' => 'green', + 'count' => UserStock::query()->sum('hold') + ], + 'sy' => [ + 'name' => '待提货数', + 'color' => 'green', + 'count' => $sy + ], + ]; + + $this->content->row(function (Row $row) use ($users) { + foreach ($users as $user) { + $row->column(2, function (Column $column) use ($user) { + $column->append(new InfoBox( + $user['name'], + 'goods', + $user['color'], + '/admin/stocks', + $user['count'], + )); + + }); + } + }); + + return $this->content; + } + /** * Notes: 提货订单数量 *