vd/app/Domains/Stats/Exports/CompanyCountExport.php
2018-12-29 17:36:56 +08:00

54 lines
1.3 KiB
PHP

<?php
namespace App\Domains\Stats\Exports;
use Dipper\Excel\Concerns\Exportable;
use Dipper\Excel\Concerns\WithHeadings;
use Dipper\Excel\Concerns\FromCollection;
use App\Domains\Stats\Services\CompanyCountService;
class CompanyCountExport extends AbstractExport implements FromCollection, WithHeadings
{
use Exportable;
public $conditions;
public function __construct(array $conditions = [])
{
$this->conditions = $conditions;
parent::__construct();
}
public function collection()
{
set_time_limit(-1);
$companies = app(CompanyCountService::class)->index($this->conditions)->toArray();
$companies = collect($companies);
$companies->push([
'',
'总计',
array_sum($companies->pluck('total')->toArray()),
array_sum($companies->pluck('counts')->toArray()),
array_sum($companies->pluck('renewed_counts')->toArray()),
array_sum($companies->pluck('valid_counts')->toArray()),
]);
return $companies;
}
public function headings(): array
{
return [
'企业ID',
'企业名称',
'总用户数',
'新增用户数',
'续费用户数',
'服务期内用户数',
];
}
}