查询优化
This commit is contained in:
parent
db4e65e8f5
commit
0dccbc380b
@ -6,9 +6,11 @@ use App\Core\Service;
|
||||
use App\Models\Card\Card;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use App\Models\Virtual\OrderCardPartition;
|
||||
use Illuminate\Pagination\LengthAwarePaginator;
|
||||
use App\Domains\Card\Repositories\CardRepository;
|
||||
use App\Domains\Virtual\Repositories\OrderCardPartitionRepository;
|
||||
use App\Models\Virtual\OrderCardPartition;
|
||||
|
||||
class CardService extends Service
|
||||
{
|
||||
@ -40,15 +42,23 @@ class CardService extends Service
|
||||
$conditions['type'] = 0;
|
||||
|
||||
if (isset($conditions['card_status'])) {
|
||||
$conditions['sim'] = $this->getSimArrayByCardStatus($conditions['card_status'], $limit);
|
||||
$res = $this->listByCardStatus($conditions['card_status'], $limit);
|
||||
$total = $res->total();
|
||||
$conditions['sim'] = $res->pluck('sim')->toArray();
|
||||
} else {
|
||||
$total = $this->orderCardPartitionRepository->withConditions($conditions)->applyConditions()->count();
|
||||
}
|
||||
|
||||
$cards = $this->orderCardPartitionRepository->withConditions($conditions)->applyConditions()->paginate($limit);
|
||||
$page = Request::get('page');
|
||||
|
||||
return static::transformer($cards);
|
||||
$cards = $this->orderCardPartitionRepository->withConditions($conditions)->applyConditions()->forPage($page, $limit)->get();
|
||||
|
||||
$cards = static::transformer($cards);
|
||||
|
||||
return new LengthAwarePaginator($cards, $total, $limit);
|
||||
}
|
||||
|
||||
public static function getSimArrayByCardStatus(int $card_status, $limit = 0)
|
||||
public static function listByCardStatus(int $card_status, $limit = 0)
|
||||
{
|
||||
switch ($card_status) {
|
||||
case 0:
|
||||
@ -90,7 +100,7 @@ class CardService extends Service
|
||||
break;
|
||||
}
|
||||
|
||||
return array_pluck($res->items(), 'sim');
|
||||
return $res;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user