From fcebed9a9d3ec793fe1d35670a00f937fe3055d8 Mon Sep 17 00:00:00 2001
From: "1163816051@qq.com" <1163816051@qq.com>
Date: Wed, 25 May 2022 17:44:01 +0800
Subject: [PATCH] =?UTF-8?q?admin=20store=20=E7=BB=9F=E8=AE=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Controllers/Store/StoreController.php | 13 ++++++--
app/Admin/Metrics/Store/TotalMoney.php | 31 +++++++++++++++++++
app/Admin/Metrics/Store/TotalOrder.php | 31 +++++++++++++++++++
app/Admin/Metrics/Store/TotalStore.php | 31 +++++++++++++++++++
app/Admin/Metrics/Store/TotalUser.php | 31 +++++++++++++++++++
database/seeders/AgentSeeder.php | 2 +-
resources/lang/zh_CN/store.php | 1 +
7 files changed, 136 insertions(+), 4 deletions(-)
create mode 100644 app/Admin/Metrics/Store/TotalMoney.php
create mode 100644 app/Admin/Metrics/Store/TotalOrder.php
create mode 100644 app/Admin/Metrics/Store/TotalStore.php
create mode 100644 app/Admin/Metrics/Store/TotalUser.php
diff --git a/app/Admin/Controllers/Store/StoreController.php b/app/Admin/Controllers/Store/StoreController.php
index a1e3cf19..5e98549d 100644
--- a/app/Admin/Controllers/Store/StoreController.php
+++ b/app/Admin/Controllers/Store/StoreController.php
@@ -8,15 +8,22 @@ use Dcat\Admin\Http\Controllers\AdminController;
use Carbon\Carbon;
use Illuminate\Support\Facades\DB;
use App\Models\Admin\Administrator;
-use Dcat\Admin\Layout\Row;
use Dcat\Admin\Widgets\{Box, Tab, Card};
-use Dcat\Admin\Layout\Content;
+use Dcat\Admin\Layout\{Content, Row};
+use App\Admin\Metrics\Store\{TotalStore, TotalUser, TotalOrder, TotalMoney};
class StoreController extends AdminController
{
public function info(Content $content)
{
- return $content->title('总览');
+ $row = new Row();
+ $row->column(3, new TotalStore());
+ $row->column(3, new TotalUser());
+ $row->column(3, new TotalOrder());
+ $row->column(3, new TotalMoney());
+ return $content
+ ->title('总览')
+ ->body($row);
}
public function list()
diff --git a/app/Admin/Metrics/Store/TotalMoney.php b/app/Admin/Metrics/Store/TotalMoney.php
new file mode 100644
index 00000000..fd3cb336
--- /dev/null
+++ b/app/Admin/Metrics/Store/TotalMoney.php
@@ -0,0 +1,31 @@
+title('营业额');
+ $this->subTitle('订单营业额');
+
+ $this->withContent(Order::whereNotNull('store_id')->where('status', Order::STATUS_COMPLETED)->sum('total_amount'));
+ }
+
+ public function withContent($content)
+ {
+ return $this->content(
+ <<
+
{$content}
+
+ HTML
+ );
+ }
+
+}
diff --git a/app/Admin/Metrics/Store/TotalOrder.php b/app/Admin/Metrics/Store/TotalOrder.php
new file mode 100644
index 00000000..386bcb8b
--- /dev/null
+++ b/app/Admin/Metrics/Store/TotalOrder.php
@@ -0,0 +1,31 @@
+title('订单');
+ $this->subTitle('订单总数');
+
+ $this->withContent(Order::whereNotNull('store_id')->where('status', Order::STATUS_COMPLETED)->count());
+ }
+
+ public function withContent($content)
+ {
+ return $this->content(
+ <<
+ {$content}
+
+ HTML
+ );
+ }
+
+}
diff --git a/app/Admin/Metrics/Store/TotalStore.php b/app/Admin/Metrics/Store/TotalStore.php
new file mode 100644
index 00000000..f44c415e
--- /dev/null
+++ b/app/Admin/Metrics/Store/TotalStore.php
@@ -0,0 +1,31 @@
+title('店铺');
+ $this->subTitle('店铺总数');
+
+ $this->withContent(Store::effective()->count());
+ }
+
+ public function withContent($content)
+ {
+ return $this->content(
+ <<
+ {$content}
+
+ HTML
+ );
+ }
+
+}
diff --git a/app/Admin/Metrics/Store/TotalUser.php b/app/Admin/Metrics/Store/TotalUser.php
new file mode 100644
index 00000000..69361868
--- /dev/null
+++ b/app/Admin/Metrics/Store/TotalUser.php
@@ -0,0 +1,31 @@
+title('员工');
+ $this->subTitle('员工总数');
+
+ $this->withContent(UserInfo::where('is_company', 1)->count());
+ }
+
+ public function withContent($content)
+ {
+ return $this->content(
+ <<
+ {$content}
+
+ HTML
+ );
+ }
+
+}
diff --git a/database/seeders/AgentSeeder.php b/database/seeders/AgentSeeder.php
index 12f857bd..a2b0289d 100644
--- a/database/seeders/AgentSeeder.php
+++ b/database/seeders/AgentSeeder.php
@@ -20,7 +20,7 @@ class AgentSeeder extends Seeder
['name' => '市级代理', 'slug' => 'agent', 'growth_value' => 80000, 'ratio' => 50, 'sort' => 2, 'created_at' => $time, 'updated_at' => $time],
['name' => '区级代理', 'slug' => 'agent', 'growth_value' => 70000, 'ratio' => 40, 'sort' => 3, 'created_at' => $time, 'updated_at' => $time],
['name' => '金级爱好者', 'slug' => 'favoite', 'growth_value' => 50000, 'ratio' => 30, 'sort' => 4, 'created_at' => $time, 'updated_at' => $time],
- ['name' => '银级爱好者', 'slug' => 'favoite', 'growth_value' => 50000, 'ratio' => 20, 'sort' => 5, 'created_at' => $time, 'updated_at' => $time],
+ ['name' => '银级爱好者', 'slug' => 'favoite', 'growth_value' => 20000, 'ratio' => 20, 'sort' => 5, 'created_at' => $time, 'updated_at' => $time],
['name' => '铜级爱好者', 'slug' => 'favoite', 'growth_value' => 5000, 'ratio' => 10, 'sort' => 6, 'created_at' => $time, 'updated_at' => $time],
];
Agent::insert($list);
diff --git a/resources/lang/zh_CN/store.php b/resources/lang/zh_CN/store.php
index ad8c5a05..5c4c29cb 100644
--- a/resources/lang/zh_CN/store.php
+++ b/resources/lang/zh_CN/store.php
@@ -4,6 +4,7 @@ return [
'labels' => [
'Store' => '信息管理',
'store' => '信息管理',
+ 'info' => '总揽'
],
'fields' => [
'title' => '名称',