80 lines
1.9 KiB
PHP
80 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Domains\Virtual\Exports;
|
|
|
|
use App\Dicts;
|
|
use App\Core\AbstractExport;
|
|
use Dipper\Excel\Concerns\WithRows;
|
|
use Dipper\Excel\Concerns\FromQuery;
|
|
use Dipper\Excel\Concerns\Exportable;
|
|
use Dipper\Excel\Concerns\WithHeadings;
|
|
use Illuminate\Database\Eloquent\Collection;
|
|
use App\Domains\Virtual\Services\CardService;
|
|
use App\Domains\Virtual\Repositories\OrderCardRepository;
|
|
|
|
class CardExport extends AbstractExport implements FromQuery, WithHeadings, WithRows
|
|
{
|
|
public $conditions;
|
|
|
|
public function __construct(array $conditions = [])
|
|
{
|
|
$this->conditions = $conditions;
|
|
parent::__construct();
|
|
}
|
|
|
|
public function query()
|
|
{
|
|
set_time_limit(-1);
|
|
|
|
return app(OrderCardRepository::class)->withConditions($this->conditions)->applyConditions();
|
|
}
|
|
|
|
/**
|
|
* @param mixed $row
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function rows($rows)
|
|
{
|
|
$rows = new Collection($rows);
|
|
|
|
$carrierOperators = app(Dicts::class)->get('carrier_operator');
|
|
$cardStatus = app(Dicts::class)->get('card_status');
|
|
|
|
$rows = CardService::transformer($rows);
|
|
|
|
return $rows->only([
|
|
'id',
|
|
'sim',
|
|
'imsi',
|
|
'iccid',
|
|
'carrier_operator',
|
|
'company_name',
|
|
'package_name',
|
|
'virtual_activated_at',
|
|
'status_name',
|
|
'created_at',
|
|
'service_start_at',
|
|
'service_end_at',
|
|
])->values();
|
|
}
|
|
|
|
public function headings(): array
|
|
{
|
|
return [
|
|
'客户编号',
|
|
'SIM',
|
|
'IMSI',
|
|
'ICCID',
|
|
'运营商',
|
|
'企业名称',
|
|
'套餐名称',
|
|
'激活时间',
|
|
'状态',
|
|
'创建时间',
|
|
'服务开始时间',
|
|
'服务结束时间',
|
|
];
|
|
}
|
|
}
|