| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -58,14 +58,21 @@ class StoreService implements StoreServiceInterface | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            ->first(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    public function getList($marketId, $page=1, $pagesize=10) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    public function getList($marketId,$ids = [], $page=1, $pagesize=10) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        $market = Market::query()->withoutGlobalScope('normal')->find($marketId); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        $builder = Store::query(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        $paginate = $builder->where('market_id',$marketId)->orderBy('is_rest', 'asc')->paginate($pagesize); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        $builder = Store::query()->where('market_id',$marketId); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if(!is_null($ids)){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            $builder->whereNotIn('id',$ids); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        $paginate = $builder->orderBy('is_rest', 'asc')->paginate($pagesize); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        $stores = $paginate->toArray(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        $market->stores = $stores['data']; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        return ['has_more_pages' => $paginate->hasMorePages(), 'market' => $market]; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        $newIds = array_values(array_column($stores['data'], 'id')); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if(!is_null($ids)){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            $newIds = array_merge($newIds,$ids); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        return ['has_more_pages' => $paginate->hasMorePages(), 'market' => $market,'ids' => $newIds]; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    public function getListByMarketId($marketId, $page=1, $pagesize=10) | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -87,7 +94,12 @@ class StoreService implements StoreServiceInterface | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        $paginate = $builder->groupBy(''.$storeTable.'.id')->orderByDesc($storeTable.'.sales')->paginate($pagesize); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        $stores = $paginate->map(function ($item, $key) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            $item->goods; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            $item->goods = Goods::query() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                ->where('store_id',$item->id) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                ->where(function ($query){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    $query->where('inventory', '>', 0)->orWhere('is_infinite', '=', 1); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                }) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                ->limit(5)->get(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return $item; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        })->all(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |