|
|
<?php
namespace App\Service\v3\Implementations;
use App\Model\v3\Market;use App\Model\v3\Store;use App\Service\v3\Interfaces\StoreServiceInterface;
class StoreService implements StoreServiceInterface{
public function do() { // TODO: Implement do() method.
}
public function check($storeId) { $store = Store::query()->where([ ['id','=',$storeId], ['is_rest','=',0], ['status','=',2] ]) ->select('time1','time2','time3','time4') ->first(); if(!empty($store)){ $nowTime = time(); $startTime = strtotime(($store->time1)); if(!empty($store->time3) && !empty($store->time4)){ $time4 = strtotime(($store->time4)); $endTime = $time4; }else{ $time2 = strtotime(($store->time2)); $endTime = $time2; } if($nowTime > $startTime && $nowTime < $endTime){ return true; } } return false; }
public function undo() { // TODO: Implement undo() method.
}
public function detail($storeId) { return Store::query() ->with('market') ->where('id',$storeId) ->first(); }
public function getList($marketId, $page=1, $pagesize=10) { $market = Market::query()->withoutGlobalScope('normal')->find($marketId); $builder = Store::query(); $paginate = $builder->where('market_id',$marketId)->paginate($pagesize); $stores = $paginate->toArray(); $market->stores = $stores['data']; return ['has_more_pages' => $paginate->hasMorePages(), 'market' => $market]; }
public function getListByMarketId($marketId, $page=1, $pagesize=10) { $builder = Store::query(); $paginate = $builder->where('market_id',$marketId)->with(['goods' => function($query){ $query->where(function ($query){ $query->where('inventory', '>', 0)->orWhere('is_infinite', '=', 1); }); }])->orderByDesc('sales')->paginate($pagesize); $storeList = $paginate->toArray(); return ['has_more_pages' => $paginate->hasMorePages(), 'store_list' => $storeList['data']]; }}
|