with(['orderGoods', 'market']) ->where([ ['user_id','=',$userId], ['type','=',1] ]); switch ($tab) { case 'all': break; case 'completed': $builder->whereIn('state', OrderState::FINISH); break; case 'unpaid': $builder->where(['state' => OrderState::UNPAID]); break; case 'receiving': $builder->whereIn('state', OrderState::RECEIVING); break; case 'refund': $builder->whereIn('state', OrderState::REFUND); break; } $paginate = $builder->paginate($pagesize); $orders = $paginate->toArray(); return ['has_more_pages' => $paginate->hasMorePages(), 'orders' => $orders['data']]; } public function onlineByStore($storeId, $tab, $page=1, $pagesize=10) { $builder = Order::Join('lanzu_order_main','lanzu_order.order_main_id','lanzu_order_main.id') ->select( 'lanzu_order.*', 'lanzu_order_main.address', 'lanzu_order_main.name', 'lanzu_order_main.delivery_time_note', 'lanzu_order_main.shipping_type', 'lanzu_order_main.global_order_id' ) ->with('orderGoods') ->where('lanzu_order.store_id', $storeId) ->where('lanzu_order_main.type',1); $sw = [ 'all'=>'', 'completed'=> OrderState::FINISH, 'unpaid'=> OrderState::UNPAID, 'receiving' => OrderState::RECEIVING, 'refund' => OrderState::REFUND ]; switch ($tab) { case 'all': break; case 'completed': $builder->whereIn('lanzu_order_main.state', OrderState::FINISH); break; case 'unpaid': $builder->where(['lanzu_order_main.state' => OrderState::UNPAID]); break; case 'receiving': $builder->whereIn('lanzu_order_main.state', OrderState::RECEIVING); break; case 'refund': $builder->whereIn('lanzu_order_main.state', OrderState::REFUND); break; } $paginate = $builder->paginate($pagesize); $orders = $paginate->toArray(); $res = ['has_more_pages' => $paginate->hasMorePages(), 'orders' => $orders['data']]; foreach ($res['orders'] as &$v){ switch ($v['shipping_type']) { case 1: $v['delivery_text'] = '服务站配送'; break; case 2: $v['delivery_text'] = '达达配送'; break; } } return $res; } public function offlineByStore($storeId, $tab, $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 'completed': $builder->whereIn('lanzu_order_main.state', OrderState::FINISH); break; case 'unpaid': $builder->where(['lanzu_order_main.state' => OrderState::UNPAID]); break; case 'receiving': $builder->whereIn('lanzu_order_main.state', OrderState::RECEIVING); 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')]); } $paginate = $builder->paginate($pagesize); $orders = $paginate->toArray(); return ['has_more_pages' => $paginate->hasMorePages(), 'orders' => $orders['data']]; } }