|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/lecturebazaar.com/app/Exports/ |
Upload File : |
<?php
namespace App\Exports;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\WithMapping;
class CashbackTransactionsExport implements FromCollection, WithHeadings, WithMapping
{
protected $transactions;
public function __construct($transactions)
{
$this->transactions = $transactions;
}
/**
* @return Collection
*/
public function collection()
{
return $this->transactions;
}
/**
* @inheritDoc
*/
public function headings(): array
{
return [
trans('admin/main.user'),
trans('admin/main.product'),
trans('update.target_type'),
trans('admin/main.description'),
trans('admin/main.amount'),
trans('update.cashback_amount'),
trans('admin/main.date'),
];
}
/**
* @inheritDoc
*/
public function map($transaction): array
{
$product = null;
$targetType = null;
if (!empty($transaction->webinar_id)) {
$product = '#' . $transaction->webinar_id . ' - ' . (!empty($transaction->webinar) ? $transaction->webinar->title : '');
$targetType = trans('update.target_types_courses');
} else if (!empty($transaction->bundle_id)) {
$product = '#' . $transaction->bundle_id . ' - ' . (!empty($transaction->bundle) ? $transaction->bundle->title : '');
$targetType = trans('update.target_types_bundles');
} else if (!empty($transaction->product_id)) {
$product = '#'. $transaction->product_id . ' - ' . (!empty($transaction->product) ? $transaction->product->title : '');
$targetType = trans('update.target_types_store_products');
} else if (!empty($transaction->meeting_time_id)) {
$product = '#'. $transaction->meeting_time_id . ' - ' . trans('admin/main.meeting');
$targetType = trans('update.target_types_meetings');
} else if (!empty($transaction->subscribe_id)) {
$product = trans('admin/main.purchased_subscribe');
$targetType = trans('update.target_types_subscription_packages');
} else if (!empty($transaction->promotion_id)) {
} else if (!empty($transaction->registration_package_id)) {
$product = trans('update.purchased_registration_package');
$targetType = trans('update.target_types_registration_packages');
}
return [
$transaction->user->full_name,
$product,
$targetType,
$transaction->description,
handlePrice($transaction->purchase_amount),
handlePrice($transaction->amount),
dateTimeFormat($transaction->created_at, 'j M Y'),
];
}
}