From 3e2ab8f3a7ad7b93993895b420f7a10baca8f8d7 Mon Sep 17 00:00:00 2001
From: liangyuyan <1103300295@qq.com>
Date: Thu, 24 Sep 2020 16:48:12 +0800
Subject: [PATCH 1/8] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BB=9F=E8=AE=A1--?=
=?UTF-8?q?=E6=9B=B4=E6=8D=A2=E9=80=89=E6=8B=A9=E6=97=A5=E6=9C=9F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Controllers/v3/OrderReportController.php | 28 +++++++++++++++++--
app/Admin/Repositories/v3/OrderReport.php | 14 ++++++++++
2 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/app/Admin/Controllers/v3/OrderReportController.php b/app/Admin/Controllers/v3/OrderReportController.php
index 306dd23..b923d1d 100644
--- a/app/Admin/Controllers/v3/OrderReportController.php
+++ b/app/Admin/Controllers/v3/OrderReportController.php
@@ -23,7 +23,7 @@ class OrderReportController extends AdminController
$marketList = MarketModel::getMarketArray();
- $grid->combine('默认统计今天的数据【'.date('Y-m-d').'】', ['name', 'value'])->responsive()->help('如果未选择时间,则默认只统计当天的所有市场的数据,特殊:现存用户默认统计所有的数据');
+ $grid->combine('默认统计今天的数据', ['name', 'value'])->responsive()->help('如果未选择时间,则默认只统计当天的所有市场的数据,特殊:现存用户默认统计所有的数据');
$grid->column('name');
$grid->column('value');
@@ -33,8 +33,14 @@ class OrderReportController extends AdminController
$filter->panel();
$filter->equal('market_id','市场')->select($marketList);
- $filter->equal('start_time','开始时间')->date();
- $filter->equal('end_time','结束时间')->date();
+ // $filter->equal('start_time','开始时间')->date();
+ // $filter->equal('end_time','结束时间')->date();
+
+ $today = date('Y-m-d');
+ $monthBefore = date("Y-m-d",strtotime("-1 months",strtotime($today)));
+ $timeData = $this->periodDateArr($monthBefore,$today);
+
+ $filter->equal('day','日期')->select($timeData)->default($today);
});
// 每页1条
@@ -55,4 +61,20 @@ class OrderReportController extends AdminController
});
}
+ /**
+ * 获取一个时间段内的日期
+ */
+ public function periodDateArr($start_time,$end_time){
+ $start_time = strtotime($start_time);
+ $end_time = strtotime($end_time);
+ $i=0;
+ $arr = [];
+ while ($start_time<=$end_time){
+ $arr[date('Y-m-d',$start_time)]=date('Y年m月d日',$start_time);
+ $start_time = strtotime('+1 day',$start_time);
+ $i++;
+ }
+
+ return array_reverse($arr);
+ }
}
diff --git a/app/Admin/Repositories/v3/OrderReport.php b/app/Admin/Repositories/v3/OrderReport.php
index fb73c57..15b9333 100644
--- a/app/Admin/Repositories/v3/OrderReport.php
+++ b/app/Admin/Repositories/v3/OrderReport.php
@@ -34,6 +34,13 @@ class OrderReport extends EloquentRepository
$marketId = request()->input('market_id');
$startTime = request()->input('start_time');
$endTime = request()->input('end_time');
+
+ // 日期
+ $date = request()->input('day');
+ if(!empty($date)){
+ $startTime = $date;
+ $endTime = $date;
+ }
$orderMainOnline = OrderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5])->where('type',OrderMainModel::ORDER_TYPE_ONLINE);
$orderMainOffline = OrderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5])->where('type',OrderMainModel::ORDER_TYPE_OFFLINE);
@@ -99,6 +106,7 @@ class OrderReport extends EloquentRepository
}
if(empty($startTime) && empty($endTime)){
$time = date('Y-m-d',time());
+ $date = $time;
$todayStart = $time.' 00:00:00';
$todayEnd = $time.' 23:59:59';
@@ -122,6 +130,7 @@ class OrderReport extends EloquentRepository
$storeNewUserNewThree->where([['created_at','<=',strtotime($todayEnd)]]);
$storeNewUserNewFour->where([['created_at','<=',strtotime($todayEnd)]]);
}
+
// 订单总额
$orderReportOnline = $orderMainOnline->get()->toArray();
$orderReportOffline = $orderMainOffline->get()->toArray();
@@ -206,6 +215,11 @@ class OrderReport extends EloquentRepository
'key' => 'store_user_total_money',
'name' => '店铺用户每日首单补贴(元)',
'value' => $query['store_user_total_money'] + $query['store_user_total_new_money_zero'] + $query['store_user_total_new_money_one'] + $query['store_user_total_new_money_two'] + $query['store_user_total_new_money_three'] + $query['store_user_total_new_money_four']
+ ],
+ [
+ 'key' => 'day',
+ 'name' => '统计日期',
+ 'value' => $date
]
];
From 38e212e2f905509c2762209471df7d4c2dd6ec62 Mon Sep 17 00:00:00 2001
From: liangyuyan <1103300295@qq.com>
Date: Thu, 24 Sep 2020 16:56:35 +0800
Subject: [PATCH 2/8] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BB=9F=E8=AE=A1--?=
=?UTF-8?q?=E6=90=9C=E7=B4=A2=E9=80=89=E6=8B=A9=E6=97=A5=E6=9C=9F=E4=BD=BF?=
=?UTF-8?q?=E7=94=A8=E5=8E=9F=E6=9D=A5=E7=9A=84=E6=96=B9=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Admin/Controllers/v3/OrderReportController.php | 13 ++++++-------
app/Admin/Repositories/v3/OrderReport.php | 10 +++++-----
2 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/app/Admin/Controllers/v3/OrderReportController.php b/app/Admin/Controllers/v3/OrderReportController.php
index b923d1d..ae8807e 100644
--- a/app/Admin/Controllers/v3/OrderReportController.php
+++ b/app/Admin/Controllers/v3/OrderReportController.php
@@ -33,14 +33,13 @@ class OrderReportController extends AdminController
$filter->panel();
$filter->equal('market_id','市场')->select($marketList);
- // $filter->equal('start_time','开始时间')->date();
- // $filter->equal('end_time','结束时间')->date();
+ $filter->equal('start_time','开始时间')->date();
+ $filter->equal('end_time','结束时间')->date();
- $today = date('Y-m-d');
- $monthBefore = date("Y-m-d",strtotime("-1 months",strtotime($today)));
- $timeData = $this->periodDateArr($monthBefore,$today);
-
- $filter->equal('day','日期')->select($timeData)->default($today);
+ // $today = date('Y-m-d');
+ // $monthBefore = date("Y-m-d",strtotime("-1 months",strtotime($today)));
+ // $timeData = $this->periodDateArr($monthBefore,$today);
+ // $filter->equal('day','日期')->select($timeData)->default($today);
});
// 每页1条
diff --git a/app/Admin/Repositories/v3/OrderReport.php b/app/Admin/Repositories/v3/OrderReport.php
index 15b9333..1c2dbe5 100644
--- a/app/Admin/Repositories/v3/OrderReport.php
+++ b/app/Admin/Repositories/v3/OrderReport.php
@@ -36,11 +36,11 @@ class OrderReport extends EloquentRepository
$endTime = request()->input('end_time');
// 日期
- $date = request()->input('day');
- if(!empty($date)){
- $startTime = $date;
- $endTime = $date;
- }
+ // $date = request()->input('day');
+ // if(!empty($date)){
+ // $startTime = $date;
+ // $endTime = $date;
+ // }
$orderMainOnline = OrderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5])->where('type',OrderMainModel::ORDER_TYPE_ONLINE);
$orderMainOffline = OrderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5])->where('type',OrderMainModel::ORDER_TYPE_OFFLINE);
From aebb8b2d64bff3b0d748b6f3b4ef365accf171a8 Mon Sep 17 00:00:00 2001
From: liangyuyan <1103300295@qq.com>
Date: Thu, 24 Sep 2020 17:20:29 +0800
Subject: [PATCH 3/8] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BB=9F=E8=AE=A1--?=
=?UTF-8?q?=E6=97=A5=E6=9C=9F=E6=98=BE=E7=A4=BA=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Admin/Repositories/v3/OrderReport.php | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/app/Admin/Repositories/v3/OrderReport.php b/app/Admin/Repositories/v3/OrderReport.php
index 1c2dbe5..191ad2b 100644
--- a/app/Admin/Repositories/v3/OrderReport.php
+++ b/app/Admin/Repositories/v3/OrderReport.php
@@ -35,6 +35,7 @@ class OrderReport extends EloquentRepository
$startTime = request()->input('start_time');
$endTime = request()->input('end_time');
+ $time = date('Y-m-d',time());
// 日期
// $date = request()->input('day');
// if(!empty($date)){
@@ -77,8 +78,9 @@ class OrderReport extends EloquentRepository
$storeNewUserNewFour->whereIn('user_id',$userIdsArr)->where('user_type',5);
}
if($startTime){
+ $date = $startTime;
$startTime = $startTime.' 00:00:00';
-
+
$orderMainOnline->where([['created_at','>=',strtotime($startTime)]]);
$orderMainOffline->where([['created_at','>=',strtotime($startTime)]]);
@@ -89,10 +91,13 @@ class OrderReport extends EloquentRepository
$storeNewUserNewThree->where([['created_at','>=',strtotime($startTime)]]);
$storeNewUserNewFour->where([['created_at','>=',strtotime($startTime)]]);
// $newUser->where([['created_at','>=',strtotime($startTime)]]);
+ }else{
+ $date = '2020-06-01';
}
if($endTime){
+ $date = $date.' 至 '.$endTime;
$endTime = $endTime.' 23:59:59';
-
+
$orderMainOnline->where([['created_at','<=',strtotime($endTime)]]);
$orderMainOffline->where([['created_at','<=',strtotime($endTime)]]);
@@ -103,9 +108,11 @@ class OrderReport extends EloquentRepository
$storeNewUserNewThree->where([['created_at','<=',strtotime($endTime)]]);
$storeNewUserNewFour->where([['created_at','<=',strtotime($endTime)]]);
// $newUser->where([['created_at','<=',strtotime($endTime)]]);
+ }else{
+ $date .= ' 至 '.$time;
}
if(empty($startTime) && empty($endTime)){
- $time = date('Y-m-d',time());
+
$date = $time;
$todayStart = $time.' 00:00:00';
$todayEnd = $time.' 23:59:59';
From ed15e116f9b7ab3c7ac46308d73595f461f2a1b8 Mon Sep 17 00:00:00 2001
From: liangyuyan <1103300295@qq.com>
Date: Fri, 25 Sep 2020 10:15:19 +0800
Subject: [PATCH 4/8] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BB=9F=E8=AE=A1--?=
=?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8D=A1=E7=89=87?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Admin/Common/Common.php | 28 ++++
.../v3/OrderReportController copy.php | 97 ++++++++++++
.../Controllers/v3/OrderReportController.php | 15 +-
.../Examples/Order/OrderReportCard.php | 147 ++++++++++++++++++
app/Admin/Repositories/v3/OrderReport.php | 3 +
app/Admin/routes.php | 1 +
6 files changed, 287 insertions(+), 4 deletions(-)
create mode 100644 app/Admin/Common/Common.php
create mode 100644 app/Admin/Controllers/v3/OrderReportController copy.php
create mode 100644 app/Admin/Metrics/Examples/Order/OrderReportCard.php
diff --git a/app/Admin/Common/Common.php b/app/Admin/Common/Common.php
new file mode 100644
index 0000000..aa098af
--- /dev/null
+++ b/app/Admin/Common/Common.php
@@ -0,0 +1,28 @@
+header('报表')
+ ->description('订单统计')
+ ->body(function ($row) {
+ $row->column(3, new OrderReportCard());
+ $row->column(3, new OrderReportCard());
+ $row->column(3, new OrderReportCard());
+ $row->column(3, new OrderReportCard());
+ })
+ ->body($this->grid());
+ }
+
+ /**
+ * Make a grid builder.
+ *
+ * @return Grid
+ */
+ protected function grid()
+ {
+ return 123;
+ return Grid::make(new OrderReport(), function (Grid $grid) {
+
+ $marketList = MarketModel::getMarketArray();
+
+ $grid->combine('默认统计今天的数据', ['name', 'value'])->responsive()->help('如果未选择时间,则默认只统计当天的所有市场的数据,特殊:现存用户默认统计所有的数据');
+
+ $grid->column('name');
+ $grid->column('value');
+
+ $grid->filter(function (Grid\Filter $filter) use($marketList){
+ // 更改为 panel 布局
+ $filter->panel();
+
+ $filter->equal('market_id','市场')->select($marketList);
+ $filter->equal('start_time','开始时间')->date();
+ $filter->equal('end_time','结束时间')->date();
+
+ // $today = date('Y-m-d');
+ // $monthBefore = date("Y-m-d",strtotime("-1 months",strtotime($today)));
+ // $timeData = $this->periodDateArr($monthBefore,$today);
+ // $filter->equal('day','日期')->select($timeData)->default($today);
+ });
+
+ // 每页1条
+ $grid->paginate(10);
+ $grid->disableCreateButton();
+ $grid->disableBatchActions();
+ $grid->disableBatchDelete();
+
+ $grid->toolsWithOutline();
+
+ $grid->disableDeleteButton();
+ $grid->disableEditButton();
+ $grid->disableQuickEditButton();
+ $grid->disableViewButton();
+ $grid->disableActions();
+
+ $grid->disableRowSelector();
+ });
+ }
+
+ /**
+ * 获取一个时间段内的日期
+ */
+ public function periodDateArr($start_time,$end_time){
+ $start_time = strtotime($start_time);
+ $end_time = strtotime($end_time);
+ $i=0;
+ $arr = [];
+ while ($start_time<=$end_time){
+ $arr[date('Y-m-d',$start_time)]=date('Y年m月d日',$start_time);
+ $start_time = strtotime('+1 day',$start_time);
+ $i++;
+ }
+
+ return array_reverse($arr);
+ }
+}
diff --git a/app/Admin/Controllers/v3/OrderReportController.php b/app/Admin/Controllers/v3/OrderReportController.php
index ae8807e..7bb8336 100644
--- a/app/Admin/Controllers/v3/OrderReportController.php
+++ b/app/Admin/Controllers/v3/OrderReportController.php
@@ -6,12 +6,11 @@ use App\Admin\Repositories\v3\OrderReport;
use Dcat\Admin\Grid;
use Dcat\Admin\Controllers\AdminController;
use App\Models\v3\Market as MarketModel;
-use App\Admin\Metrics\Examples\Order\OrderReportCard;
use Dcat\Admin\Grid\Filter;
class OrderReportController extends AdminController
{
-
+ public static $searchTime = '';
/**
* Make a grid builder.
*
@@ -19,6 +18,7 @@ class OrderReportController extends AdminController
*/
protected function grid()
{
+
return Grid::make(new OrderReport(), function (Grid $grid) {
$marketList = MarketModel::getMarketArray();
@@ -28,7 +28,7 @@ class OrderReportController extends AdminController
$grid->column('name');
$grid->column('value');
- $grid->filter(function (Grid\Filter $filter) use($marketList){
+ $grid->filter(function (Filter $filter) use($marketList){
// 更改为 panel 布局
$filter->panel();
@@ -40,8 +40,15 @@ class OrderReportController extends AdminController
// $monthBefore = date("Y-m-d",strtotime("-1 months",strtotime($today)));
// $timeData = $this->periodDateArr($monthBefore,$today);
// $filter->equal('day','日期')->select($timeData)->default($today);
+
+ });
+ $grid->selector(function (Grid\Tools\Selector $selector) {
+ $selector->selectOne('time', '日期', ['today'=>'今天', 'yesterday'=>'昨天', 'last_week'=>'上周'], function($query, $value){
+
+ $value = current($value);
+ $where = [];
+ });
});
-
// 每页1条
$grid->paginate(10);
$grid->disableCreateButton();
diff --git a/app/Admin/Metrics/Examples/Order/OrderReportCard.php b/app/Admin/Metrics/Examples/Order/OrderReportCard.php
new file mode 100644
index 0000000..892d4ba
--- /dev/null
+++ b/app/Admin/Metrics/Examples/Order/OrderReportCard.php
@@ -0,0 +1,147 @@
+data = [];
+
+ parent::__construct();
+ }
+
+ protected function init()
+ {
+ parent::init();
+
+ // 设置标题
+ $this->title('现存用户总数(人)');
+
+ // 设置下拉菜单
+ $today = date('Y-m-d');
+ $monthBefore = date("Y-m-d",strtotime("-1 weeks",strtotime($today)));
+ $timeData = Common::periodDateArr($monthBefore,$today);
+
+ $this->dropdown($timeData);
+ }
+
+ /**
+ * 处理请求.
+ *
+ * @param Request $request
+ *
+ * @return void
+ */
+ public function handle(Request $request)
+ {
+ // 获取外部传递的自定义参数
+ $key1 = $request->get('key1');
+
+ switch ($request->get('option')) {
+ case '365':
+ $this->content(mt_rand(600, 1500));
+ $this->down(mt_rand(1, 30));
+ break;
+ case '30':
+ $this->content(mt_rand(170, 250));
+ $this->up(mt_rand(12, 50));
+ break;
+ case '28':
+ $this->content(mt_rand(155, 200));
+ $this->up(mt_rand(5, 50));
+ break;
+ case '7':
+ default:
+ $this->content(143);
+ $this->up(15);
+ }
+ }
+
+ // 传递自定义参数到 handle 方法
+ public function parameters() : array
+ {
+ return $this->data;
+ }
+
+ /**
+ * @param int $percent
+ *
+ * @return $this
+ */
+ public function up($percent)
+ {
+ return $this->footer(
+ " {$percent}% Increase"
+ );
+ }
+
+ /**
+ * @param int $percent
+ *
+ * @return $this
+ */
+ public function down($percent)
+ {
+ return $this->footer(
+ " {$percent}% Decrease"
+ );
+ }
+
+ /**
+ * 设置卡片底部内容
+ *
+ * @param string|Renderable|\Closure $footer
+ *
+ * @return $this
+ */
+ public function footer($footer)
+ {
+ $this->footer = $footer;
+
+ return $this;
+ }
+
+ /**
+ * 渲染卡片内容.
+ *
+ * @return string
+ */
+ public function renderContent()
+ {
+ $content = parent::renderContent();
+
+ return <<
+
{$content}
+
+
+ {$this->renderFooter()}
+
+HTML;
+ }
+
+ /**
+ * @return string
+ */
+ public function renderFooter()
+ {
+ return $this->toString($this->footer);
+ }
+}
\ No newline at end of file
diff --git a/app/Admin/Repositories/v3/OrderReport.php b/app/Admin/Repositories/v3/OrderReport.php
index 191ad2b..ad5b836 100644
--- a/app/Admin/Repositories/v3/OrderReport.php
+++ b/app/Admin/Repositories/v3/OrderReport.php
@@ -36,6 +36,9 @@ class OrderReport extends EloquentRepository
$endTime = request()->input('end_time');
$time = date('Y-m-d',time());
+
+ $today = $time;
+ $yesterday = date("Y-m-d",strtotime("-1 days",strtotime($today)));
// 日期
// $date = request()->input('day');
// if(!empty($date)){
diff --git a/app/Admin/routes.php b/app/Admin/routes.php
index a729727..b79a123 100644
--- a/app/Admin/routes.php
+++ b/app/Admin/routes.php
@@ -85,5 +85,6 @@ Route::group([
// 订单统计
$router->resource('/order_report', 'v3\OrderReportController');
+ // $router->any('/order_report', 'v3\OrderReportController@index');
});
From 3d23ad4000710016dfbc2cb3140d79df01c5dc80 Mon Sep 17 00:00:00 2001
From: liangyuyan <1103300295@qq.com>
Date: Fri, 25 Sep 2020 11:38:14 +0800
Subject: [PATCH 5/8] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BB=9F=E8=AE=A1-?=
=?UTF-8?q?=E5=8A=A0=E5=BF=AB=E6=8D=B7=E6=90=9C=E7=B4=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Controllers/v3/OrderReportController.php | 53 ++++++++++++++-----
1 file changed, 41 insertions(+), 12 deletions(-)
diff --git a/app/Admin/Controllers/v3/OrderReportController.php b/app/Admin/Controllers/v3/OrderReportController.php
index 7bb8336..32eebb5 100644
--- a/app/Admin/Controllers/v3/OrderReportController.php
+++ b/app/Admin/Controllers/v3/OrderReportController.php
@@ -10,7 +10,7 @@ use Dcat\Admin\Grid\Filter;
class OrderReportController extends AdminController
{
- public static $searchTime = '';
+ public static $searchTime = [];
/**
* Make a grid builder.
*
@@ -20,7 +20,7 @@ class OrderReportController extends AdminController
{
return Grid::make(new OrderReport(), function (Grid $grid) {
-
+
$marketList = MarketModel::getMarketArray();
$grid->combine('默认统计今天的数据', ['name', 'value'])->responsive()->help('如果未选择时间,则默认只统计当天的所有市场的数据,特殊:现存用户默认统计所有的数据');
@@ -28,25 +28,54 @@ class OrderReportController extends AdminController
$grid->column('name');
$grid->column('value');
- $grid->filter(function (Filter $filter) use($marketList){
+ $grid->filter(function (Filter $filter) use($marketList) {
// 更改为 panel 布局
$filter->panel();
$filter->equal('market_id','市场')->select($marketList);
$filter->equal('start_time','开始时间')->date();
$filter->equal('end_time','结束时间')->date();
-
- // $today = date('Y-m-d');
- // $monthBefore = date("Y-m-d",strtotime("-1 months",strtotime($today)));
- // $timeData = $this->periodDateArr($monthBefore,$today);
- // $filter->equal('day','日期')->select($timeData)->default($today);
-
+
});
$grid->selector(function (Grid\Tools\Selector $selector) {
- $selector->selectOne('time', '日期', ['today'=>'今天', 'yesterday'=>'昨天', 'last_week'=>'上周'], function($query, $value){
-
- $value = current($value);
+ $today = date('Y-m-d');
+ $selector->selectOne('time', '选择日期', ['today'=>'今天', 'yesterday'=>'昨天', 'last_week'=>'上周','last_month'=>'上月'], function($query, $value) use($today){
$where = [];
+
+ //上月初
+ $lastMonthStart = date('Y-m-d', strtotime('-1 month', strtotime(date('Y-m', time()) . '-01')));
+ // 上月底
+ $lastMonthEnd = date('Y-m-d', strtotime(date('Y-m', time()) . '-01') - 86400);
+ dd([$lastMonthStart,$lastMonthEnd]);
+
+ switch($value){
+ case 'today':
+ $where['start_time'] = $today;
+ $where['end_time'] = $today;
+ break;
+ case 'yesterday':
+ $yesterday = date("Y-m-d",strtotime("-1 days",strtotime($today)));
+ $where['start_time'] = $yesterday;
+ $where['end_time'] = $yesterday;
+ break;
+ case 'last_week':
+ //上周日
+ $lastSunday = date('Y-m-d', strtotime('-1 sunday', time()));
+ // 上周一
+ $lastMonday = date('Y-m-d', strtotime('-1 monday', strtotime($lastSunday)));
+ $where['start_time'] = $lastMonday;
+ $where['end_time'] = $lastSunday;
+ break;
+ case 'last_week':
+ //上月初
+ $lastMonthStart = date('Y-m-d', strtotime('-1 month', strtotime(date('Y-m', time()) . '-01')));
+ // 上月底
+ $lastMonthEnd = date('Y-m-d', strtotime(date('Y-m', time()) . '-01') - 86400);
+ $where['start_time'] = $lastMonthStart;
+ $where['end_time'] = $lastMonthEnd;
+ break;
+ }
+ self::$searchTime = $where;
});
});
// 每页1条
From 9eff1d70ff5bb5699c0dbf46955c72bc63269ab9 Mon Sep 17 00:00:00 2001
From: liangyuyan <1103300295@qq.com>
Date: Fri, 25 Sep 2020 11:38:45 +0800
Subject: [PATCH 6/8] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BB=9F=E8=AE=A1-?=
=?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=80=89=E6=8B=A9=E5=BF=AB=E6=8D=B7=E6=97=A5?=
=?UTF-8?q?=E6=9C=9F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Admin/Repositories/v3/OrderReport.php | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/app/Admin/Repositories/v3/OrderReport.php b/app/Admin/Repositories/v3/OrderReport.php
index ad5b836..b21d012 100644
--- a/app/Admin/Repositories/v3/OrderReport.php
+++ b/app/Admin/Repositories/v3/OrderReport.php
@@ -37,14 +37,12 @@ class OrderReport extends EloquentRepository
$time = date('Y-m-d',time());
- $today = $time;
- $yesterday = date("Y-m-d",strtotime("-1 days",strtotime($today)));
- // 日期
- // $date = request()->input('day');
- // if(!empty($date)){
- // $startTime = $date;
- // $endTime = $date;
- // }
+ $searchTime = OrderReportController::$searchTime;
+ // dd($searchTime);
+ if(!empty($searchTime)){
+ $startTime = $searchTime['start_time'];
+ $endTime = $searchTime['end_time'];
+ }
$orderMainOnline = OrderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5])->where('type',OrderMainModel::ORDER_TYPE_ONLINE);
$orderMainOffline = OrderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5])->where('type',OrderMainModel::ORDER_TYPE_OFFLINE);
From 0cef036cb7a077cc333d5e3e08b96bf8942fde12 Mon Sep 17 00:00:00 2001
From: liangyuyan <1103300295@qq.com>
Date: Fri, 25 Sep 2020 15:08:20 +0800
Subject: [PATCH 7/8] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BB=9F=E8=AE=A1--?=
=?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BF=AB=E6=8D=B7=E9=80=89=E6=8B=A9=E6=97=A5?=
=?UTF-8?q?=E6=9C=9F=E6=9F=A5=E8=AF=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/Admin/Controllers/v3/OrderReportController.php | 8 +-------
app/Admin/Repositories/v3/OrderReport.php | 11 +++++------
2 files changed, 6 insertions(+), 13 deletions(-)
diff --git a/app/Admin/Controllers/v3/OrderReportController.php b/app/Admin/Controllers/v3/OrderReportController.php
index 32eebb5..a4179df 100644
--- a/app/Admin/Controllers/v3/OrderReportController.php
+++ b/app/Admin/Controllers/v3/OrderReportController.php
@@ -42,12 +42,6 @@ class OrderReportController extends AdminController
$selector->selectOne('time', '选择日期', ['today'=>'今天', 'yesterday'=>'昨天', 'last_week'=>'上周','last_month'=>'上月'], function($query, $value) use($today){
$where = [];
- //上月初
- $lastMonthStart = date('Y-m-d', strtotime('-1 month', strtotime(date('Y-m', time()) . '-01')));
- // 上月底
- $lastMonthEnd = date('Y-m-d', strtotime(date('Y-m', time()) . '-01') - 86400);
- dd([$lastMonthStart,$lastMonthEnd]);
-
switch($value){
case 'today':
$where['start_time'] = $today;
@@ -66,7 +60,7 @@ class OrderReportController extends AdminController
$where['start_time'] = $lastMonday;
$where['end_time'] = $lastSunday;
break;
- case 'last_week':
+ case 'last_month':
//上月初
$lastMonthStart = date('Y-m-d', strtotime('-1 month', strtotime(date('Y-m', time()) . '-01')));
// 上月底
diff --git a/app/Admin/Repositories/v3/OrderReport.php b/app/Admin/Repositories/v3/OrderReport.php
index b21d012..c18e3b9 100644
--- a/app/Admin/Repositories/v3/OrderReport.php
+++ b/app/Admin/Repositories/v3/OrderReport.php
@@ -32,18 +32,17 @@ class OrderReport extends EloquentRepository
public function get(GridModel $model)
{
$marketId = request()->input('market_id');
- $startTime = request()->input('start_time');
- $endTime = request()->input('end_time');
-
$time = date('Y-m-d',time());
$searchTime = OrderReportController::$searchTime;
- // dd($searchTime);
if(!empty($searchTime)){
$startTime = $searchTime['start_time'];
$endTime = $searchTime['end_time'];
+ }else{
+ $startTime = request()->input('start_time');
+ $endTime = request()->input('end_time');
}
-
+
$orderMainOnline = OrderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5])->where('type',OrderMainModel::ORDER_TYPE_ONLINE);
$orderMainOffline = OrderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5])->where('type',OrderMainModel::ORDER_TYPE_OFFLINE);
// 旧商户流水
@@ -138,7 +137,7 @@ class OrderReport extends EloquentRepository
$storeNewUserNewThree->where([['created_at','<=',strtotime($todayEnd)]]);
$storeNewUserNewFour->where([['created_at','<=',strtotime($todayEnd)]]);
}
-
+
// 订单总额
$orderReportOnline = $orderMainOnline->get()->toArray();
$orderReportOffline = $orderMainOffline->get()->toArray();
From a6db7e59ec29cc164bee42a35882c062baaea5f8 Mon Sep 17 00:00:00 2001
From: liangyuyan <1103300295@qq.com>
Date: Fri, 25 Sep 2020 15:41:26 +0800
Subject: [PATCH 8/8] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BB=9F=E8=AE=A1?=
=?UTF-8?q?=E6=9F=A5=E8=AF=A2--=E4=BC=98=E5=8C=96=E5=BF=AB=E6=8D=B7?=
=?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=97=A5=E6=9C=9F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Actions/Grid/v3/GoodsActivitySetting.php | 2 +-
.../Actions/Grid/v3/OrderReportLastMonth.php | 78 ++++++++++++++++++
.../Actions/Grid/v3/OrderReportLastWeek.php | 79 ++++++++++++++++++
.../Actions/Grid/v3/OrderReportToday.php | 77 +++++++++++++++++
.../Actions/Grid/v3/OrderReportYesterday.php | 78 ++++++++++++++++++
.../Controllers/v3/OrderReportController.php | 82 ++++++++++---------
app/Admin/Repositories/v3/OrderReport.php | 17 ++--
7 files changed, 365 insertions(+), 48 deletions(-)
create mode 100644 app/Admin/Actions/Grid/v3/OrderReportLastMonth.php
create mode 100644 app/Admin/Actions/Grid/v3/OrderReportLastWeek.php
create mode 100644 app/Admin/Actions/Grid/v3/OrderReportToday.php
create mode 100644 app/Admin/Actions/Grid/v3/OrderReportYesterday.php
diff --git a/app/Admin/Actions/Grid/v3/GoodsActivitySetting.php b/app/Admin/Actions/Grid/v3/GoodsActivitySetting.php
index 068b7af..dcc437f 100644
--- a/app/Admin/Actions/Grid/v3/GoodsActivitySetting.php
+++ b/app/Admin/Actions/Grid/v3/GoodsActivitySetting.php
@@ -36,7 +36,7 @@ class GoodsActivitySetting extends AbstractTool
*/
// public function href()
// {
- // return admin_url('category/tie');
+ // return admin_url('/');
// }
/**
diff --git a/app/Admin/Actions/Grid/v3/OrderReportLastMonth.php b/app/Admin/Actions/Grid/v3/OrderReportLastMonth.php
new file mode 100644
index 0000000..1ff2557
--- /dev/null
+++ b/app/Admin/Actions/Grid/v3/OrderReportLastMonth.php
@@ -0,0 +1,78 @@
+response()
+ ->success('查询中~')
+ ->redirect('/order_report?start_time='.$lastMonthStart.'&end_time='.$lastMonthEnd);
+ }
+
+ /**
+ * @return string|void
+ */
+ // public function href()
+ // {
+ // return admin_url('/');
+ // }
+
+ /**
+ * @return string|array|void
+ */
+ public function confirm()
+ {
+ // return ['Confirm?', 'contents'];
+ }
+
+// protected function actionScript()
+// {
+
+// return <<response()
+ ->success('查询中~')
+ ->redirect('/order_report?start_time='.$lastMonday.'&end_time='.$lastSunday);
+ }
+
+ /**
+ * @return string|void
+ */
+ // public function href()
+ // {
+ // return admin_url('/');
+ // }
+
+ /**
+ * @return string|array|void
+ */
+ public function confirm()
+ {
+ // return ['Confirm?', 'contents'];
+ }
+
+// protected function actionScript()
+// {
+
+// return <<response()
+ ->success('查询中~')
+ ->redirect('/order_report?start_time='.$startTime.'&end_time='.$endTime);
+ }
+
+ /**
+ * @return string|void
+ */
+ // public function href()
+ // {
+ // return admin_url('/');
+ // }
+
+ /**
+ * @return string|array|void
+ */
+ public function confirm()
+ {
+ // return ['Confirm?', 'contents'];
+ }
+
+// protected function actionScript()
+// {
+
+// return <<response()
+ ->success('查询中~')
+ ->redirect('/order_report?start_time='.$startTime.'&end_time='.$endTime);
+ }
+
+ /**
+ * @return string|void
+ */
+ // public function href()
+ // {
+ // return admin_url('/');
+ // }
+
+ /**
+ * @return string|array|void
+ */
+ public function confirm()
+ {
+ // return ['Confirm?', 'contents'];
+ }
+
+// protected function actionScript()
+// {
+
+// return <<equal('market_id','市场')->select($marketList);
$filter->equal('start_time','开始时间')->date();
$filter->equal('end_time','结束时间')->date();
-
- });
- $grid->selector(function (Grid\Tools\Selector $selector) {
- $today = date('Y-m-d');
- $selector->selectOne('time', '选择日期', ['today'=>'今天', 'yesterday'=>'昨天', 'last_week'=>'上周','last_month'=>'上月'], function($query, $value) use($today){
- $where = [];
-
- switch($value){
- case 'today':
- $where['start_time'] = $today;
- $where['end_time'] = $today;
- break;
- case 'yesterday':
- $yesterday = date("Y-m-d",strtotime("-1 days",strtotime($today)));
- $where['start_time'] = $yesterday;
- $where['end_time'] = $yesterday;
- break;
- case 'last_week':
- //上周日
- $lastSunday = date('Y-m-d', strtotime('-1 sunday', time()));
- // 上周一
- $lastMonday = date('Y-m-d', strtotime('-1 monday', strtotime($lastSunday)));
- $where['start_time'] = $lastMonday;
- $where['end_time'] = $lastSunday;
- break;
- case 'last_month':
- //上月初
- $lastMonthStart = date('Y-m-d', strtotime('-1 month', strtotime(date('Y-m', time()) . '-01')));
- // 上月底
- $lastMonthEnd = date('Y-m-d', strtotime(date('Y-m', time()) . '-01') - 86400);
- $where['start_time'] = $lastMonthStart;
- $where['end_time'] = $lastMonthEnd;
- break;
- }
- self::$searchTime = $where;
- });
});
+
+ $grid->tools([new OrderReportToday(), new OrderReportYesterday(), new OrderReportLastWeek(), new OrderReportLastMonth()]);
+
// 每页1条
$grid->paginate(10);
$grid->disableCreateButton();
@@ -105,5 +75,41 @@ class OrderReportController extends AdminController
}
return array_reverse($arr);
+
+ // $grid->selector(function (Grid\Tools\Selector $selector) {
+ // $today = date('Y-m-d');
+ // $selector->selectOne('time', '选择日期', ['today'=>'今日', 'yesterday'=>'昨日', 'last_week'=>'上周','last_month'=>'上月'], function($query, $value) use($today){
+ // $where = [];
+
+ // switch($value){
+ // case 'today':
+ // $where['start_time'] = $today;
+ // $where['end_time'] = $today;
+ // break;
+ // case 'yesterday':
+ // $yesterday = date("Y-m-d",strtotime("-1 days",strtotime($today)));
+ // $where['start_time'] = $yesterday;
+ // $where['end_time'] = $yesterday;
+ // break;
+ // case 'last_week':
+ // //上周日
+ // $lastSunday = date('Y-m-d', strtotime('-1 sunday', time()));
+ // // 上周一
+ // $lastMonday = date('Y-m-d', strtotime('-1 monday', strtotime($lastSunday)));
+ // $where['start_time'] = $lastMonday;
+ // $where['end_time'] = $lastSunday;
+ // break;
+ // case 'last_month':
+ // //上月初
+ // $lastMonthStart = date('Y-m-d', strtotime('-1 month', strtotime(date('Y-m', time()) . '-01')));
+ // // 上月底
+ // $lastMonthEnd = date('Y-m-d', strtotime(date('Y-m', time()) . '-01') - 86400);
+ // $where['start_time'] = $lastMonthStart;
+ // $where['end_time'] = $lastMonthEnd;
+ // break;
+ // }
+ // self::$searchTime = $where;
+ // });
+ // });
}
}
diff --git a/app/Admin/Repositories/v3/OrderReport.php b/app/Admin/Repositories/v3/OrderReport.php
index c18e3b9..91eb627 100644
--- a/app/Admin/Repositories/v3/OrderReport.php
+++ b/app/Admin/Repositories/v3/OrderReport.php
@@ -33,15 +33,14 @@ class OrderReport extends EloquentRepository
{
$marketId = request()->input('market_id');
$time = date('Y-m-d',time());
-
- $searchTime = OrderReportController::$searchTime;
- if(!empty($searchTime)){
- $startTime = $searchTime['start_time'];
- $endTime = $searchTime['end_time'];
- }else{
- $startTime = request()->input('start_time');
- $endTime = request()->input('end_time');
- }
+ $startTime = request()->input('start_time');
+ $endTime = request()->input('end_time');
+
+ // $searchTime = OrderReportController::$searchTime;
+ // if(!empty($searchTime) && !($startTime || $endTime)){
+ // $startTime = $searchTime['start_time'];
+ // $endTime = $searchTime['end_time'];
+ // }
$orderMainOnline = OrderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5])->where('type',OrderMainModel::ORDER_TYPE_ONLINE);
$orderMainOffline = OrderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5])->where('type',OrderMainModel::ORDER_TYPE_OFFLINE);