vd/app/Domains/Virtual/Exports/CardExport.php
2019-01-03 14:26:32 +08:00

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',
'运营商',
'企业名称',
'套餐名称',
'激活时间',
'状态',
'创建时间',
'服务开始时间',
'服务结束时间',
];
}
}