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);