查询优化
This commit is contained in:
parent
db4e65e8f5
commit
0dccbc380b
@ -6,9 +6,11 @@ use App\Core\Service;
|
|||||||
use App\Models\Card\Card;
|
use App\Models\Card\Card;
|
||||||
use Illuminate\Support\Carbon;
|
use Illuminate\Support\Carbon;
|
||||||
use Illuminate\Support\Facades\DB;
|
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\Card\Repositories\CardRepository;
|
||||||
use App\Domains\Virtual\Repositories\OrderCardPartitionRepository;
|
use App\Domains\Virtual\Repositories\OrderCardPartitionRepository;
|
||||||
use App\Models\Virtual\OrderCardPartition;
|
|
||||||
|
|
||||||
class CardService extends Service
|
class CardService extends Service
|
||||||
{
|
{
|
||||||
@ -40,15 +42,23 @@ class CardService extends Service
|
|||||||
$conditions['type'] = 0;
|
$conditions['type'] = 0;
|
||||||
|
|
||||||
if (isset($conditions['card_status'])) {
|
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) {
|
switch ($card_status) {
|
||||||
case 0:
|
case 0:
|
||||||
@ -90,7 +100,7 @@ class CardService extends Service
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return array_pluck($res->items(), 'sim');
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user