From e310d1c145f4b8c3f2bd411b8d5f491c1c53ea5f Mon Sep 17 00:00:00 2001 From: Lemon <15040771@qq.com> Date: Wed, 9 Sep 2020 21:46:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=93=E9=9D=A2=E4=BB=98=E7=BA=BF=E4=B8=8A?= =?UTF-8?q?=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Controller/v3/OrderListController.php | 3 +- app/Model/v3/UserCollection.php | 14 +++++++++ .../Implementations/CollectStoreService.php | 7 +++-- .../v3/Implementations/OrderListService.php | 31 +++++-------------- .../Interfaces/OrderListServiceInterface.php | 2 +- 5 files changed, 27 insertions(+), 30 deletions(-) create mode 100644 app/Model/v3/UserCollection.php diff --git a/app/Controller/v3/OrderListController.php b/app/Controller/v3/OrderListController.php index f1cb99e..1a7f0d9 100644 --- a/app/Controller/v3/OrderListController.php +++ b/app/Controller/v3/OrderListController.php @@ -48,12 +48,11 @@ class OrderListController extends BaseController public function offlineForStore() { $storeId = $this->request->input('store_id',''); - $tab = $this->request->input('tab','all'); $page = $this->request->input('page',1); $pagesize = $this->request->input('pagesize',10); $startTime = $this->request->input('start_time',''); $endTime = $this->request->input('end_time',''); - $list = $this->orderListService->offlineByStore($storeId, $tab, $page, $pagesize,$startTime,$endTime); + $list = $this->orderListService->offlineByStore($storeId,$page, $pagesize,$startTime,$endTime); return $this->success($list); } diff --git a/app/Model/v3/UserCollection.php b/app/Model/v3/UserCollection.php new file mode 100644 index 0000000..1ac5cfb --- /dev/null +++ b/app/Model/v3/UserCollection.php @@ -0,0 +1,14 @@ +where('user_id',$userId)->pluck('market_id')->toArray(); - $storeIds = Db::table('lanzu_user_collection')->where('user_id',$userId)->pluck('store_id')->toArray(); + $marketIds = UserCollection::query()->where('user_id',$userId)->pluck('market_id')->toArray(); + $storeIds = UserCollection::query()->where('user_id',$userId)->pluck('store_id')->toArray(); $res = Market::query()->with(['stores' => function($query) use ($storeIds) { - $query->whereIn('lanzu_store.id',$storeIds); + $query->whereIn('id',$storeIds); }]) ->whereIn('id',$marketIds) ->get(); diff --git a/app/Service/v3/Implementations/OrderListService.php b/app/Service/v3/Implementations/OrderListService.php index 7b87e38..9c4fc14 100644 --- a/app/Service/v3/Implementations/OrderListService.php +++ b/app/Service/v3/Implementations/OrderListService.php @@ -81,14 +81,14 @@ class OrderListService implements OrderListServiceInterface switch ($tab) { case 'all': break; - case 'completed': - $builder->whereIn('lanzu_order_main.state', OrderState::FINISH); + case 'paid': + $builder->where('lanzu_order_main.state', OrderState::PAID); break; - case 'unpaid': - $builder->where(['lanzu_order_main.state' => OrderState::UNPAID]); + case 'delivery': + $builder->where(['lanzu_order_main.state' => OrderState::DELIVERY]); break; - case 'receiving': - $builder->whereIn('lanzu_order_main.state', OrderState::RECEIVING); + case 'finish': + $builder->whereIn('lanzu_order_main.state', OrderState::FINISH); break; case 'refund': $builder->whereIn('lanzu_order_main.state', OrderState::REFUND); @@ -126,30 +126,13 @@ class OrderListService implements OrderListServiceInterface return $res; } - public function offlineByStore($storeId, $tab, $page=1, $pagesize=10 ,$start_time = '',$end_time = '') + public function offlineByStore($storeId, $page=1, $pagesize=10 ,$start_time = '',$end_time = '') { $builder = Order::join('lanzu_order_main','lanzu_order.order_main_id','lanzu_order_main.id') ->where('store_id', $storeId) ->where('lanzu_order_main.type',4) ->with('user'); - switch ($tab) { - case 'all': - break; - case 'paid': - $builder->where('lanzu_order_main.state', OrderState::PAID); - break; - case 'delivery': - $builder->where(['lanzu_order_main.state' => OrderState::DELIVERY]); - break; - case 'finish': - $builder->whereIn('lanzu_order_main.state', OrderState::FINISH); - break; - case 'refund': - $builder->whereIn('lanzu_order_main.state', OrderState::REFUND); - break; - } - if(!empty($start_time) && !empty($end_time)){ $builder->whereBetween('lanzu_order_main.created_at',[strtotime($start_time.' 23:59:59'),strtotime($end_time.' 23:59:59')]); } diff --git a/app/Service/v3/Interfaces/OrderListServiceInterface.php b/app/Service/v3/Interfaces/OrderListServiceInterface.php index 4a24373..0855d42 100644 --- a/app/Service/v3/Interfaces/OrderListServiceInterface.php +++ b/app/Service/v3/Interfaces/OrderListServiceInterface.php @@ -9,6 +9,6 @@ interface OrderListServiceInterface public function undo(); public function onlineByUser($userId, $tab, $page=1, $pagesize=10); public function onlineByStore($storeId, $tab, $page, $pagesize); - public function offlineByStore($storeId, $tab, $page, $pagesize,$startTime = '',$endTime = ''); + public function offlineByStore($storeId, $page, $pagesize,$startTime = '',$endTime = ''); public function offlineByUser($userId, $page=1, $pagesize=10); } \ No newline at end of file