This commit is contained in:
2023-01-28 14:25:27 +08:00
parent 7861309d83
commit e17e9dc5ad

View File

@@ -3,6 +3,8 @@
namespace App\Admin\Controllers; namespace App\Admin\Controllers;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\Area;
use App\Models\AreaCode;
use Encore\Admin\Auth\Permission; use Encore\Admin\Auth\Permission;
use Encore\Admin\Facades\Admin; use Encore\Admin\Facades\Admin;
use Encore\Admin\Layout\Column; use Encore\Admin\Layout\Column;
@@ -33,8 +35,9 @@ class HomeController extends Controller
$admin = Admin::user(); $admin = Admin::user();
if ($admin->id == 1) { if ($admin->id == 1) {
$this->getUserData(); $this->getUserData();
$this->getUserStockData(); $this->getAreaData();
$this->getUserStockOrderData(); // $this->getUserStockData();
// $this->getUserStockOrderData();
} else { } else {
$this->content->row($this->setDivider('您没有权限查看数据')); $this->content->row($this->setDivider('您没有权限查看数据'));
} }
@@ -58,30 +61,6 @@ class HomeController extends Controller
'color' => 'blue', 'color' => 'blue',
'count' => User::count() '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) { $this->content->row(function (Row $row) use ($users) {
@@ -153,6 +132,117 @@ class HomeController extends Controller
return $this->content; 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: 提货订单数量 * Notes: 提货订单数量
* *