From 60dd636b9e730e37961e59edb867d3e8eb940d16 Mon Sep 17 00:00:00 2001 From: lanzu_qinsheng <334039090@qq.com> Date: Mon, 28 Sep 2020 18:14:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=AE=A2=E5=8D=95=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Actions/Tools/ShowOrderStateHandle.php | 8 ++++-- .../ImsCjdcOrderMainController.php | 4 ++- app/Admin/Repositories/ImsCjdcOrderMain.php | 10 ++++++++ app/Models/ImsCjdcOrderMain.php | 25 ++++++++++++------- 4 files changed, 35 insertions(+), 12 deletions(-) diff --git a/app/Admin/Actions/Tools/ShowOrderStateHandle.php b/app/Admin/Actions/Tools/ShowOrderStateHandle.php index e18493d..7730bc7 100644 --- a/app/Admin/Actions/Tools/ShowOrderStateHandle.php +++ b/app/Admin/Actions/Tools/ShowOrderStateHandle.php @@ -18,7 +18,7 @@ class ShowOrderStateHandle extends AbstractTool protected function script() { if ($this->state){ - $url = "order?state=".$this->state.'&'."time=".(time()-(7*86400)); + $url = "order?order_state=".$this->state.'&'."time=".(time()-(7*86400)); }else{ $url = "order"; } @@ -37,9 +37,13 @@ JS; $title = "退款申请(".$count.")"; }elseif ($this->state==2){ $title = "待接单(".$count.")"; + }elseif ($this->state==3){ + $title = "待发货(".$count.")"; + }elseif ($this->state==311){ + $title = "配送中(".$count.")"; } Admin::script($this->script()); - return "state}\">{$title}"; + return ""; } diff --git a/app/Admin/Controllers/ImsCjdcOrderMainController.php b/app/Admin/Controllers/ImsCjdcOrderMainController.php index a1d8b9e..4402c77 100644 --- a/app/Admin/Controllers/ImsCjdcOrderMainController.php +++ b/app/Admin/Controllers/ImsCjdcOrderMainController.php @@ -41,6 +41,8 @@ class ImsCjdcOrderMainController extends AdminController //>>5.打印功能 //>6.退款 $grid->tools(new ShowOrderStateHandle(2)); + $grid->tools(new ShowOrderStateHandle(3)); + $grid->tools(new ShowOrderStateHandle(311)); $grid->tools(new ShowOrderStateHandle(8)); $grid->tools(new ShowOrderStateHandle()); $grid->paginate(10);//每页展示数据10条 @@ -108,7 +110,7 @@ class ImsCjdcOrderMainController extends AdminController $filter->between('created_at','下单时间')->datetime(); $filter->between('money','订单金额'); $filter->equal('state','订单状态')->select( - [1=>'待付款',2=>'待接单',4=>'已完成',6=>'已取消',8=>'退款中',9=>'已退款',10=>'退款拒绝'] + [1=>'待付款',4=>'已完成',6=>'已取消',9=>'已退款',10=>'退款拒绝'] ); $filter->disableResetButton(); diff --git a/app/Admin/Repositories/ImsCjdcOrderMain.php b/app/Admin/Repositories/ImsCjdcOrderMain.php index 55fe63b..d544e26 100644 --- a/app/Admin/Repositories/ImsCjdcOrderMain.php +++ b/app/Admin/Repositories/ImsCjdcOrderMain.php @@ -5,6 +5,7 @@ namespace App\Admin\Repositories; use App\Models\ImsCjdcOrderMain as Model; use Dcat\Admin\Grid; use Dcat\Admin\Repositories\EloquentRepository; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Session; class ImsCjdcOrderMain extends EloquentRepository @@ -20,6 +21,7 @@ class ImsCjdcOrderMain extends EloquentRepository { $builder = new \App\Models\ImsCjdcOrderMain(); $time = request()->input('time'); + $state = request()->input('order_state')??false; $builder = $builder::leftJoin('lanzu_user','lanzu_user.id','lanzu_order_main.user_id') ->with('market') ->select('lanzu_order_main.*','lanzu_user.nick_name') @@ -28,6 +30,14 @@ class ImsCjdcOrderMain extends EloquentRepository if ($time){ $builder = $builder->where('lanzu_order_main.created_at','>',$time); } + + if ($state==3){ + $builder = $builder->where('state',$state)->where('shipping_type',1)->where('horseman_id',0); + }elseif ($state==311){ + $builder = $builder->where('state',3)->where('shipping_type',1)->where('horseman_id','>',0); + }else{ + $state !=false?$builder->where('state',$state):false; + } $this->setSort($model); $this->setPaginate($model); diff --git a/app/Models/ImsCjdcOrderMain.php b/app/Models/ImsCjdcOrderMain.php index 54d8fcd..eaefec5 100644 --- a/app/Models/ImsCjdcOrderMain.php +++ b/app/Models/ImsCjdcOrderMain.php @@ -113,20 +113,27 @@ class ImsCjdcOrderMain extends Model return $order; } + /** + * 根据订单状态统计数量 + * @param $state + * @param null $marketId + * @return mixed + */ public static function getOrderStateCount($state, $marketId = null) { + $builder = self::where('type', 1) + ->where('created_at','>=',time()-(7*86400)); if ($marketId) { - $count = self::where('state', $state) - ->where('type', 1) - ->where('created_at','>=',time()-(7*86400)) - ->where('market_id',$marketId) - ->count(); + $builder = $builder->where('market_id',$marketId); + } + if ($state==3){ + $builder = $builder->where('state',$state)->where('shipping_type',1)->where('horseman_id',0); + }elseif ($state==311){ + $builder = $builder->where('state',3)->where('shipping_type',1)->where('horseman_id','>',0); }else{ - $count = self::where('state', $state) - ->where('type', 1) - ->where('created_at','>=',time()-(7*86400)) - ->count(); + $builder = $builder->where('state',$state); } + $count = $builder->count(); return $count; } }