|
|
@ -58,14 +58,21 @@ class StoreService implements StoreServiceInterface |
|
|
->first(); |
|
|
->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); |
|
|
$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(); |
|
|
$stores = $paginate->toArray(); |
|
|
$market->stores = $stores['data']; |
|
|
$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) |
|
|
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); |
|
|
$paginate = $builder->groupBy(''.$storeTable.'.id')->orderByDesc($storeTable.'.sales')->paginate($pagesize); |
|
|
$stores = $paginate->map(function ($item, $key) { |
|
|
$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; |
|
|
return $item; |
|
|
})->all(); |
|
|
})->all(); |
|
|
|
|
|
|
|
|
|