From 0dccbc380b4770199500edb95cc50de2865f0c62 Mon Sep 17 00:00:00 2001 From: denghy Date: Fri, 10 May 2019 16:26:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Domains/Virtual/Services/CardService.php | 22 ++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/app/Domains/Virtual/Services/CardService.php b/app/Domains/Virtual/Services/CardService.php index d3ac9e30..93b7a7cf 100644 --- a/app/Domains/Virtual/Services/CardService.php +++ b/app/Domains/Virtual/Services/CardService.php @@ -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; } /**