|
|
|
@ -197,16 +197,23 @@ class SearchService implements SearchServiceInterface |
|
|
|
// TODO: Implement undo() method.
|
|
|
|
} |
|
|
|
|
|
|
|
public function getStoresForPersonnel($marketId, $keywords, $page = 1, $pagesize = 10) |
|
|
|
public function getStoresForPersonnel($marketId, $ids,$keywords, $page = 1, $pagesize = 10) |
|
|
|
{ |
|
|
|
$market = Market::query()->withoutGlobalScope('normal')->find($marketId); |
|
|
|
$builder = Store::query()->where('market_id',$marketId); |
|
|
|
if(!is_null($ids)){ |
|
|
|
$builder->whereNotIn('id',$ids); |
|
|
|
} |
|
|
|
if(!is_null($keywords)){ |
|
|
|
$builder->where('name','like','%'.$keywords.'%'); |
|
|
|
} |
|
|
|
$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]; |
|
|
|
} |
|
|
|
} |